Javaの基礎
1.1開発の大まかな流れ
まず、Javaのプログラムの流れについて確認をします。
以前にも実行を行ったようにJavaのプログラムは「ソースコードの作成」「コンパイル」「実行」の順番で進めるようになっています。
・ソースコードの作成
はじめに、ソースコードとは人が読める状態(public class~)のコンピュータに指示を送信するためのソースコードのことを指します。また、そのソースコードを書いたファイルのことをソースファイルといいます。
・コンパイル
実は、ソースコードはそのままの状態では実行ができません。実行するためにはコンパイルという処理を行いソースファイルを「クラスファイル」というものに変換を行います。このクラスファイルにはコンピュータが実行をしやすいようにソースコードを変換した「バイトコード」というものが格納されています。
また、コンパイルとは「コンパイラ」というソフトウェアを用いて行います。ソースコードに問題がある場合はこの時点でコンパイラが失敗し、間違った箇所を知らせてくれます。
・実行
コンパイラでバイトコードに変換したもののこれもまだ実行をすることはできません。今度は「インタプリンタ」というソフトウェアに対してバイトコードの変換と実行をします。インタプリンタには「JVM(Java Virtual Machine)」という仕組みがあり、クラスファイル内にあるバイトコードを読み取りながらコンピュータが理解できる言語「マシンコード」に変換しCPUに送って処理を実行します。
こうすることによってソースコードが動作する仕組みとなっています。
1.2 プログラムの基本的な構造
初めての実行の際にうすうす気づいていたかと思いますが、実際に命令を書いていくのはmainと書かれた行の内側だけになっています。ここで、Javaプログラムの全体像を確認してみましょう。
上のコードを見ていただくと「{}」で囲われた箇所があることがわかります。これを「ブロック」と呼びます。外側のブロックは「クラスブロック」、内側のブロックは「メソッドブロック」と呼ばれます。Javaはこれらのブロックを組み合わせて構造されています。また、上のソースコードに書かれている「public class クラス名{ public static void main(String[] args){ } }」の部分に関しては毎回同じように書かれますので丸暗記しておくといいです。(内容に関して後述)
1.3 ソースファイルの名前について
先ほど説明したソースファイルの名前についてですが、決まりがあります。
ファイル名については「クラス名.java」にしなければいけません。
また、クラス名については最初の一文字目はアルファベットの大文字にしなければいけません。
1.4プログラムの書き方
プログラムを書くには大まかに以下の手順で進めていきます。
- どんなプログラムを作るのかを考える
- プログラム名を決める(クラス名とクラスファイルの名前が決まります)
- ソースコードの外側部分を記述する
- ソースコードの内側部分に命令文を書いていきます
プログラムを書く上で大切な考え方がいくつかあります。
・細かい部分まで正確に書くこと
ソースコードを書いていくと大文字、小文字、数字、記号が様々な形で書かれており見た目が似ている場合もあります。そんな状態でも間違った文字が1つでもあるとプログラムは正常に動かなくなります。
特に大文字と小文字の違いやピリオドとカンマの違い、カッコと波カッコの違いについては後から間違えを見つけづらくプログラムにも大きな影響を与えることになります。
・「上から下に」ではなく「外から内に」で考える
プログラムを書き始めたころはおそらく上から下にどんどん命令文を書いていくことが多くなります。しかしながらその方法ではブロックの終わりの波カッコをつけ忘れてしまうこともあります。
上から下に書くと、クラスブロックを書く→メソッドブロックを書く→命令文を書く→メソッドの波カッコを閉じる→クラスブロックの波カッコを閉じる といった流れになりますが、命令文が多くなったり、メソッドの数が増えていくと波カッコを何個閉じればいいのかがわからなくなってしまいます。
外から内に書くと、クラスブロックを書く→クラスブロックの波カッコを閉じる→メソッドブロックを書く→メソッドの波カッコを閉じる→命令文を書く と進めると閉じ忘れを防止できます。
・読みやすいようにソースコードを書くこと
ソースコードの書き方としてはJavaのルールを守ってさえいればどんな形でもプログラムは問題なく実行できます。しかし、それでは自己満足のソースコードになってしまいます。
独学で勉強するうえではそれでも問題は発生しないかもしれませんが、この先業務で先輩や上司にコードを見てもらうことや他の人と連携して同じソースファイルにコードを書いていくことがあります。そんな時に人から見ても見やすいようなコードを書いていくことを意識していきましょう。
人から見やすいコードを書いていくには特に「インデント」と「コメント」を使っていくことが大切です。以下にそれぞれについて記述します。
1.5 インデント
インデントとは、文章の最初の部分に空白を挿入すること。または字下げとも呼ばれます。
基本的にJavaのソースコードにはどこに改行や空白を入れても自由とされてはいますが(単語の途中は例外)すべてつなげて書いたり、過剰な改行や空白があると非常に読みづらいものになります。特にブロックの開始と終了のインデントは合わせておかないと他の人にソースコードを見てもらうときに非常に見づらいものになります。
1.6 コメントアウト
ソースコードの中にはコメントを書くことができます。ソースコードをより読みやすくするために日本語で説明を書いたりすることできます。このコメントについてはコンパイラには無視されプログラム上では問題なく動きます。
コメントの書き方は次のようになります。
複数行コメント・・・「/* コメント本文 */」
単一行コメント・・・「// コメント本文 」(行末まで有効)
1.7 mainメソッドの中のコードについて
先ほどお伝えした通りmainメソッドの中身にJavaの命令文を書いていきます。
コードの2行目にmainと書かれているためmainメソッドと呼ばれています。mainメソッドの中身には文を順番に書いていきます。また文末には必ず「;」をつけることを忘れないように注意してください。
次にソースコードの中身を図で見てみましょう。
まとめ
開発の実行と流れ
・Javaの文法に従ってソースコードを作成する
・ソースコードをコンパイラでコンパイルして、バイトコードに変換する
・バイトコードをインタプリンタを使いCPUの分かる言語に変更しCPUを動かすことができる
流れと基本構造
・ソースコードはクラスブロックとメソッドブロックに分かれている
・メソッドブロックの中に命令文が書かれている
・コードはインデントとコメント使用して読みやすいように書くことが大切
・ソースコードは「上から下に」ではなく「外から内に」書き上げていくことが大切