Javaで作成できるプログラムの種類
Javaは多様な種類のアプリケーションを開発することができます。
- デスクトップアプリケーション
- OpenOffice: ドキュメント編集、スプレッドシート処理、プレゼンテーションなどを行うオフィススイート。
- Minecraft: 自由度の高いサンドボックスゲーム。
- モバイルアプリケーション
- Android: 多くのAndroidアプリがJavaで開発されています。
- iOS: 関連ツールを使用してiOS向けアプリケーションをJavaで開発することも可能です。
"Write Once, Run Anywhere"の理解
Javaの最大の利点の一つは、「一度書いたコードはどこでも実行できる」ことです。つまり、Javaのコードは一度書き、Java仮想マシン(JVM)がインストールされている任意のプラットフォームで動作します。そのため、異なるプラットフォームごとにコードを修正または再コンパイルする必要はありません。
Javaプログラムを実行するには、対応するJavaランタイム環境(JRE)を操作システムにインストールする必要があります。
C言語とJavaのHelloWorldコードの比較
以下はそれぞれの言語でのHelloWorldコードです。
- C言語
#include <stdio.h> int main() { printf("Hello World!"); return 0; } - Java
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello world!"); } }
主な違いは以下の通りです:
- C言語: ファイル拡張子は.c。main関数がプログラムのエントリーポイント。printf関数でテキスト出力。
- Java: ファイル拡張子は.java。publicクラス名とファイル名が一致。mainメソッドがエントリーポイント。System.out.printlnでテキスト出力。
文字列の比較方法
文字列の内容を比較するには、equals() メソッドを使用します。例えば、2つの文字列 a と b を比較する場合、a.equals(b) で比較できます。
基本データ型では直接 == を使用できますが、参照データ型では == は同一オブジェクトかどうかを判定するため、値の比較には適していません。
コードの解析
String x = null;
int length = x.length();
System.out.println("x.length = " + length + ", content = " + x.trim());
このコードは、nullの文字列xの長さを取得し、前後の空白を削除して内容を表示しようとしています。しかし、x が null なので、x.length() はNullPointerExceptionを投げ、コードは実行できません。
trim() メソッドの詳細については、Java公式ドキュメントやオンラインリソースを参照してください。
コードの読み解き
Integer x = Integer.valueOf("10");
Integer y = x + 1;
int z = x + y;
説明:
Integer y = x + 1:xはIntegerオブジェクトで、1はint型。Javaは自動的にx.intValue()を呼び出してxをintに変換し、加算を行います。int z = x + y:xとyは自動的にアンボックスされ、intとして加算されます。