手を動かして学ぶ 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入門 (メソッドのオーバーロード)
続きは近日公開予定!
はじめに
この記事は paiza.IO の「Online Java compiler」を利用しています。
2024/12/17 現在、上記環境の Java バージョンは 18 です。(paiza.IO利用ガイド)
実行したコードは paiza.IO で保存および公開されることがあります。
そのため、個人情報などの機密性の高い情報は、コードとして入力しないようにご注意ください。
詳細は paiza.IO の利用規約およびプライバシーポリシーをご確認ください。
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入門 (メソッドのオーバーロード)