Java言語でプログラミングを行うために2 ~プログラミング実行までの流れ~

Java言語でプログラミングを行うために2 ~プログラミング実行までの流れ~

前回に引き続きJava言語でのプログラミングについて紹介します。今回は「はじめてのJava言語」として、プログラミングの記述ルールや、実行までの流れを中心に紹介していきたいと思います。

はじめに

前回のコラムでは、Java言語でプログラミングを行うための開発環境の準備を行いました。そこで今回は、実際にJavaプログラムを作成し、動作させてみましょう。

プログラムを作成するための準備

Javaでプログラミングを行うには、さまざまな方法やツールがありますが、今回は最も基本的な方法を紹介します。今回準備するものは2つのみです。

  • テキストエディタ(メモ帳など)
  • ターミナルエミュレータ(Windowsであればコマンドプロンプト)

テキストエディタは何を使用しても構いませんが、今回は TeraPad と呼ばれるテキストエディタを使用します。

※ TeraPadは、Javaプログラミングを行うにあたって、

  • 行番後の表示
  • Java言語におけるキーワードの強調(色付け、太文字)

などを行うプログラミング言語に対応したエディタです。メモ帳などで作成するよりは効率良くプログラミングできますので、他にもエディタはたくさんありますので是非検索してみてください。

Javaプログラムの実行の流れ

まず、Javaプログラムの実行の流れを表現すると、以下のとおりです。

  1. プログラムを記述し、ソースファイルを作成
  2. ソースファイルをコンパイル(マシン上で実行できるよう翻訳)し、クラスファイルを作成
  3. クラスファイルを実行し、プログラムを動作させる。

プログラム実行フロー

ソースファイルの作成

Java言語のソースファイルは必ず「.java」の拡張子で作成してください。またソースファイル名は自由に名付ける事ができますので「Test.java」と名付けてみたいと思います。

※ ソースファイルを作成した際には、Windows環境のフォルダ設定で「ファイル名の拡張子は表示する」ようにしておきましょう。表示しておかないと、エディタの設定等で「.txt」の拡張子が自動的に補完され「Test.java.txt」という名前になる可能性があるため注意です!

ソースファイルを作成し、TeraPadで開いた状態が以下の図です。

ソースファイルを作成し、TeraPadで開いた状態

プログラミング

Javaのプログラムは「クラス」と呼ばれるものを中心に記述していきます。これから見て頂く構造を端的にまとめると、

  • クラス…Javaプログラムの作成単位
  • メソッド…処理をまとめるもの
  • 処理…実際にプログラムで行いたいことを記述

となります。
イメージの図に起こすと、

クラス構成イメージ図

といった構造となります。1クラス内には複数のメソッド定義が可能ですが、まずは1クラスに1メソッドを定義するソースコードを紹介していきます。

※ 複数メソッドについては、今後のコラムで紹介します!

helloworldを出力するの図

プログラミング言語ではおなじみの「Hello World」というデータの出力です。
Javaプログラムの構成要素としては、2種類あり、

  • ブロック…{}を使用し、プログラム要素を囲むもの。 (例)クラスやメソッドなど
  • 文…;(セミコロン)で終わる単一行の処理。(例)5行目の処理など

を定義していきます。

では、先頭行から見ていきましょう。

【1行目】

これは「コメント」と呼ばれるもので「プログラマのメモ書き」と考えてください。コメントの内容はプログラムに影響しませんので、プログラムの意味や目的など、残しておくと有益な情報を記述しておきましょう。今回はファイル名を残しておきます。
//を入力するとその1行がコメント扱いとなります。

【3行目】

クラスの定義です。上記にある通りJavaプログラムはクラス単位でプログラミングを行います。クラス内には,メソッドや処理を含みますので、必ず{}で囲むようにしてください。囲む範囲は3行目~7行目です。「class」というキーワードの後に任意のクラス名を定義します。今回はファイル名と同じ「Test」で定義します。

【4行目】

ここで定義しているのが、main()メソッドです。

main()メソッドは、「Javaプログラム実行時に最初に呼び出されるメソッド」となります。つまり、Javaプログラミングには必ずこのmain()メソッドが必要となります。Javaプログラムの開始点とイメージしてください。main()メソッドの定義は、4行目の通り決まっていますので、現時点では定型文として覚えてください。今後のコラムでまた改めて紹介させて頂きます。

【5行目】

プログラム定義単位である「クラス」、プログラムの開始点である「main()メソッド」まで紹介してきました。では、いよいよ実際の処理の紹介です。ここでは、処理としては利用頻度の高い「画面にデータを出力する処理」を紹介します。

それが、

System.out.println();

です。このキーワードは、()の中にデータを渡すと画面に出力することが出来ます。また、データについても形式によって記述方法が異なりますので、このタイミングで覚えてしまいましょう。

  • 数値 … そのまま記述。 100 や 3.14
  • 文字列 … “”(ダブルクォート)で囲む
  • 文字 … ‘’(シングルクォート)で囲む

となります。このようなデータ、値のことを「リテラル」と呼びます。

今回のソースファイルでは、”Hello World”という文字列を定義しています。したがって、この後実行を行うと画面には Hello World が出力されます。今後、System.out.println(); は計算結果や、今後紹介する変数の出力などで、非常に良く使いますので、是非色々なデータを出力させてみましょう。

コンパイル、実行

ソースファイルが出来上がりましたら、コンパイルと実行を行います。ポイントは、「作成したソースファイルがどこにあるのか?」という点です。Windowsの場合、コマンドプロンプトを開くとホームディレクトリを指定していることが多いと思います。コンパイルや実行は、どこで行っても良いわけではなく、上記に挙げた「作成したソースファイルがある場所」まで移動する必要があります。

場所の移動は、cdコマンドを使用します。cdコマンドの後ろに移動先を入力しますが、ここはエクスプローラでファイルがある場所まで移動し、アドレスをコピーするのが確実です。

コンパイル対象のフォルダへ移動し、

赤枠の部分をコピーし、

cdコマンドの後ろに貼り付けます。(cdコマンドの後ろには半角スペース)
このような手順で、ソースファイルが存在するフォルダへの移動が可能となります。
※ また、移動後に「dirコマンド」を使用することで、フォルダ配下に存在するファイル等の一覧を確認できます。

そして、いよいよコンパイルを行います。

Java言語のコンパイルは「javacコマンド」を使用します。

> javac ソースファイル名.java

という構文となります。ファイル名は拡張子まで含むのがポイントです。

コマンドプロンプトでは、『javac 半角スペース』を入力した後にtabキーを押してみましょう。目的のソースファイルが補完されるはずです。

拡張子込みでファイル名が指定できたら、Enterキーでコンパイルを行いましょう。コンパイルでは文法的なエラーの検出をおこないますので、エラーがなかった場合は何も出力されません。

コンパイルに成功した場合、必ず見ておいて頂きたいのがファイルです。コンパイルを行っている場所を再度確認すると「~.class」拡張子のファイルが作成されていると思います。これが「クラスファイル(実行ファイル)」です。

プログラムの実行については、javaコマンドでクラスファイルを指定します。ただし、実行の際には、拡張子を含まない点がポイントとなります。

したがって、今回の実行方法は、

> java Test.class

ではなく、

> java Test

と実行します。

最初のコードを実行するとコマンドプロンプト上に Hello World という文字列が出力されます。プログラム作成からコンパイル、実行の流れは以上です。

手順について、はじめは少々覚えることが多いかと思いますが、今後はプログラムを徐々に大きくしていくことが目的となりますので、今回のコンパイルと実行については是非繰り返し行い、覚えて頂ければと思います。

次回からは、プログラミングのデータや機能に着目した紹介を行う予定です!どうぞお楽しみに!

記事は、予告なく変更または削除される場合があります。
記載された情報は、執筆・公開された時点のものであり、予告なく変更されている場合があります。
また、社名、製品名、サービス名などは、各社の商標または登録商標の場合があります。