Javaの開発環境を構築できたら、いよいよプログラミングの始まりです!
ここでは実際にJavaで作成したプログラムを実行してみましょう。そこで登場する「クラス」や「メソッド」についても解説します。
このページを最後まで読めば、Javaの基本構造や実行方法について理解できるようになります!
Javaの基本構造:クラス
まずはクラスの説明から始めます。クラスとは「何らかの物の設計図」です。
例えば自動車や飛行機、それらを動かすエンジン、さらにはネジの1本まで、全て設計図をもとに作られています。
また、自動車は「走る」、飛行機は「飛ぶ」といった行動を取ることができます。こういった動作もクラスの中には含まれます。Javaのクラスとは、そういった物の設計図だと考えておけば問題ありません。
では前回作成したプロジェクトにクラスを作成してみましょう。プロジェクトを左クリックして「新規」→「クラス」を選択します。
するとクラス作成ダイアログが表示されるので、名前に「Main」と入力し、「public static void main〜」のチェックボックスにチェックを入れ、完了ボタンを押下します。
これでクラスが作成されました。画面左側に作成したMainクラスが、画面右側にそのクラスの自動生成されたソースコードが表示されます。
生成されたソースコードを見てみましょう。
[Main.java]
1 2 3 4 5 6 |
package java_study; public class Main { public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ } } |
よく分からない英単語がずらっと並んでますね!
とりあえず、ここではクラスの説明をしたいので、1行目〜2行目に着目してみましょう。
まずは1行目。
package java_study;
これはこのクラス(Main)がどのパッケージの中にあるかを示すコードです。
上記の例ではMainクラスはjava_studyパッケージの中にある、ということになります。このjava_studyパッケージはMainクラスを作成した時に自動で生成されました。
パッケージとは複数のクラスを一まとめにして管理するための「入れ物」です。「java」に限定した、フォルダのようなものと考えてください。
次に2行目。
public class Main {
これはMainクラスを定義しているところです。
「定義」とは「設計する」と置き換えても良いですが、慣習的にクラスや、後で解説するメソッドを設計する際は「定義する」ということが多いです。
クラスの定義の書式
アクセス修飾子 class クラス名 {
処理・・
}
「public class Main」の「public」は「アクセス修飾子」と呼びます。「public」「protected」「private」が記述できます。例で挙げた「public」の意味は、すべてのクラスからアクセスを許可する(公共)の意味と捉えてください。特定クラスにはアクセスさせるが、他のクラスにはアクセスさせない等の定義を「カプセル化」と呼びます。
アクセス修飾子 | クラス内 | パッケージ内 | サブクラス | すべて |
public |
〇 |
〇 | 〇 | 〇 |
protected | 〇 | 〇 | 〇 | |
修飾子なし | 〇 | 〇 | ||
private | 〇 |
クラスでは、「クラス名」の右の { } の中に、クラスのもつステータスや動作を定義します。最初に作られたソースコードをよく見てみると、最後の行に } がありますよね?
実はこれがクラス名の横にある { と対になっています。
public static void main(String[] args) はメソッドですが、ちゃんとクラスのカッコ内に定義されているのが分かりますね。
public class Main { ←これと
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
}
} ←これが対になっている。
以上が「Java」における、クラスの基本形となります。
Javaの基本構造:メソッド
次にメソッドについて解説します(3〜5行目)。
メソッドとは「そのクラスができる動作や役割」のことです。先ほど自動車は「走る」、飛行機は「飛ぶ」ことができると言いましたが、これがメソッドです。
クラスの動作や役割を定義するにはメソッドを使います。
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
}
これがメソッドです。色々と書いてありますが、今はプログラムを動かすためのおまじないと覚えて問題ありません。重要なのは「main」の部分です。
このメソッドは「Javaプログラムで一番最初に実行する」という動作を定義しています。Javaではプログラムを動かすためには必ず「main」という名前のメソッドが必要なのです。
Javaプログラムで一番最初に実行するメソッド名には、必ず「Main」メソッドを記述する。これは「Java」における決まりごとになっています。名前を変更することはできません。
メソッドは { } の中に、例えば計算や文字の出力といった実際の処理を記述します。今は自動生成されたコメント以外は何も記述されていません。
コメントとはプログラムに影響を及ぼさない行のことです。//を先頭に付けることでコメントにすることができます。
※ メソッドについても、クラス同様「カプセル化」定義を行うことが出来ます。
コンパイルとは
クラスとメソッドの解説が終わったところで、いよいよプログラミングに入って行きたいところですが、その前にもう一つ「コンパイル」について解説させてください。
コンパイルとは「Javaのソースコードをコンピュータが理解できる言葉に変換する作業」のことです。
コンピュータは0と1だけで構成されている「機械語」でないと、何を命令されているのか理解できません。なので、作成したコードをコンパイルをして機械語に直す必要があります(コンパイルしてくれるシステムのことを「コンパイラ」と呼びます)。
これらの処理はEclipse側で「実行」するだけで、裏で自動的に処理してくれます。なので今は参考程度に留めても良いですが、いずれコンパイルされたファイルを直接のぞいてみる必要が出てくるかもしれないので、覚えておいて損はありません。
コンパイルから実行までの流れ
では実際にソースコードを書いて、プログラムを「実行」してみましょう。Eclipseでの実行は非常に簡単です。ここでは「文字をコンソールに出力する」ことをゴールにしましょう。コンソールとはプログラムの実行結果を表示するところです。
ではいきましょう。Main.javaに次のコードを記述してください。
[Main.java]
1 2 3 4 5 6 |
package java_study; public class Main { public static void main(String[] args) { System.out.println("Hello Java World!"); //ここが変わっています。 } } |
mainメソッド内のコメントを決して、System.out.println("Hello Java World!"); という記述を加えました。これは「Hello Java World! という文章を出力してください。」という意味のプログラムです。
IDEにエクリプスを使用している場合は、「Ctr + S」キーを押して、記述したプログラムを保存すれば、自動的にコンパイルが行われます。
ではこのプログラムを実行しましょう。左上にある「実行」アイコンをクリックします。
すると、画面左下のフレームが「コンソール」に変わって、「Hello Java World!」という文字が表示されます。
おめでとうございます! 無事プログラムを実行できました!
この記事では、主に「Javaの基本構造:クラス」及び、「Javaの基本構造:メソッド」を学習してきました。まだ、すべてを理解する必要はありません。クラスとメソッドの概念が理解出来れば十分です。
Javaプログラムの基礎知識(全11記事)
├─Javaとは? Javaの基本概要をわかりやすく解説!
├─IDEとは?エクリプス環境を整えよう!
├─Javaの基本構造とコンパイルの流れを解説!
├─変数、リテラル、基本データ型について?
├─文字列の作成方法とStringのメソッドについて!
├─演算子について!
├─ifとswitchによる条件分岐を理解しよう!
├─ループ処理をおこなうfor文を理解しよう!
├─データをまとめて管理する配列とは?
├─メソッドとメソッドの定義について!
└─Javaに標準装備されている「ライブラリー」を活用しよう!