{}const=>[]async()letfn</>var
開発キャリア

初心者向けJavaの習得方法:インストール、構文、例

Java を学ぶことにした場合、エンタープライズ開発、Android アプリケーション、マイクロサービス、高負荷システムへの扉を開くテクノロジーを選択したことになります。インストールから最初の意味のあるプログラムの作成までの道のりを見ていきましょう。

К

Kodik

著者

4分で読める

Javaは、世界で最も需要の高いプログラミング言語の1つです。TIOBEインデックスによると、20年以上にわたりトップ3の言語に安定してランクインしています。

なぜ2025年にJavaが登場するのですか?

技術的な詳細に入る前に、Javaがなぜ最新の選択肢であるのかを理解することが重要です。この言語は、銀行、政府機関、大手インターネット企業の重要なシステムで使用されています。Netflix、Amazon、LinkedIn、TwitterはすべてJavaで構築されています。

初心者向けのJavaの主な利点:

Write Once, Run Anywhere

Javaで書かれたコードは、JVM(Java仮想マシン)がインストールされたプラットフォームで動作します。macOSでアプリを開発しましたか?WindowsとLinuxで変更なしで動作します。

厳格な型指定

Javaでは変数の型を明示的に指定する必要があります。これは最初は冗長に思えるかもしれませんが、予測可能で信頼性の高いコードを書くことを教えてくれます。多くのエラーは、本番環境ではなく、コンパイル段階で発見されます。

巨大なエコシステム

あらゆるタスクに対応する、何百万もの既製ライブラリ。JSONで作業する必要がありますか?GsonとJacksonがあります。REST APIを構築しますか?Spring Bootは10分でこれを行います。ビッグデータを処理しますか? Apache HadoopとSparkがあなたのサービスに。

労働市場における需要

Java開発者の需要は一貫して高く、給与は競争力があります。バックエンド、Android、データ処理システムなど、専門分野の選択肢は非常に多くあります。

🔥 10万人以上の学生が参加中

理論を読むのに疲れた?
コーディングの時間だ!

Kodik — 実践でプログラミングを学ぶアプリ。AIメンター、インタラクティブなレッスン、実際のプロジェクト。

🤖 AI 24時間
🎓 修了証
💰 無料
🚀 始める
今日参加

環境のインストールと設定

ステップ1:JDKをインストールする

JDK (Java Development Kit)は、Java開発用のツールキットです。2025年には、最新のLTSバージョン(長期サポート)から始めることをお勧めします。この記事を書いている時点では、Java 21です。

Windowsの場合:

  1. Adoptium(Eclipse Temurin)またはOracle JDKからOpenJDKをダウンロードします

  2. インストーラーを実行する

  3. PATH環境変数にJavaへのパスを追加します

macOSの場合:

# Homebrewを使用してbrew install openjdk@21 # ~/.zshrcまたは~/.bash_profileに追加export PATH="/opt/homebrew/opt/openjdk@21/bin:$PATH"

Linux(Ubuntu/Debian)の場合:

sudo apt update sudo apt install openjdk-21-jdk

インストールを確認します。

java -version javac -version

Javaのバージョン情報が表示されます。コマンドが見つからない場合は、PATHを確認してください。

ステップ2:IDEを選択する

Javaで真剣に作業するには、優れたIDEが必要です。主な選択肢は次の3つです。

IntelliJ IDEA — 紛れもないリーダー。Community Editionは無料で、Javaを学ぶために必要なものがすべて含まれています。スマートなオートコンプリート、組み込みデバッガー、Git統合、MavenおよびGradleのサポートがすぐに利用できます。

Eclipse — 業界の老舗、完全無料。IDEAより少し遅いですが、非常に機能的です。

Visual Studio Code — Extension Pack for Javaプラグインを備えた軽量バージョン。VS Codeに慣れている場合は適していますが、Javaの場合はフル機能のIDEを使用することをお勧めします。

ヒント: IntelliJ IDEA Community Editionから始めることをお勧めします。JetBrainsの公式サイトからダウンロードしてインストールすると、準備が整います。

Javaプログラムの構造

最初のプロジェクトを作成します。IntelliJ IDEA: File → New → Project → Javaを選択し、JDKを指定してプロジェクトを作成します。

各Javaプログラムは、クラスとメソッドから始まります main:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, Java World!");
    }
}

行ごとに見ていきましょう。

public class HelloWorldはクラス宣言です。Javaでは、すべてがクラスです。クラス名はファイル名(HelloWorld.java)と一致する必要があります。

public static void main(String[] args)は、プログラムのエントリーポイントです。

  • public — メソッドはどこからでも利用可能です

  • static — メソッドはオブジェクトではなくクラスに属します

  • void — メソッドは何も返しません

  • String[] args — コマンドライン引数の配列

System.out.println() — 行の折り返しを伴うコンソールへのテキストの出力。

端末からコンパイルして実行するには:

javac HelloWorld.java # HelloWorld.class java HelloWorld # プログラムの実行

構文の基礎:変数とデータ型

Javaは厳密に型指定された言語です。各変数には、宣言時に指定される型があります。

public class DataTypes {
    public static void main(String[] args) {
        // 整数
        byte smallNumber = 127;           // -128〜127
        short mediumNumber = 32000;       // -32.768〜32.767
        int regularNumber = 1000000;      // -2^31から2^31-1
        long bigNumber = 9000000000L;     // -2^63 から 2^63-1 まで(最後に L!)
        
        // 浮動小数点数
        float price = 19.99f;             // 32ビット(最後にf! )
        double precise = 3.14159265359;   // 64 ビット、デフォルト
        
        // 記号と文字列
        char grade = 'A';                 // 1文字
        String name = "Java Developer";   // 行(オブジェクト!)
        
        // 論理型
        boolean isActive = true;
        boolean hasErrors = false;
        
        // 結論
        System.out.println("Name: " + name);
        System.out.println("Price: $" + price);
        System.out.println("Active: " + isActive);
    }
}

重要なニュアンス

文字列はオブジェクトですプリミティブではありません。Javaの文字列は不変です。各連結操作は新しい文字列を作成します。

自動型変換 小さいものから大きいものへと安全に動作します。

int x = 100;
long y = x;  // OK、intはlongに収まります
double z = y; // OK、longはdoubleに収まります

逆の方向には明示的なキャストが必要です。

double pi = 3.14;
int rounded = (int) pi;  // 明示的なキャスト、小数点以下は切り捨て

演算子と制御構造

条件演算子

public class ControlFlow {
    public static void main(String[] args) {
        int score = 85;
        
        // If-else
        if (score >= 90) {
            System.out.println("Excellent!");
        } else if (score >= 70) {
            System.out.println("Good");
        } else if (score >= 50) {
            System.out.println("Satisfactory");
        } else {
            System.out.println("Needs improvement");
        }
        
        // Switch(最新のJava 14+構文)
        String day = "Monday";
        String mood = switch (day) {
            case "Monday" -> "Beginning of the week";
            case "Friday" -> "It's almost the weekend!";
            case "Saturday", "Sunday" -> "Weekend!";
            default -> "Ordinary day";
        };
        System.out.println(mood);
        
        // 三項演算子
        String result = score >= 50 ? "Passed" : "Fail";
    }
}

サイクル

public class Loops {
    public static void main(String[] args) {
        // For - 反復回数がわかっている場合
        for (int i = 0; i < 5; i++) {
            System.out.println("Iteration: " + i);
        }
        
        // While - 条件が真である間
        int count = 0;
        while (count < 3) {
            System.out.println("Count: " + count);
            count++;
        }
        
        // Do-while - 最低1回実行されます
        int num = 10;
        do {
            System.out.println("Number: " + num);
            num--;
        } while (num > 5);
        
        // Enhanced for(コレクションと配列の場合)
        int[] numbers = {1, 2, 3, 4, 5};
        for (int n : numbers) {
            System.out.println(n);
        }
    }
}

配列とコレクション

Javaの配列は固定サイズです。

public class ArraysExample {
    public static void main(String[] args) {
        // 宣言と初期化
        int[] numbers = new int[5];  // 5つの要素からなる配列
        numbers[0] = 10;
        numbers[1] = 20;
        
        // すぐに値を表示
        String[] names = {"Alice", "Bob", "Charlie"};
        
        // 2次元配列
        int[][] matrix = {
            {1, 2, 3},
            {4, 5, 6},
            {7, 8, 9}
        };
        
        // 並べ替え
        for (int i = 0; i < names.length; i++) {
            System.out.println(names[i]);
        }
        
        // またはもっと簡単に
        for (String name : names) {
            System

動的構造には、次のコレクションを使用します。

import java.util.*;

public class CollectionsExample {
    public static void main(String[] args) {
        // ArrayList - 動的配列
        List<String> cities = new ArrayList<>();
        cities.add("Moscow");
        cities.add("St. Petersburg");
        cities.add("Kazan");
        cities.remove("Kazan");
        
        System.out.println("Size: " + cities.size());
        System.out.println("First: " + cities.get(0));
        
        // HashMap - キー値
        Map<String, Integer> ages = new HashMap<>();
        ages.put("Alice", 25);
        ages.put("Bob", 30);
        ages.put("Charlie", 28);
        
        System.out.println("Bob's age: " + ages.get("Bob"));
        
        // HashMapの反復
        for (Map.Entry<String, Integer> entry : ages.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
        
        // HashSet - 一意の要素
        Set<Integer> uniqueNumbers = new HashSet<>();
        uniqueNumbers.add(1);
        uniqueNumbers.add(2);
        uniqueNumbers.add(2);  // 重複しているため、追加されません
        
        System.out.println("Set Size: " + uniqueNumbers.size()); // 2
    }
}

オブジェクト指向プログラミング

Javaは純粋なOOP言語です。すべてがオブジェクトです(プリミティブを除く)。

// クラスの決定
public class User {
    // フィールド(プロパティ)
    private String name;
    private int age;
    private String email;
    
    // デザイナー
    public User(String name, int age, String email) {
        this.name = name;
        this.age = age;
        this.email = email;
    }
    
    // ゲッターとセッター
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public int getAge() {
        return age;
    }
    
    // 方法
    public void displayInfo() {
        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
        System.out.println("Email: " + email);
    }
    
    public boolean isAdult() {
        return age >= 18;
    }
}

// 使用
public class Main {
    public static void main(String[] args) {
        User user = new User("Alexey", 25, "alex@example.com");
        user.displayInfo();
        
        if (user.isAdult()) {
            System.out.println(user.getName() + " adult");
        }
    }
}

Javaは単なる言語ではなく、エコシステム全体です。

小さなことから始めて、毎日コードを書き、コースを受講してください コディケ 参加する 私たちのフレンドリーな開発者コミュニティへ Telegramチャンネル3ヶ月の定期的な練習を経て、Javaで自信を持って書くことができ、6ヶ月後にジュニア開発者のポジションを申請することができます。学習を楽しんでください!

🎯先延ばしをやめよう

記事は気に入った?
実践の時間だ!

Kodikでは読むだけでなく、すぐにコードを書く。理論 + 実践 = 本当のスキル。

即座に実践
🧠AIがコードを説明
🏆修了証

登録不要 • カード不要