LoginSignup
3
1

More than 3 years have passed since last update.

Javaで学習してきたこと(その1)Java開発の流れと全体像

Last updated at Posted at 2020-11-05

Javaの振り返り

Javaを勉強してきた内容を大まかに振り返りたいと思います。

Javaの環境構築

Javaを学習するにあたって必要または使用した環境(道具)
1.JDK
 Javaを作る際に必要な機能をまとめたもの
 参考:https://wa3.i-3-i.info/word15006.html
 インストール参考:https://eng-entrance.com/java-install-jdk-windows
2.Eclipse
 IDE(統合開発環境) → 実際にJavaを開発していくためのツール
 参考:https://www.sejuku.net/blog/72127
 インストール参考:https://techfun.cc/java/windows-eclipse-install.html
3.Eclipse日本語化パッケージ
 Eclipseを日本語で使用するためのもの
 インストール参照:https://www.javadrive.jp/eclipse3/install/index4.html

Java開発の流れ

環境(道具)が揃ったら次は開発の流れです。

1.ソースコードの作成

コンピューターへの命令文を書きます。
実際にメインの作業はここになります。
例えばこんな感じ

package abc;

public class Main {
    public static void main(String[] args) {
        System.out.println("はじめまして");
    }
}

※System.out.println("");とはコンソール(簡単に言うとコンピューターと会話が出来る場所)に表示するためのものです。
要するに「はじめまして」と表示させる命令文です。

2.コンパイル

上記で記述したソースコードをコンピューターが理解できる言葉に翻訳、
または文法が間違っていないかなどのチェックをしてくれます。
こちらはEclipseで行ってくれます。文法が間違っていた場合はソースコードを修正します。

3.実行

ソースコードで指示した内容でコンピューターが動作します。
上記のソースコードでコンソール(コンピューターと会話が出来る場所)
という部分に「はじめまして」と表示されます。
スクリーンショット 2020-11-04 115350.png

Javaの構成イメージ

※個人的な感覚で書かせていただきます。
Javaでシステムを開発していくイメージとしては「箱を作っていく」です。
スクリーンショット 2020-11-04 140545.png
※イメージしずらかったらごめんなさい。
プロジェクトというシステム全体の「箱」を作ります。
その中にパッケージという「箱」を作って、、、
とそれぞれの「箱」を作っていきます。
先ほどのコードでいうと、、、

package abc;

public class Main {
    public static void main(String[] args) {
        System.out.println("はじめまして");
    }
}

スクリーンショット 2020-11-04 151037.png
プロジェクトは全体を囲む「箱」なので表示されませんが
abcパッケージ(1行目)内にあるMainクラス(3行目)の
mainメソッド(4行目)を使用していることがわかるかと思います。

試しに作ってみる

それぞれの「箱」について「会社」に例えてみたいと思う。
今回は図の「会社(プロジェクト)」と書かれている部分を
作っていきたいと思います。
※下記イメージ図
スクリーンショット 2020-11-05 115146.png
はじめに受付(Mainクラス)のmainメソッドで受付を行い、
システム開発部のengineerメソッドを呼び出して作って
もらいたいモノを伝えて作ってもらうというシステムです。
※言葉遊びみたいな感じで見てください!

受付(Mainクラス)

package generalAffairsDepartment;

import systemDevelopmentDepartment.FirstDivision;

public class Main {
    public static void main(String[] args) {
        System.out.println("受付:はじめまして、どのようなご用件でしょうか?");

        //自分の名前と呼び出す相手を入力します。
        System.out.println("あなたの名前を入力してください。");
        String yourName = new java.util.Scanner(System.in).nextLine();
        System.out.println("呼び出す相手を入力してください。");
        String callerName = new java.util.Scanner(System.in).nextLine();

        System.out.println("自分:私、" + yourName + "と申します。");
        System.out.println("自分:" + callerName + "様はいらっしゃいますでしょうか?");
        System.out.println("受付:" + callerName + "ですね?");
        System.out.println("受付:お呼びいたしますのでこちらでお待ちください");

        //ここでシステム開発部のengineerメソッドを呼び出します。
        String requestDetails = FirstDivision.engineer(yourName, callerName);

        System.out.println("数時間後、、、");
        System.out.println(callerName + ":お待たせしました。");
        System.out.println(callerName + ":" + requestDetails + "が完成しました。");
        System.out.println("自分:ありがとうございました。");
    }
}

※FirstDivision.engineer(yourName, callerName);という部分で
engineerメソッドを呼び出します。

システム開発部第一課(FirstDivisionクラス)

package systemDevelopmentDepartment;

public class FirstDivision {
    public static String engineer(String yourName, String callerName) {
        System.out.println(callerName + ":はじめまして、" + callerName + "と申します。");
        System.out.println(callerName + ":どういったご用件でしょうか?");
        System.out.println("作ってもらいたいものを入力してください。");

        //エンジニアに何を作って欲しいかを入力します。
        String requestDetails = new java.util.Scanner(System.in).nextLine();

        System.out.println("自分;" + requestDetails + "を作っていただきたいです。");
        System.out.println(callerName + ":承知いたしました。" + requestDetails + "ですね?");
        System.out.println(callerName + ":受付でお待ちください。");

        //作られたものをmainメソッドに返します。
        return requestDetails;
    }
}

実行、入力結果(コンソールに表示される内容)
スクリーンショット 2020-11-05 113759.png
mainメソッドとengineerメソッドを一つのクラスにまとめることも可能ですが、
今回はパッケージやクラスに役割を持たせることを見ていただきたかったので
このような形を取りました。

次回は「変数」について書いていきたいと思います!

3
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1