Javaプログラミング入門

Javaプログラミング入門

Javaは企業システム、Android、サーバーで広く使われています。特徴は、一つのプログラムが多くのOSで動くことです。ソースコードはバイトコードにコンパイルされ、JVM(Java仮想マシン)上で実行されます。この記事では、最初のプログラム、変数、条件分岐、ループ、クラスを順に作り、自分でコンパイルして実行するまでを説明します。

この記事のすべての例は Java 17 でコンパイルして実行し、表示した出力は実際のものです。

必要なもの

仕組み

概略図:.java ファイルを javac が .class のバイトコードにコンパイルし、java が JVM 上で実行する
概略図:.java ファイルを javac が .class のバイトコードにコンパイルし、java が JVM 上で実行する

手順は三つです。`.java` ファイルを書き、`javac` でコンパイルして `.class` を作り、`java` で実行します。

最初のプログラム

`Hello.java` を作ります。クラス名はファイル名と一致させます。次のコードを入力してください。

public class Hello {
    public static void main(String[] args) {
        System.out.println("สวัสดี Java");
    }
}

コンパイルと実行:

javac -encoding UTF-8 Hello.java
java -Dfile.encoding=UTF-8 Hello

出力:

สวัสดี Java

`main` はプログラムの開始点です。`System.out.println` は文字を表示します。`-encoding UTF-8` は、ファイル内のタイ語を正しく読み込むための指定です。

変数と型

Javaは静的型付けの言語で、変数ごとに型を宣言します。

型格納するもの例
int整数`int age = 20;`
double小数`double price = 19.5;`
boolean真偽値`boolean passed = true;`
String文字列`String name = "สมชาย";`

条件分岐とループ

この例では、点数から成績を判定する `Student` クラスと、学生の一覧を回す `for` ループを使います。

import java.util.ArrayList;
import java.util.List;

public class Hello {
    static class Student {
        String name;
        int score;

        Student(String name, int score) {
            this.name = name;
            this.score = score;
        }

        String grade() {
            if (score >= 80) return "A";
            else if (score >= 70) return "B";
            else if (score >= 50) return "C";
            return "F";
        }
    }

    public static void main(String[] args) {
        System.out.println("สวัสดี Java");

        List<Student> students = new ArrayList<>();
        students.add(new Student("สมชาย", 85));
        students.add(new Student("สมหญิง", 72));
        students.add(new Student("สมศักดิ์", 45));

        int total = 0;
        for (Student s : students) {
            System.out.println(s.name + " ได้เกรด " + s.grade());
            total += s.score;
        }
        System.out.println("คะแนนเฉลี่ย: " + (total / students.size()));
    }
}

実際の出力:

สวัสดี Java
สมชาย ได้เกรด A
สมหญิง ได้เกรด B
สมศักดิ์ ได้เกรด F
คะแนนเฉลี่ย: 67

注目してほしい点:

よくある初心者のミス

次のステップ

小さな電卓を作る、`ArrayList` でデータを保存する、コードを複数のファイルと複数のクラスに分ける、といった練習をしてから、Spring Boot で Web 開発に進みましょう。

まとめ

Javaはソースをコンパイルし、JVM 上で実行します。開始点は `main` メソッドで、変数には明確な型があり、クラスでプログラムを整理します。