Javaの概要と特徴
Javaは、Sun Microsystems(現在はOracle)が開発したプログラミング言語およびプラットフォームです。その主要な特徴は以下の通りです。
- 簡潔性: C/C++に似た構文を持ち、習得が比較的容易です。ポインタや構造体などの複雑な概念は排除され、安全性が高められています。
- オブジェクト指向: クラス、オブジェクト、継承、ポリモーフィズムなどの概念をサポートし、モジュール化されたコードの開発を促進します。
- 分散処理: 標準ライブラリにTCP/IPプロトコル(HTTP, FTPなど)を扱うクラスが含まれており、ネットワークプログラミングが容易です。
- 健全性: 安全なポインタモデルを採用し、メモリ破壊のリスクを低減します。コンパイラは強力なメモリ競合チェック機能を持ち、多くのエラーをコンパイル段階で検出できます。
- セキュリティ: メモリへのアクセスはオブジェクトのインスタンス変数を通じて行われ、プライベートメンバーへの不正なアクセスを防ぎます。
- アーキテクチャ中立: Javaコンパイラは、特定のアーキテクチャに依存しないバイトコードを生成します。これにより、Java仮想マシン(JVM)がインストールされているあらゆるプラットフォームで実行できます。
- ポータビリティ: 基本データ型のサイズや演算が明確に定義されており、移植性の高いインターフェースが提供されています。
- インタープリタ型: ソースコードはまずバイトコードにコンパイルされ、その後JVMによって解釈実行されます。
- 高性能: バイトコードはJIT(Just-In-Time)コンパイラによって実行時にネイティブコードに変換されるため、高いパフォーマンスを発揮します。
- マルチスレッド: 複数のタスクを同時に実行する機能をサポートし、マルチコアプロセッサの活用が容易です。
- ダイナミック: 実行時に新しいクラスやメソッドを動的にロードできるため、柔軟で拡張性の高いアプリケーションを構築できます。
開発環境の構築
Javaプログラムを開発するには、まずJDK(Java Development Kit)のインストールと環境設定が必要です。
JDKのインストールと設定
- ダウンロード: Oracleの公式サイトから、お使いのOSに対応したJDKをダウンロードします。
- インストール: ダウンロードしたインストーラを実行し、インストールを進めます。インストールパスには日本語を含めないことを推奨します。
- 環境変数の設定:
JAVA_HOME: JDKのインストールディレクトリを指定します。CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;を設定します。Path:%JAVA_HOME%\binと%JAVA_HOME%\jre\binを追加します。
- 確認: コマンドプロンプトを開き、
javac -versionと入力してバージョン情報が表示されれば、設定は成功です。
基本的なプログラムの作成
コマンドラインでのコンパイルと実行
以下の手順で、簡単なプログラムを作成し、実行してみましょう。
- テキストエディタでソースコードを作成します。
- ファイル名は、publicクラス名と一致させる必要があります(例:
FirstProgram.java)。 - コマンドプロンプトで、ソースファイルが保存されているディレクトリに移動し、
javac FirstProgram.javaでコンパイルします。 - コンパイルが成功すると、
FirstProgram.classが生成されます。これを実行するには、java FirstProgramと入力します。
/**
* このプログラムは、読者への挨拶を表示します。
* @version 1.0 2023-10-27
* @author Tech Writer
*/
public class FirstProgram {
public static void main(String[] args) {
String message = "Javaの世界へようこそ!"; // 挨拶メッセージ
System.out.println(message); // メッセージを表示
// メッセージの長さ分、'=' を表示
for (int i = 0; i < message.length(); i++) {
System.out.print("=");
}
System.out.println(); // 改行
}
}
Eclipseでの開発
Eclipseのような統合開発環境(IDE)を使用すると、コードの作成、コンパイル、実行をより効率的に行えます。以下は、Eclipseで九九の乗算表を出力するプログラムの例です。
/**
* 九九の乗算表をコンソールに出力します。
* @version 1.0 2023-10-27
* @author Tech Writer
*/
package sample;
public class MultiplicationTable {
public static void main(String[] args) {
// 1から9までのループ
for (int i = 1; i <= 9; i++) {
// 1から現在のiまでのループ
for (int j = 1; j <= i; j++) {
// 掛け算の結果をフォーマットして表示
System.out.print(j + "×" + i + "=" + (i * j) + "\t");
}
System.out.println(); // 行の終わりで改行
}
}
}
Javaの基本構文
- オブジェクト: クラスのインスタンスで、状態(フィールド)と振る舞い(メソッド)を持ちます。
- クラス: オブジェクトの設計図(テンプレート)です。オブジェクトの状態と振る舞いを定義します。
- メソッド: クラスが持つ関数で、オブジェクトの振る舞いを定義します。
- インスタンス変数: オブジェクトの状態を表す変数です。各オブジェクトは固有のインスタンス変数を持つことができます。
命名規則:
- クラス名: 単語の先頭を大文字にします(例:
MyClass)。 - メソッド名: 先頭を小文字にし、以降の単語の先頭を大文字にします(例:
myMethod)。 - 変数名: メソッド名と同様の規則に従います。
- ファイル名: publicクラス名と一致する必要があります(例:
MyClass.java)。 - エントリーポイント: すべてのJavaプログラムは、
public static void main(String[] args)メソッドから実行を開始します。