手を動かして学ぶ Java入門 (Hello world 編)
環境構築不要! ブラウザから直接 Java のコードを実行できます。
 本記事では、Java で "Hello, world!" を表示させる方法を学びます。
10分くらいで、さくっと終わる記事をめざしています。
シリーズ一覧
- シリーズ 
        
- 手を動かして学ぶ Java入門 (Hello world 編)
 - 手を動かして学ぶ Java入門 (数値と演算)
 - 手を動かして学ぶ Java入門 (数値と変数)
 - 手を動かして学ぶ Java入門 (コメントの書き方)
 - 手を動かして学ぶ Java入門 (文と式の違い)
 - 手を動かして学ぶ Java入門 (if文)
 - 手を動かして学ぶ Java入門 (if-else文、if-elseif文)
 - 手を動かして学ぶ Java入門 (文字列の連結)
 - 手を動かして学ぶ Java入門 (while文)
 - 手を動かして学ぶ Java入門 (break文)
 - 手を動かして学ぶ Java入門 (continue文)
 - 手を動かして学ぶ Java入門 (for文)
 - 手を動かして学ぶ Java入門 (クラスの超基本)
 - 手を動かして学ぶ Java入門 (クラス・メソッド)
 - 手を動かして学ぶ Java入門 (クラス・フィールド)
 - 手を動かして学ぶ Java入門 (クラス・コンストラクタ)
 - 手を動かして学ぶ Java入門 (文字列クラス)
 - 手を動かして学ぶ Java入門 (静的メソッド)
 - 手を動かして学ぶ Java入門 (静的フィールド)
 - 手を動かして学ぶ Java入門 (定数の定義)
 - 手を動かして学ぶ Java入門 (クラス継承の超基本)
 - 手を動かして学ぶ Java入門 (メソッドのオーバーライド)
 - 手を動かして学ぶ Java入門 (メソッドのオーバーロード)
 - 手を動かして学ぶ Java入門 (thisキーワード)
 - 手を動かして学ぶ Java入門 (superキーワード)
 - 手を動かして学ぶ Java入門 (抽象クラスと抽象メソッド)
 - 手を動かして学ぶ Java入門 (インタフェースの基本)
 - 手を動かして学ぶ Java入門 (Objectクラス)
 - 手を動かして学ぶ Java入門 (プリミティブ型)
 - 手を動かして学ぶ Java入門 (配列)
 
 
はじめに
この記事は paiza.IO の「Online Java compiler」を利用しています。
 2025/5/27 現在、上記環境の Java バージョンは 18 です。(paiza.IO利用ガイド)
実行したコードは paiza.IO で保存および公開されることがあります。
 そのため、個人情報などの機密性の高い情報は、コードとして入力しないようにご注意ください。
詳細は paiza.IO の利用規約およびプライバシーポリシーをご確認ください。
Hello, world!
Hello world(ハロー・ワールド)は、画面に「Hello, world!」やそれに類する文字列を表示するプログラムの通称である。
Java に限らず、プログラム言語でよく最初に教えられるのが
- 画面に "Hello, world!" を表示させる
 
というものです。
 なぜこれが最初のお題に選ばれるかというと、理由は「とても簡単なプログラム」だからですね。
というわけで、さっそくやってみましょう。
まだ Java をなにも学んでいない? …ご安心ください。
 プログラムのコードは準備してあります。まずは体験することが大事です。
コードは変更せずに、そのまま「実行(Ctrl-Enter)」ボタンを押してください。
(表示がおかしいときは「コードの再読み込み」ボタンを押してみてください)
いかがでしたでしょうか?
 「出力」のところに、"Hello, world!" と表示されたら成功です。
これで、あなたは Java の経験者となりました。
次は "Hello, world!" の箇所をいろいろと書き換えて「実行」ボタンを押してみましょう。
System.out.println("Hello, world!");
                    ^^^^^^^^^^^^^ <--- ここを書き換える
 
      「出力」は変わりましたでしょうか?
プログラムは、自分が書いたとおりに実行されます。
 可能性は無限です。そこが面白いところですね。
ちなみに、"Hello, world!" のような文字の集まりを「文字列」といいます。
 a, b, c, d ... という文字が列になっているからですね。
Java で文字列を書くときには、文字列を " ... " とダブルクォーテーションで囲います。
 ( " ← がダブルクォーテーション )
「文字列」という単語は、日常生活ではあまり使わないかもしれません。
 しかし、プログラミングやコンピュータ用語としては、かなりの頻度で使います。
ぜひ、この機会に慣れてしまいましょう。
解説
Java の "Hello, world!" プログラムは、他のプログラミング言語に比べて難しいといわれています。
 とても簡単なプログラムといいつつ 5行 もありますしね…
public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}
 
      とはいえ、ここで腐っていても仕方ありません。
 簡単にですが解説していきます。
メモ
- Java の "Hello, world!" が難しいという問題は、今後の Java アップデートで改善される予定です。
(Java 21 ではプレビュー機能としてお試し実装されています) 
メソッド
それでは、コードを少しずつ見ていきましょう。
public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}
 
      もっとも大事なのは 3行目 です。
System.out.println("Hello, world!");
 
      プログラムを実行すると、↑の行が処理されます。
 とりあえず、今回はここだけでも理解していきましょう。
この行は、大きく3つの要素に分けられます。
System.out.println("Hello, world!");
^^^^^^^^^^ ------- +++++++++++++++
↑ (1)      ↑ (2)   ↑ (3)
 
      これは「System.out」に対して「"Hello, world!"」を「println」しなさい、と命令している文です。
ちょっと違うかもしれませんが、英語の文法的に考えると、
- System.out ... 主語(S)
 - println ... 動詞(V)
 - "Hello, world!" ... 目的語(O)
 
ですかね。
この中で println のことを、Java では メソッド と呼びます。
 (他のプログラミング言語を学んでいるかたは、「関数」や「メンバ関数」といったほうがピンとくるかもしれません)
println は
- 画面に文字列を表示しなさい
 
という メソッド です。
メソッドは、英語では method と書きます。
 直訳すると「手法」や「方式」となります。意訳して「手続き」とかでしょうか。
なんにしても、しっくりくる日本語訳はなさそうです。
 「メソッド」とそのまま理解してしまうのがよいと思います。
Main クラス
public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}
 
      プログラムの1行目は、Main という名前の クラス を宣言しています。
 そして、クラスの内容は { ... } の中括弧でくくります。
public class Main {
    ...
}
 
      正直にいうと、クラスはとても難しい概念です。
 (難しいというか、機能てんこ盛りで学ばなければならないことが多すぎる … という感じかも)
なので、今回の記事ではクラスは解説しません。
 まだクラスを学ぶには早いと思うので …
もし先行してクラスのことを学びたいかたは、下記の記事をご参照ください。
関連 : クラスの必要最低限を学ぶ
今回は、Java のプログラムを実行するには、とりあえず Main クラスが必要なんだ、程度の理解で OK です。
補足
- プログラムを実行するためのクラス名は、Main 以外にも自由につけることができます。
ただし、paiza.IO の Java 実行環境では Main クラス固定となっています。 
main メソッド
public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}
 
      プログラムの2行目は、main という名前のメソッドを宣言しています。
 そして、メソッドの内容は { ... } の中括弧でくくります。
public static void main(String[] args) {
    ...
}
 
      先ほど、println はメソッドだと解説しました。
 println は System.out が持つメソッドです。
そして、この main メソッドは Main クラスが持つメソッドになります。
 つまり、メソッドは自分で好きなように定義することもできるのです。
ただ、public やら static やら相変わらず難しいですよね …
 (事前知識が必要なことが多すぎる)
Java プログラムを実行すると、この main メソッドが最初に呼び出されます。
 そして、main メソッド内に記述した、
System.out.println("Hello, world!");
 
      が実行されて、画面に "Hello, world!" と表示されるわけです。
今回は、Java のプログラムを実行するには、とりあえず main メソッドが必要なんだ、程度の理解で OK です。
 (先ほどの Main クラスの解説と同じですみません…)
応用問題
先ほどは、"Hello, world!" という文字列を 1行 表示させました。
 そこで、応用問題として、どんな文字列でもよいので 3行 表示させてみてください。
ヒントとしては、
System.out.println("...");
 
      ↑ のコードは、文字列を 1行 表示させます。
それでは、下のプログラムにコードを書き加えて「実行(Ctrl-Enter)」してみましょう。
(表示がおかしいときは「コードの再読み込み」ボタンを押してみてください)
無事に、文字列を 3行 表示させることはできましたでしょうか?
 もし解けなかった場合は、下記の回答例をご参照ください。
回答例
【コード】
public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, world!");
        System.out.println("Java の世界へようこそ!");
        System.out.println("このサイトは「プログラミングTIPS!」です。");
    }
}
 
       【出力】
Hello, world!
Java の世界へようこそ!
このサイトは「プログラミングTIPS!」です。
 
      まとめ
今回は、次のことを学習しました。
- 画面に "Hello, world!" を表示させた。
 - "Hello, world!" のような文字の集まりを「文字列」という。
 - 文字列を画面に表示させるには System.out の println メソッドを使う。
 
次回は「手を動かして学ぶ Java入門 (数値と演算)」になります。
関連記事
- シリーズ 
        
- 手を動かして学ぶ Java入門 (Hello world 編)
 - 手を動かして学ぶ Java入門 (数値と演算)
 - 手を動かして学ぶ Java入門 (数値と変数)
 - 手を動かして学ぶ Java入門 (コメントの書き方)
 - 手を動かして学ぶ Java入門 (文と式の違い)
 - 手を動かして学ぶ Java入門 (if文)
 - 手を動かして学ぶ Java入門 (if-else文、if-elseif文)
 - 手を動かして学ぶ Java入門 (文字列の連結)
 - 手を動かして学ぶ Java入門 (while文)
 - 手を動かして学ぶ Java入門 (break文)
 - 手を動かして学ぶ Java入門 (continue文)
 - 手を動かして学ぶ Java入門 (for文)
 - 手を動かして学ぶ Java入門 (クラスの超基本)
 - 手を動かして学ぶ Java入門 (クラス・メソッド)
 - 手を動かして学ぶ Java入門 (クラス・フィールド)
 - 手を動かして学ぶ Java入門 (クラス・コンストラクタ)
 - 手を動かして学ぶ Java入門 (文字列クラス)
 - 手を動かして学ぶ Java入門 (静的メソッド)
 - 手を動かして学ぶ Java入門 (静的フィールド)
 - 手を動かして学ぶ Java入門 (定数の定義)
 - 手を動かして学ぶ Java入門 (クラス継承の超基本)
 - 手を動かして学ぶ Java入門 (メソッドのオーバーライド)
 - 手を動かして学ぶ Java入門 (メソッドのオーバーロード)
 - 手を動かして学ぶ Java入門 (thisキーワード)
 - 手を動かして学ぶ Java入門 (superキーワード)
 - 手を動かして学ぶ Java入門 (抽象クラスと抽象メソッド)
 - 手を動かして学ぶ Java入門 (インタフェースの基本)
 - 手を動かして学ぶ Java入門 (Objectクラス)
 - 手を動かして学ぶ Java入門 (プリミティブ型)
 - 手を動かして学ぶ Java入門 (配列)
 
 



