if

if(条件式){
}else if(条件式){
}else if(条件式){
}else{
}
「else if」「else」は無くても良い
条件式・elseの後は一文なら{}を省略できる

switch

switch(条件となる変数){
case 0:       // 条件となる変数が0の場合ここの処理を実行する
    break;   // breakしないと次のcaseも実行される
case 1:
    break;
default:       // それ以外
}

for

for(初期値 ; 条件式 ; 1回ごとの処理){
}
条件式がtrueなら{}の中を処理。
{}の中の処理が1回終わるごとに()内の「1回ごとの処理」を行い「条件式」を評価する

for(int i=0;i<5;i++){     // iが0~4まで5回繰り返す
   System.out.println(i);  // 0~4が出力される
}
処理が一文なら{}を省略できる
( )の中はそれぞれ省略可能だが{}で無限ループにならないように処理する必要がある

拡張for

for(配列の要素を1つ取り出すための変数 : 配列名){  // 区切りの記号は「:」なので注意!
}

int[] array={1,2,3};
for(int num:array){
   System.out.println(num);
}
arrayの要素{1,2,3}を順番にint numに代入して要素数の数だけ処理を繰り返す

break,continue

int num=0;
for(int i=0;i<5;i++){
   if(i>2)break;     // i>2のときiのループを抜ける
   if(i==1)continue;   // i==1のとき以降の処理は行わずループの最初に戻る
   num++;
}
whileでも同様にbreak,continueを使用できる。

ネスト

int[][] map={{1,2,3,4},{1,0,1,0},{2,3,4,5}};
for(int y=0;y<map.length;y++){
   for(int x=0;x<map[0].length;x++){
      System.out.print(map[y][x]+" ");
   }
   System.out.print("\n");   // ここはxのループから抜けてyのループ。1行ごとに改行
}
2次元配列に入った数値をx=4,y=3(3行4列)として出力。
whileでも同様にネストできる
whileの中にforを入れたりifを入れたり何重にもネストできる。
.lengthは配列の要素数。
今回の場合 map.lengthは3。map[0].lengthは4

while

while(条件式){   // 条件式がtrueなら{}の中の処理を繰り返す
}
無限ループにならないように処理する必要がある

do while

do{       // {}の中を実行してから条件式を評価して繰り返すかどうか決める
}while(条件式);
※ do while で continue を使うと途中の処理は飛ばして最後の条件式に進むので注意