
Java道|Javaコードのしくみと実行の流れ
Javaコードは、少し変えるだけで動きの見え方が変わる。
コメント、文の数、実行順序を追いながら、mainメソッドの流れを理解しよう。
Javaのコードは、ただ文字が並んでいるだけではありません。
どこから処理が始まり、どの命令がどの順番で実行され、どのように結果が画面に表示されるのかという、はっきりした流れがあります。
今回は、変更前の Sample1.java を、変更後の Sample1.java に変える例を使って、Javaコードのしくみを見ていきます。変更後のコードでは、コメントの内容が変わり、画面に表示する文が1つから2つに増えています。そのため、mainメソッドの中で文が上から順番に実行されることや、println によって1行ずつ表示されることが、より分かりやすくなっています。
鬼滅の刃の世界観にたとえるなら、変更前のコードは「最初の一太刀」を確認する型、変更後のコードは「二つの動きを順番に放つ型」です。
| Javaコードの要素 | 鬼滅風のたとえ |
|---|---|
| class Sample1 | 技の型を収める巻物の名前 |
| mainメソッド | 技が始まる合図 |
| System.out.println | 画面に言葉を放つ技 |
| 文 | 1つ1つの動作 |
| ブロック | 技の範囲を囲む結界 |
| コメント | 修行内容を説明するメモ |
| インデント | 型の流れを見やすく整える姿勢 |
変更前と変更後を確認しよう
まず、変更前の Sample1.java を確認します。
ファイル名:Sample1.java(変更前)
class Sample1
{
public static void main(String[] args)
{
// 最初の修行メッセージを表示する
System.out.println("Java修行の第一歩です。");
}
}このコードでは、mainメソッドの中に表示命令が1つあります。
実行すると、画面には次のように表示されます。
Java修行の第一歩です。次に、Sample1.java を以下のように変更します。
ファイル名:Sample1.java(変更後)
// Java修行の開始メッセージを表示するプログラム
class Sample1
{
public static void main(String[] args)
{
System.out.println("Java修行を始めます。");
System.out.println("一歩ずつコードの型を覚えます。");
}
}変更後のコードを実行すると、画面には次のように表示されます。
Java修行を始めます。
一歩ずつコードの型を覚えます。変更後では、表示されるメッセージが2行になりました。
これは、mainメソッドの中に System.out.println の文が2つ書かれているからです。
変更した点を整理しよう
変更前と変更後の違いを表で整理すると、次のようになります。
| 変更点 | 変更前 | 変更後 |
|---|---|---|
| コメントの位置 | mainメソッドの中 | クラス定義の前 |
| コメントの内容 | 最初の修行メッセージを表示する | Java修行の開始メッセージを表示するプログラム |
| 表示命令の数 | 1つ | 2つ |
| 表示内容 | Java修行の第一歩です。 | Java修行を始めます。 / 一歩ずつコードの型を覚えます。 |
| 実行結果 | 1行表示 | 2行表示 |
今回の変更で特に大切なのは、次の3つです。
| 注目したい変更 | 学べること |
|---|---|
| コメントをプログラム全体の説明に変えた | コメントは人が読むための説明であること |
| printlnの文を2つに増やした | 文が上から順番に実行されること |
| 表示結果が2行になった | printlnは表示後に改行すること |
鬼滅風にたとえるなら、変更前は「一つの型を一度だけ放つ」コードです。
変更後は「二つの型を順番に放つ」コードです。
1つ目の文で Java修行を始めます。 と表示し、2つ目の文で 一歩ずつコードの型を覚えます。 と表示します。
この順番が、そのまま画面の表示順になります。
変更後のSample1.javaの全体を見てみよう
この記事では、変更後の Sample1.java を中心に解説します。
ファイル名:Sample1.java
// Java修行の開始メッセージを表示するプログラム
class Sample1
{
public static void main(String[] args)
{
System.out.println("Java修行を始めます。");
System.out.println("一歩ずつコードの型を覚えます。");
}
}このコードには、Javaの基本的なしくみがしっかり入っています。
| 確認したいこと | 内容 |
|---|---|
| 処理はどこから始まるのか | mainメソッドから始まる |
| どこまでが実行される範囲か | mainメソッドのブロック内 |
| どの順番で命令が動くのか | 上から順番に実行される |
| なぜ2行表示されるのか | printlnの文が2つあるから |
| コメントは実行されるのか | 実行されない |
変更後のコードでは、System.out.println が2つあるため、文の実行順序を確認しやすくなっています。
Javaの処理はmainメソッドから始まる
Javaのプログラムでは、基本的に mainメソッド から処理が始まります。
変更後のSample1.javaでは、次の部分です。
public static void main(String[] args)この行は、Javaにとって特別な意味を持つ場所です。
プログラムを実行すると、Javaはまず main という名前の付いた場所を探し、そこから処理を始めます。
最初の段階では、public、static、void、String[] args の細かい意味をすべて覚えなくても大丈夫です。
まずは、次のように理解しましょう。
| 記述 | 今の段階での理解 |
|---|---|
| main | プログラムの開始地点 |
| mainメソッド | 実行される処理を書く場所 |
| mainメソッドの中 | 上から順番に命令が実行される |
鬼滅風にたとえるなら、mainメソッドは技を始める号令です。
巻物の中にいろいろな説明や構造があっても、実際に技が始まる場所は決まっています。
Javaでは、その入口が mainメソッド です。
mainメソッドの中に実行される文を書く
変更後の Sample1.java では、mainメソッドの中に2つの文があります。
System.out.println("Java修行を始めます。");
System.out.println("一歩ずつコードの型を覚えます。");この2つの文が、実際に画面表示を行います。
| 順番 | 文 | 役割 |
|---|---|---|
| 1 | System.out.println("Java修行を始めます。"); | 1行目を表示する |
| 2 | System.out.println("一歩ずつコードの型を覚えます。"); | 2行目を表示する |
Javaでは、基本的に文は上から順番に実行されます。
そのため、1つ目の文が先に実行され、そのあとで2つ目の文が実行されます。
実行結果は次のようになります。
Java修行を始めます。
一歩ずつコードの型を覚えます。このように、書いた順番と表示される順番が対応しています。
変更後のコードが2行表示になる理由
変更前のコードでは、printlnの文が1つだけでした。
System.out.println("Java修行の第一歩です。");そのため、実行結果も1行だけでした。
Java修行の第一歩です。一方、変更後のコードでは、printlnの文が2つあります。
System.out.println("Java修行を始めます。");
System.out.println("一歩ずつコードの型を覚えます。");printlnは、表示したあとに改行する命令です。
そのため、1つ目のprintlnで1行目が表示され、2つ目のprintlnで2行目が表示されます。
| printlnの文 | 表示内容 | 表示後の動き |
|---|---|---|
| 1つ目 | Java修行を始めます。 | 改行する |
| 2つ目 | 一歩ずつコードの型を覚えます。 | 改行する |
つまり、変更後のコードで2行表示される理由は、次の通りです。
| 理由 | 内容 |
|---|---|
| printlnの文が2つある | 表示命令が2回実行される |
| 文が上から順番に実行される | 1行目、2行目の順に表示される |
| printlnは改行する | それぞれ別の行に表示される |
鬼滅風に言えば、2つの技を順番に放ち、それぞれの技のあとに構え直しているイメージです。
コメントは人が読むための説明
変更後のコードでは、先頭にコメントがあります。
// Java修行の開始メッセージを表示するプログラムコメントは、プログラムの説明を書くためのものです。
コンピュータが実行する命令ではありません。
Javaでは、// からその行の終わりまでがコメントとして扱われます。
| 記述 | 役割 |
|---|---|
| // から始まる行 | コメントとして扱われる |
| 実行されるか | 実行されない |
| 主な目的 | 人が読みやすくするための説明 |
変更前では、コメントはmainメソッドの中にありました。
// 最初の修行メッセージを表示する変更後では、プログラム全体を説明するコメントとして、class Sample1 の前に置いています。
// Java修行の開始メッセージを表示するプログラムこのように、コメントは場所によって説明する範囲の印象が変わります。
| コメントの位置 | 説明しやすい内容 |
|---|---|
| プログラムの先頭 | プログラム全体の目的 |
| mainメソッドの中 | その近くの処理の目的 |
| 複雑な処理の前 | なぜその処理をするのか |
鬼滅風にたとえるなら、コメントは修行ノートです。
実際の技として放たれるわけではありませんが、何をする型なのか、どこに注意するのかを記録しておくことで、あとから理解しやすくなります。
ブロックは処理のまとまりを表す
Javaでは、中カッコ { } で囲まれた部分をブロックと呼びます。
変更後の Sample1.java では、主に2つのブロックがあります。
class Sample1
{
public static void main(String[] args)
{
System.out.println("Java修行を始めます。");
System.out.println("一歩ずつコードの型を覚えます。");
}
}| ブロック | 役割 |
|---|---|
| class Sample1 のブロック | クラス全体のまとまり |
| mainメソッドのブロック | 実行される処理のまとまり |
外側に class Sample1 のブロックがあります。
その中に mainメソッド のブロックがあります。
そして、mainメソッドの中に2つの文があります。
つまり、Javaコードは箱の中にさらに箱があるような構造になっています。
鬼滅風にたとえるなら、外側のブロックは道場全体、内側のブロックは実際に技を出す修行場です。
その修行場の中に、1つ1つの動きである文が並んでいます。
文とは何かを知っておこう
Javaでは、1つ1つの小さな処理の単位を 文 と呼びます。
変更後の Sample1.java では、次の2つが文です。
System.out.println("Java修行を始めます。");
System.out.println("一歩ずつコードの型を覚えます。");Javaの文の多くは、最後に ; を付けて終わります。
この ; はセミコロンと呼ばれ、ここで1つの文が終わることを示します。
| 項目 | 内容 |
|---|---|
| 文 | Javaの処理の小さな単位 |
| 文の終わり | 多くの場合 ; を付ける |
| 実行順序 | 原則として上から順番に実行される |
セミコロンを忘れると、Javaは文がどこで終わるのか判断できず、コンパイルエラーになることがあります。
鬼滅風に言えば、セミコロンは型の終わりを示す印です。
終わりの印がないと、技の一動作がどこで終わるのか分からなくなります。
図:mainメソッドから実行される流れ
↓クリックすると拡大表示されます。

この図は、変更後の Sample1.java が mainメソッドから始まり、その中の2つの文が上から順番に実行される流れを表しています。
この図から分かることは、Javaコードはどこからでも自由に実行されるのではなく、mainメソッドという開始地点から処理が始まるということです。
また、System.out.println が2つ並んでいる場合、1つ目、2つ目の順に実行されることも分かります。
コメントは説明用のメモなので、実行結果には表示されません。
図:ブロック構造
↓クリックすると拡大表示されます。

この図は、変更後の Sample1.java が意味のあるまとまりごとに構成されていることを表しています。
この図から分かることは、Javaでは class のブロックの中に mainメソッド のブロックがあり、その中に実行される文が入っているということです。
初心者のうちは、どの } がどの { に対応しているのか迷いやすいです。
しかし、ブロックを箱として見ると、外側の箱、内側の箱、その中の文という関係が理解しやすくなります。
文は上から順番に処理される
Javaの基本では、文は原則として上から順番に1つずつ処理されます。
変更後の Sample1.java では、次の順番で文が並んでいます。
System.out.println("Java修行を始めます。");
System.out.println("一歩ずつコードの型を覚えます。");この場合、画面には次の順番で表示されます。
Java修行を始めます。
一歩ずつコードの型を覚えます。では、表示する順番を入れ替えるとどうなるでしょうか。
ファイル名:Sample1.java
// 実行順序の違いを確認するプログラム
class Sample1
{
public static void main(String[] args)
{
System.out.println("一歩ずつコードの型を覚えます。");
System.out.println("Java修行を始めます。");
}
}この場合、実行結果は次のようになります。
一歩ずつコードの型を覚えます。
Java修行を始めます。書く順番を変えると、実行される順番も変わります。
| 書いた順番 | 表示される内容 |
|---|---|
| 1番目 | 一歩ずつコードの型を覚えます。 |
| 2番目 | Java修行を始めます。 |
このように、Javaでは書いた順番がとても大切です。
鬼滅風に言えば、型の動きの順番を入れ替えれば、技の流れも変わります。
Javaでも、文をどの順番で書くかによって、実行結果が変わります。
改行してもよいのは読みやすくするため
Javaコードは、読みやすくするために適切な場所で改行できます。
たとえば、変更後のコードを1行に詰め込んで書くことも、形式としては可能な場合があります。
class Sample1 { public static void main(String[] args) { System.out.println("Java修行を始めます。"); System.out.println("一歩ずつコードの型を覚えます。"); } }しかし、これではとても読みにくいです。
どこが class のまとまりなのか。
どこが mainメソッド なのか。
どの文がどこにあるのか。
一目で分かりません。
そのため、通常は次のように、ブロックごとに改行して書きます。
class Sample1
{
public static void main(String[] args)
{
System.out.println("Java修行を始めます。");
System.out.println("一歩ずつコードの型を覚えます。");
}
}| 書き方 | 特徴 |
|---|---|
| 1行に詰め込む | 読みにくく、構造が分かりづらい |
| 改行して整える | ブロックや文の位置が分かりやすい |
Javaでは、改行や空白がプログラムの意味そのものを変えない場合もあります。
しかし、コードの読みやすさには大きく影響します。
鬼滅風に言えば、型の動きを整理して見せるようなものです。
動きが整っていれば、どこからどこまでが1つの型なのかが分かりやすくなります。
インデントは読みやすさのための大切な工夫
コード中で、行頭を少し右に下げて書くことを インデント といいます。
変更後の Sample1.java では、mainメソッドの中の文が右に下がっています。
class Sample1
{
public static void main(String[] args)
{
System.out.println("Java修行を始めます。");
System.out.println("一歩ずつコードの型を覚えます。");
}
}この字下げがあることで、どの文が mainメソッド の中にあるのかが分かりやすくなります。
| インデントの役割 | 内容 |
|---|---|
| ブロックの内側を見やすくする | どこがまとまりの中身か分かる |
| コードの構造をつかみやすくする | 入れ子関係が見やすくなる |
| 読み間違いを減らす | 対応する { } を見つけやすい |
Javaでは、空白や改行が意味を変えない場合もあります。
しかし、インデントが整っていると、人が読みやすくなります。
プログラムはコンピュータだけが読むものではありません。
自分自身や、将来一緒に開発する人も読みます。
そのため、見やすいコードを書く習慣はとても大切です。
空白や改行にはルールと自由さがある
Javaでは、空白や改行を入れられる場所と、入れてはいけない場所があります。
たとえば、意味のある単語の途中で改行したり、空白を入れたりするのは正しくありません。
pub lic static void main(String[] args)public を途中で分けているため、これは正しい書き方ではありません。
一方で、言葉と言葉の区切りや、ブロックの区切りでは、空白や改行を使って読みやすくできます。
| 書き方 | よいかどうか | 理由 |
|---|---|---|
| public static void main | よい | 単語ごとに区切られている |
| pub lic static void main | よくない | publicを途中で分けている |
| ブロックごとに改行する | よい | 構造が見やすい |
| すべて1行に詰め込む | 動く場合もあるが読みにくい | 人が理解しにくい |
Javaコードには、ルールと自由さの両方があります。
好き勝手に書いてよいわけではありません。
でも、読みやすさのために改行やインデントを工夫することはできます。
文字列の中では勝手に改行できない
コードそのものは、読みやすくするために改行できます。
しかし、文字列の中では自由に改行できません。
たとえば、次のように文字列の途中でそのまま改行してしまうと、正しい書き方になりません。
System.out.println("Java修行を
始めます。");文字列は、開始の " から終了の " までをひと続きで書く必要があります。
正しく書くなら、次のように1行で書きます。
System.out.println("Java修行を始めます。");| 注意点 | 内容 |
|---|---|
| コードの改行 | 読みやすさのために使える |
| 文字列の途中の改行 | そのままではできない |
| 文字列 | " " で囲んでひと続きとして書く |
ここは、コードの改行と表示したい文字の改行を混同しやすい部分です。
鬼滅風にたとえるなら、巻物の余白を整えることはできますが、技の名前そのものを途中で切ってしまうと別物になってしまう、というイメージです。
コードを読むときの見方を身につけよう
Javaコードを読むときは、いきなり細かい意味をすべて追うよりも、次の順番で見ると理解しやすくなります。
| 見るポイント | 確認する内容 |
|---|---|
| クラス名 | どのプログラムなのか |
| mainメソッド | どこから処理が始まるか |
| ブロック | どこまでがひとまとまりか |
| 文 | どんな命令が並んでいるか |
| 実行順序 | 上からどの順番で動くか |
変更後の Sample1.java なら、次のように見ます。
| 見る場所 | 確認すること |
|---|---|
| class Sample1 | Sample1というクラス |
| mainメソッド | ここから処理が始まる |
| mainの { } | 実行される範囲 |
| 2つのprintlnの文 | 画面に2行表示する命令 |
| 上から順 | Java修行を始めます。のあとに一歩ずつコードの型を覚えます。が表示される |
この見方に慣れると、短いサンプルだけでなく、少し長いコードも読みやすくなっていきます。
Javaコードは見た目の整理も大切
プログラムは、動けばそれでよいというものではありません。
もちろん、正しく動くことは大前提です。
しかし、それと同じくらい、読みやすく書くことも大切です。
特にJavaでは、ブロック構造が多くなりやすいため、改行やインデントが乱れていると、どこからどこまでが同じまとまりなのか分かりにくくなります。
今のうちから、次のことを意識しておきましょう。
| 意識したいこと | 理由 |
|---|---|
| ブロックの始まりと終わりをそろえる | 対応する { } が分かりやすくなる |
| ブロックの中はインデントする | 中身が見やすくなる |
| 文ごとに改行する | 処理の単位を追いやすくなる |
| コメントを使って意図を補足する | あとで見返したときに理解しやすい |
鬼滅風に言えば、読みやすいコードは、型の流れが美しく整っている状態です。
構えが整っていれば、動きも追いやすくなります。
Javaコードも同じです。
見た目を整えることで、処理の流れを理解しやすくなります。
Javaコードのしくみを理解すると次の学習が楽になる
ここまで見てきた内容は、Javaのとても基本的な動きです。
| 基本のしくみ | 内容 |
|---|---|
| mainメソッドから始まる | プログラムの開始地点を理解する |
| 文が順番に実行される | 処理の流れを追える |
| ブロックでまとまりを表す | コードの構造を理解できる |
| コメントは実行されない | 説明文と命令を区別できる |
| 改行やインデントで読みやすくする | 人が理解しやすいコードになる |
今回の変更によって、1つの表示文だけでなく、2つの文が順番に実行される様子を確認できるようになりました。
変更前では、Java修行の第一歩です。という1行だけを表示していました。
変更後では、Java修行を始めます。と一歩ずつコードの型を覚えます。の2行を表示します。
この違いから、Javaでは mainメソッドの中の文が上から順番に実行されること、そして println が1回ごとに改行することがよく分かります。
これから変数、計算、条件分岐、繰り返しなどを学ぶときにも、Javaコードの基本の流れは変わりません。
まずmainメソッドから始まる。
その中の文が順番に実行される。
ブロックでまとまりを表す。
読みやすさのために改行やインデントを整える。
この感覚を身につけておくと、次の学習がぐっと楽になります。
