Java独学|Javaの制御構文をマスターせよ【他の言語でも使える】

Java独学|Javaの制御構文をマスターせよ【他の言語でも使える】
  • URLをコピーしました!

Javaのテキストが終わった〜。こんにちは、趣味でプログラミングを独学しているウルフです。

Javaに限らず、どのプログラミング言語にも出てくる制御構文

条件を細かく設定するためには、使い慣れておきたい仕組みです。

こいつをマスターすべく、当記事では

Javaの制御構文の種類と違いを自分なりにまとめていきます

Javaを学習中な人もそうでない人もぜひご参考あれ!

目次

プログラミングにおける制御構文とは?

まず最初に、プログラミングにおける制御構文について解説しておきます。

条件によって動作を制御すること

制御構文とは、もう本当にそのまんまの意味

  1. もし条件に当てはまるなら動作するしない
  2. もし条件に当てはまらないなら動作しない

というように、条件を設定して制御していくのが制御構文です。

この後、色々紹介するが…..主に使われるのが「if」「for」このあたりだな!

「処理の分岐」か「処理の繰り返し」

制御構文の種類としては大きく2つにわかれます。

  1. 分岐
  2. 繰り返し


これらをうまく使って、プログラミングをしていくというわけです。

基本的にどのプログラミング言語でも仕組みは同じ

ちなみに、この制御構文は基本的にどのプログラミング言語でも仕組みは同じです。

なので、1つの言語でマスターすれば、他のプログラミング言語を学んだときも習得が楽になります。

制御構文をここで覚えると、他のプログラミング言語習得で楽になる!

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

Java独学|Javaの制御構文の種類と違い

Javaの制御構文のリストは以下の通りです。

  1. if
  2. switch
  3. while
  4. do…while
  5. for
  6. 拡張for
  7. 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 の中で使用されるものです。

  1. 強制終了→break
  2. 次の処理をスキップして新しい処理へ→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の制御構文の種類を表にしてまとめおきます

構文書き方特徴
ifIf (条件式){
 処理内容
}else{
 処理内容
最も使われる
switchswitch(条件式){
 Case 値1:
  処理内容1
  break;
 Case 値2:
  処理内容2
  break;
 default:
  処理内容3
ifに似てるがコードの書く量は多い
whilewhile(条件式){
 処理内容
とにかく繰り返す。
回数指定はできない。
do…whiledo{
 処理内容
}while(条件式){
 処理内容
doの処理は必ず1回実行する。
回数指定はできない。
forfor(初期化式; 条件式; 変化式;){
 処理内容
繰り返す。
回数指定はできる。
拡張forforと同じforと同じ。
配列やコレクションにも使える。
わかんないなら「ふ~ん」という理解度でおk
名前書き方特徴
breakbreak;終わらせる
forやwhileに使われる
continuecontinue;スキップして次の処理へ
forやwhileに使われる

迷った時の参考としてどうぞ。

ウルフ流のプログラミング独学方法もお勧めだよ!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次