00_環境整備

対象:C言語経験者 / 目標:VSCodeでJavaを書いて動かせるようにします


■ この授業でやること

やること確認
JDKのインストール
VSCodeのインストール・拡張機能
作業フォルダの準備
HelloWorldを動かす
2本目のプログラムを動かす

■ C言語との違い(まず頭に入れる)

Javaを動かすまでの手順はC言語と少し違います。理由から理解しておきましょう。

C言語の流れ ソース(.c)
 ↓ コンパイル(gcc)
実行ファイル(.exe)
 ↓ 実行
Windows上で直接動く
Javaの流れ ソース(.java)
 ↓ コンパイル(javac)
バイトコード(.class)
 ↓ JVMが実行(java)
どのOSでも動く
Cはそのままそのコンピュータ用の命令に変換します。
JavaはJVM(仮想マシン)の命令に変換します。だからどこでも動く。
用語意味C言語で言うと
javacコンパイラ。.javaを.classに変換gcc
javaJVMで.classを実行生成した.exeを実行
.classバイトコード(中間コード).exeに相当(ただしOS専用ではない)
JVMJava仮想マシン。.classを動かすなし(Cには不要)
JDKjavac + java + 開発ツール一式gccに相当

■ STEP 1:JDKのインストール

1ダウンロード

ブラウザで https://adoptium.net/ を開く

「Latest LTS Release」からダウンロード

LTS(Long Term Support)= 長期サポート版。授業・業務はこれ一択。

2インストール(重要な設定あり)

ダウンロードした .msi ファイルを実行

途中の「カスタム セットアップ」画面で以下を確認・変更:

項目設定
Add to PATH✅ 「ローカル ハード ドライブにインストール」
Set JAVA_HOME variable✅ 「ローカル ハード ドライブにすべてインストール」
ここを見落とすとコマンドプロンプトでjavaが使えなくなります

3インストール確認

コマンドプロンプトを新規で開いて(インストール前に開いていたものは閉じる)実行:

java -version
javac -version
両方バージョン番号が表示されればOK

■ STEP 2:VSCode + 拡張機能

1VSCodeのインストール

https://code.visualstudio.com/ から「Download for Windows」

インストール時「PATHへの追加」にチェックを入れること

2Java拡張機能のインストール

  1. VSCodeを起動
  2. 左サイドバーの四角アイコン(拡張機能)をクリック
  3. 検索欄に Extension Pack for Java と入力
  4. 作者が Microsoft のものをインストール
6つの拡張がまとめて入る。これでJavaの補完・実行が使えるようになります

■ STEP 3:作業フォルダの準備

1フォルダ構成

フォルダ名で番号管理します。こうするとエクスプローラーで順番に並ぶ。

java-lessons/
├── 00_HelloWorld/
│   └── HelloWorld.java
├── 01_Calculation/
│   └── Calculation.java
├── 02_xxx/
    ...
なぜ先頭に数字をつけるのか
Javaのクラス名は数字で始めることができない。
フォルダ名に番号を付けてフォルダで管理することで解決しています。

2VSCodeで開く

  1. 「ファイル → フォルダーを開く」で java-lessons フォルダを選択
  2. 「このフォルダーを信頼しますか?」→ 「はい」

■ STEP 4:HelloWorldを動かす

1ファイルを作る

  1. 左のエクスプローラーで 00_HelloWorld フォルダを右クリック →「新しいファイル」
  2. ファイル名:HelloWorld.java
Javaの絶対ルール
ファイル名とクラス名は完全一致(大文字小文字も含む)
HelloWorld.java の中のクラス名は必ず HelloWorld

2コードを入力

VSCodeが自動で内容を書いてくることがあります。全部消して以下だけを入力します。

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

3実行

Ctrl+S で保存 → 右上の ▶ ボタン をクリック

下部ターミナルに Hello, World! と表示されれば成功

確認しましょう

左のエクスプローラーを見てみましょう。00_HelloWorldフォルダに何が増えているか?

確認します

HelloWorld.class が生成されているはず。

これがバイトコード(.classファイル)。javacが自動で作った。JVMはこのファイルを読んで実行しています。

C言語でいう .exe に相当するが、OS専用ではなくどのOSのJVMでも動く。

● C言語との構文比較

C言語(hello.c)
#include <stdio.h>

int main(void) {
    printf("Hello, World!\n");
    return 0;
}
Java(HelloWorld.java)
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
C言語Java違い
#include不要(基本は自動)よく使うものは最初から使える
int main(void)public static void main(String[] args)クラスの中に書く。argsはコマンドライン引数
printf("...\n")System.out.println("...")printlnは自動で改行されます
return 0;不要voidなので返り値なし

■ STEP 5:2本目のプログラム

1ファイルを作る

01_Calculation フォルダに Calculation.java を作成

2コードを入力

public class Calculation {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;

        System.out.println("足し算: " + (a + b));
        System.out.println("引き算: " + (a - b));
        System.out.println("掛け算: " + (a * b));
        System.out.println("割り算: " + (a / b)); // 整数除算(小数切り捨て)
        System.out.println("あまり: " + (a % b));
    }
}

3実行・確認

足し算: 13
引き算: 7
掛け算: 30
割り算: 3
あまり: 1

試してみましょう

a / b の結果はなぜ 3.333... ではなく 3 なのか?

答えを見る

int(整数型)同士の割り算は、小数点以下が切り捨てられます(整数除算)。

小数が必要な場合は double 型を使います。

double a = 10;
double b = 3;
System.out.println(a / b); // → 3.3333333333333335

これはC言語と同じルール。


■ STEP 6:コマンドライン引数(重要)

試験の後半(問5・問6)では、プログラムに引数を渡して実行する問題が頻出します。

▶ボタンでは引数を渡せないため、ターミナルから実行します方法を覚えておく。

1引数を受け取るプログラム

02_Args フォルダに Args.java を作成

public class Args {
    public static void main(String[] args) {
        System.out.println("引数の数: " + args.length);
        System.out.println("1番目の引数: " + args[0]);
    }
}

2ターミナルから実行

VSCode下部の「ターミナル」タブで以下を実行:

cd (02_Argsフォルダのパス)
javac Args.java
java Args Hello
引数の数: 1
1番目の引数: Hello
試験では java Q5 11.25 のように引数付きで実行する問題が出る。
このターミナル操作は後の単元で改めて練習します。今は「こういうものがある」と知っておくだけでOK。

■ よくあるエラーと対処

エラー内容原因対処
java が認識されないJDKのPATH未設定PCを再起動、またはJDKを再インストール時にPATHを有効化
▶ボタンが出ない拡張機能が未認識VSCodeを再起動、初回は少し時間がかかる
class XXX is public, should be declared in a file named XXX.javaファイル名とクラス名の不一致両方を同じ名前(大文字小文字も)に統一
package xxx does not exist のような表示VSCodeが自動でpackage行を追加した1行目の package ... を削除します

■ まとめ

確認事項確認
java -versionjavac -version が表示されます
VSCodeにExtension Pack for Javaが入っています
HelloWorldが実行できた
.classファイルが生成されていることを確認した
Calculationが実行できた
全部できたら次の単元へ進もう