Java基礎:基本構文をマスターする
Javaプログラムの構成要素
Javaプログラムは、メソッド呼び出しによって通信し合うオブジェクトの集合と見なせます。クラス、オブジェクト、メソッド、インスタンス変数の意味を簡単に確認しましょう。
- オブジェクト:状態と振る舞いを持つ。例:犬には状態(色、名前、品種)と振る舞い(尻尾を振る、吠える、食べる)がある。オブジェクトはクラスのインスタンス。
- クラス:その型のオブジェクトがサポートする振る舞い/状態を記述したテンプレート/設計図。
- メソッド:振る舞いそのもの。クラスは複数のメソッドを持てる。ロジック記述、データ操作、アクション実行の場。
- インスタンス変数:各オブジェクト固有の変数セット。これらに割り当てられた値がオブジェクトの状態を作る。
最初のJavaプログラム:Hello World
コード例
public class MyFirstJavaProgram {
/* これは最初のJavaプログラムです。
* 'Hello World'を出力します */
public static void main(String[] args) {
System.out.println("Hello World"); // Hello Worldを出力
}
}
保存・コンパイル・実行手順
- メモ帳を開き、上記コードを貼り付け
- ファイル名:
MyFirstJavaProgram.javaで保存(クラス名と完全一致) - コマンドプロンプトで保存ディレクトリへ移動(例:
C:\) javac MyFirstJavaProgram.javaでコンパイル(エラーなければ次行へ)java MyFirstJavaProgramで実行Hello Worldが画面に表示される
実行結果
C:\> javac MyFirstJavaProgram.java C:\> java MyFirstJavaProgram Hello World
基本構文の重要ルール
- 大文字小文字区別:
Helloとhelloは別物 - クラス名:先頭大文字、複数語なら各語の先頭大文字(例:
MyFirstJavaClass) - メソッド名:先頭小文字、複数語なら2語目以降の先頭大文字(例:
myMethodName()) - プログラムファイル名:クラス名と完全一致、拡張子
.java(publicクラスがある場合) - mainメソッド:
public static void main(String[] args)から処理開始。全Javaプログラムに必須
Java識別子(命名規則)
クラス、変数、メソッド名などに使う名前のルール:
- 文字(A-Z, a-z)、通貨記号($)、アンダースコア(_)で開始
- 2文字目以降は任意の文字組み合わせ可
- キーワードは識別子として使用不可
- 大文字小文字を区別
- 合法例:
age,$salary,_value,__1_value - 違法例:
123abc,-salary
Java修飾子
クラス、メソッド等の意味を変更するキーワード。2カテゴリ:
- アクセス修飾子:
default(パッケージ内),public,protected,private - 非アクセス修飾子:
final,abstract,strictfp
Java変数の種類
- ローカル変数
- クラス変数(static変数)
- インスタンス変数(非static変数)
Java配列
同型の複数変数を格納するオブジェクト。配列自体もヒープ上のオブジェクト。宣言・構築・初期化は後の章で詳説。
Java列挙型(enum)
Java 5.0で導入。変数を少数の事前定義値に制限。バグ削減に有効。例:ジュースショップでサイズをSMALL/MEDIUM/LARGEに限定。
enum例
class FreshJuice {
enum FreshJuiceSize { SMALL, MEDIUM, LARGE }
FreshJuiceSize size;
}
public class FreshJuiceTest {
public static void main(String[] args) {
FreshJuice juice = new FreshJuice();
juice.size = FreshJuice.FreshJuiceSize.MEDIUM;
System.out.println("Size: " + juice.size);
}
}
Size: MEDIUM
Javaキーワード(予約語)
定数・変数・識別子として使用不可の予約語一覧:
| abstract | assert | boolean | break |
| byte | case | catch | char |
| class | const | continue | default |
| do | double | else | enum |
| extends | final | finally | float |
| for | goto | if | implements |
| import | instanceof | int | interface |
| long | native | new | package |
| private | protected | public | return |
| short | static | strictfp | super |
| switch | synchronized | this | throw |
| throws | transient | try | void |
| volatile | while |
コメント
C/C++と同様に単一行(//)と複数行(/* ... */)をサポート。コンパイラはコメント内を無視。
空白行
空白文字のみの行(コメント含む)はブランク行と呼ばれ、Javaは完全に無視します。
継承
既存クラスから新クラスを派生可能。既存コードを再利用し、書き直し不要。既存=スーパークラス、派生=サブクラス。
インターフェース
オブジェクト間の通信契約を定義。継承概念で重要な役割。メソッド宣言のみで実装はサブクラス任せ。
次の章へ
次節ではJavaのオブジェクトとクラスについて詳説。オブジェクトとクラスの明確なイメージを得られます。
Java
- C言語の基本構文マスター:トークン、構造、セミコロン
- C#基礎:基本構文とオブジェクト指向概念をマスター
- Javaのfinalキーワード完全解説:変数、メソッド、クラスでの活用法
- Java instanceof演算子完全ガイド:基本から継承・インターフェースまで
- Java Staticネストクラスの理解:用法、違い、実例
- Java無名インナークラス完全ガイド:定義、構文、実践例
- Javaシングルトンパターン完全解説:安全な実装と活用法
- Javaリフレクション完全ガイド:実行時のクラス・メソッド・フィールド検査
- Java ObjectOutputStream完全ガイド:シリアル化、メソッド、実践例
- Javaジェネリクス完全ガイド:再利用可能で型安全なコードの構築
- Javaファイル操作のマスター:java.ioによる作成・読み取り・書き込み・削除