入門 ローカル(VS Code + Java) 約15分

ローカルで実行してコードを直す

ファイル保存、コンパイル、再実行の流れを通して、ローカルでコードを直しながら確認するレッスン。

前回のセットアップで Hello World が動きました。ここからは「コードを変える → 保存 → 実行」のサイクルに慣れていきます。ブラウザ環境と違い、ファイルの保存とコンパイルが必要になるので、その感覚をつかむのがこの回の目的です。

コードを書き換えて再実行する

前回作った Main.java を開き、表示する文字列を変えます。

public class Main {
  public static void main(String[] args) {
    System.out.println("ローカル実行できた!");
  }
}

ファイルを保存(Ctrl + S)してから、ターミナルで実行します。

javac Main.java
java Main
ローカル実行できた!

ブラウザ環境では「コードを変える → 実行ボタン」の2ステップでしたが、ローカルでは以下の3ステップになります。

  1. コードを書き換える
  2. ファイルを保存する(Ctrl + S
  3. ターミナルで javacjava を実行する

保存を忘れると、前のコードのまま実行されます。表示が変わらないときはまず保存を確認してください。

ブラウザフェーズの知識をそのまま使う

ローカルでも書く Java のコードは同じです。ブラウザ環境で学んだ変数、for、メソッドをそのまま動かせます。

public class Main {
  public static void main(String[] args) {
    int[] scores = {80, 70, 90, 60, 85};
    int sum = 0;
    for (int i = 0; i < scores.length; i++) {
      sum = sum + scores[i];
    }
    System.out.println("合計: " + sum);
    System.out.println("平均: " + sum / scores.length);
  }
}
合計: 385
平均: 77

配列の回で書いたコードとまったく同じです。環境が変わっても、Java のコード自体は変わりません。

コンパイルエラーを読む

ここでわざと間違いを入れてみます。printlnprinln に変えて保存し、コンパイルしてください。

public class Main {
  public static void main(String[] args) {
    System.out.prinln("テスト");
  }
}
Main.java:3: error: cannot find symbol
    System.out.prinln("テスト");
              ^
  symbol:   method prinln(String)
  location: variable out of type PrintStream
1 error

エラーメッセージの読み方はこうです。

部分意味
Main.java:3ファイル名と行番号(3行目)
error: cannot find symbol「その名前が見つからない」というエラーの種類
method prinln(String)見つからなかったのは prinln というメソッド

printlnt が抜けているのが原因です。修正して保存し、もう一度 javac Main.java を実行すればエラーは消えます。

ブラウザ環境でもエラーは出ますが、ローカルのほうがエラーメッセージの情報が多く、慣れると原因を見つけやすくなります。

VS Code の実行ボタンを使う

Extension Pack for Java をインストールしていれば、main メソッドの上に「Run」というリンクが表示されます。右上の ▷ ボタンからも実行できます。

エディタ上の Run リンクと右上の実行ボタン エディタ上の Run リンクと右上の実行ボタン

ファイルを右クリックして「Run Java」を選ぶ方法もあります。

右クリックメニューから Run Java を選択する 右クリックメニューから Run Java を選択する

どの方法でも javacjava をまとめて実行してくれます。毎回ターミナルに手で打つ必要がなくなるので、普段はこちらを使うと楽です。

日本語が文字化けする場合: ターミナルで実行すると Windows の文字コード設定により文字化けすることがあります。Run Java ボタンや右クリックから実行すると回避できます。ターミナルで実行したい場合は chcp 65001 を先に実行してください。

ただし、裏で起きていることは同じ(コンパイル → 実行)です。エラーが出たときにターミナルのメッセージを読めるよう、手動の手順も覚えておいてください。

ブラウザ実行との違いまとめ

ブラウザ実行ローカル実行
保存不要(自動)必要(Ctrl + S
コンパイル自動javac または Run ボタン
エラー表示画面上に簡易表示ターミナルに詳細表示
ファイル使い捨てフォルダに残る
複数ファイル不可可能(次回以降)

次の回へ

ローカルでのコード編集と実行に慣れたところで、次はクラスとオブジェクトに入ります。「データとそれに関する処理をまとめる」方法を学び、Spring Boot に向けた土台を作ります。