Javaのテキストが終わった〜。こんにちは、趣味でプログラミングを独学しているウルフです。
Javaに限らず、どのプログラミング言語にも出てくる制御構文
条件を細かく設定するためには、使い慣れておきたい仕組みです。
こいつをマスターすべく、当記事では
Javaの制御構文の種類と違いを自分なりにまとめていきます
Javaを学習中な人もそうでない人もぜひご参考あれ!
プログラミングにおける制御構文とは?

まず最初に、プログラミングにおける制御構文について解説しておきます。
条件によって動作を制御すること
制御構文とは、もう本当にそのまんまの意味
- もし条件に当てはまるなら、動作するしない
- もし条件に当てはまらないなら、動作しない
というように、条件を設定して制御していくのが制御構文です。

この後、色々紹介するが…..主に使われるのが「if」「for」このあたりだな!
「処理の分岐」か「処理の繰り返し」
制御構文の種類としては大きく2つにわかれます。
- 分岐
- 繰り返し
これらをうまく使って、プログラミングをしていくというわけです。
基本的にどのプログラミング言語でも仕組みは同じ


ちなみに、この制御構文は基本的にどのプログラミング言語でも仕組みは同じです。
なので、1つの言語でマスターすれば、他のプログラミング言語を学んだときも習得が楽になります。



制御構文はいっけんややこしそうだけど、仕組みや使い方は至ってシンプルだ!これを機に、Javaの制御構文をサクッ理解してマスターしておこうぜ!
Java独学|Javaの制御構文の種類と違い


Javaの制御構文のリストは以下の通りです。
- if
- switch
- while
- do…while
- for
- 拡張for
- breakとcontinue
他の言語と比べても種類が圧倒的に多い、、、
順番に使いながら覚えていきましょう!
if
- If (条件式){処理内容}
- If (条件式){処理内容}else{処理内容}
if構文は最もオーソドックス
使い方は
「もし〜な時は◯◯、それ以外なら◯◯」
というように分岐させて使います。
どのプログラミング言語でも使用頻度が高すぎて、嫌でも覚えるようなのがif構文です。



最もオーソドックスなのがこの「if構文」
まずは、自分で簡単な条件を組んでみて、使い慣れていこう!
public class test {
public static void main(String[] args){
// num = 6 の数字を変えてみてね!
int num = 6;
if(num > 5) {
System.out.println("5より大きい");
}else{
System.out.println("5より小さい");
}
}
}
switch
switch(条件式){
Case 値1:
処理内容1
break;
Case 値2:
処理内容2
break;
Case 値3:
処理内容3
break;
default:
処理内容4
}
switchはif構文とほぼ同じ。
違いとしてはコードの行数です。
また、各処理の終わりに「break;」を使用していきます。
ifの方がコードを書く行数が少ないため、使用頻度は低いかもしれません。
使いどころを誰か私に教えて欲しい。



しかし、たくさんの条件分岐がある場合にはswitchの方が便利と言われているみたいだな….初心者のうちは「ふ~ん、ifとほぼ同じなんだ~」くらいで理解しておくといいぞ!
public class test {
public static void main(String[] args){
// 数字を変えてみてね!
int num = 12;
switch (num) {
case 1:
System.out.println(1);
break;
case 2:
System.out.println(2);
break;
case 3:
System.out.println(3);
break;
// default は if でいう所の else だよ!
default:
System.out.println("条件にあてはまらないよ!");
}
}
}
while
while(条件式){処理内容}
while構文は
「とにかく繰り返したい」
という時に使われる構文です。
条件式が当てはまれば(trueになれば)繰り返しの処理をしてくれます。
マジで永遠に繰り返すことができるので、終わりの見えない無限ループするようなプログラムを組むことも可能です。
ただ、プログラムのストップ方法を知らないと永遠に処理が続くからけっこう焦ります。



実は似たようなモノにforがあるんだが、forと違って回数で繰り返しを区切らないのが特徴的だ!
public class test {
public static void main(String[] args){
// num = 1 の数字を変えてみてね!
int num = 1;
// num = 11 の時、表示されません。
while (num < 10) {
System.out.println(num++);
System.out.println("whileの文です!");
}
}
}
do…while
do{処理内容}while(条件式){処理内容};
whileに似ている構文do while
まぁ、こいつも繰り返したい時に使われるのですけどもね。
違いとしては、doの処理を必ず1回は挟んでいくということ
doの中に書かれた処理は、条件に会う合わないに関係なく必ず1回は行います。



do whileはプログラミング言語のJavaScriptやPHPでは見たことない構文だったから、新鮮だな、、、
public class test {
public static void main(String[] args){
// num = 1 の数字を変えてみてね!
int num = 1;
// num = 11 の時、11と "do...whileの文です!" が1回だけ表示されます。
do {
System.out.println(num++);
System.out.println("do...whileの文です!");
} while (num < 10);
}
}
for
for(初期化式; 条件式; 変化式;){処理内容};
for構文もよく使われるかつwhileと似ている上、()の中も条件が多いからややこしい
繰り返したいという点において同じだけど
whileと違うのは回数を指定できるということ
繰り返しの条件をより細かく、回数を指定して繰り返すことができます。



for もよく使われる構文だから覚えておきたいな!() の中の文を理解するのに苦労すると思うが、何回も繰り返し使って理解していこう!
public class test {
public static void main(String[] args){
// ()内の i < 10 の数字を変えてみてね!
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
}
}
「i++」 はインクリメント演算子というものです。「i++」 の意味を知りたい方はコチラの記事も参考にしてみて下さい!
拡張for
forと同じ!
for構文には拡張forというものがあります。
何が拡張やねんて話なんですが、違いとしては
配列やコレクションの全ての要素に対して使えるということですかね。
要するに、数字じゃなくて文字列も使える!ってこと
最初聞いた時「forに拡張とかあるんだ!」って不思議に思った記憶があります。



使い方について、いまいちピンとこない方は一旦それでいいと思うぞ
breakとcontinue
breakとcontinueは制御するにはするんだけど、使用方法が少し違っていて
繰り返し処理(for、while)とswitch の中で使用されるものです。
- 強制終了→break
- 次の処理をスキップして新しい処理へ→continue
というように覚えておいて良いかと。
英語の意味で考えるとわかりやすいかもですね。



主に、for や whileの制御構文の中に、if構文を書いて使われる傾向にあるな。覚えるために、確認用コードを駆使してみてくれ!
break
public class test {
public static void main(String[] args){
// ()内の i > -1 だと無限ループになります
// でも break; のおかげで途中でループを止めることができます!
for (int i = 0; i > -1; i++) {
System.out.println(i);
// i == 5 の数字を変えてみてね!
if (i == 10) {
break;
}
}
}
}
continue;
public class test {
public static void main(String[] args){
for (int i = 0; i < 10; i++) {
// i == 5 の数字を変えてみてね!
// 5 以外が表示されます。
if (i == 5) {
continue;
}
System.out.println(i);
}
}
}
まとめ|制御構文を制すれば他のプログラミング言語でも応用可
最後にJavaの制御構文の種類を表にしてまとめおきます
構文 | 書き方 | 特徴 |
---|---|---|
if | If (条件式){ 処理内容 }else{ 処理内容 } | 最も使われる |
switch | switch(条件式){ Case 値1: 処理内容1 break; Case 値2: 処理内容2 break; default: 処理内容3 } | ifに似てるがコードの書く量は多い |
while | while(条件式){ 処理内容 } | とにかく繰り返す。 回数指定はできない。 |
do…while | do{ 処理内容 }while(条件式){ 処理内容 } | doの処理は必ず1回実行する。 回数指定はできない。 |
for | for(初期化式; 条件式; 変化式;){ 処理内容 } | 繰り返す。 回数指定はできる。 |
拡張for | forと同じ | forと同じ。 配列やコレクションにも使える。 わかんないなら「ふ~ん」という理解度でおk |
名前 | 書き方 | 特徴 |
---|---|---|
break | break; | 終わらせる forやwhileに使われる |
continue | continue; | スキップして次の処理へ forやwhileに使われる |
迷った時の参考としてどうぞ。
ウルフ流のプログラミング独学方法もお勧めだよ!

