①if(){}
変数に対して、条件を指定し、その条件に該当する場合のみ、その後に続く処理をする。
int a = nam1
if(a == 0){
System.out.println("頑張りましょう。");
}
else if(a <= 2){
System.out.println("あと少しです。");
}
else if(a <= 4){
System.out.println("合格です。");
}
else if(a == 5){
System.out.println('⚪︎');//1文字は「' '」でくくる
}
ⅰ順序
上記のコードは変数aをに対し、指定した範囲で分類した結果を状況に応じて画面に出力する。上から順に処理されていくので、カッコ内の「条件指定の式」は、より小さい範囲から指定してく。
上のコードを見てみると、ifのブロックは、区切られていない。if(a == 0)の後ろに記述されている事になっている。「 ; 」が存在しない。「 )」の後ろに;をつけた場合は、if文は成立しなくなる。
ⅱ宣言
if( )または、else if( )のカッコ内では、宣言や初期化はできない。演算も行わない。「演算の式」はカッコ内に記載せず、if文の外(前)に記載する。カッコ内は、「演算の式」の結果に対し、「条件指定の式」を記述する。
ⅲ 条件を表す記号
if( )または、else if( )のカッコ内では、条件指定として不等式( >= <= < > )を使う。等しいという意味で=を用いているので、代入とは異なる事を示す為、==を使う。
&&や||を使う事によって、2つの条件が重なる時や、どちらか一方の条件が重なる時のみなどの条件を指定できる。
ⅳ 処理
その後に続く{ }内での処理は、System.out.println()以外にも初期化や代入も処理できる。処理を記述する際はインデントを行い後から見ても見やすくする。「条件指定の式」の部分ではできなかった宣言も代入もできる。
②switch
演算結果に対して、数値や文字を1つづつ指定し、その数値や文字に該当する場合のみ、処理を行う。
int num1 = Integer.parseInt( str1 );
int num2 = Integer.parseInt( str2 );
switch(num1 + num2){
case 1:
System.out.println("計算結果は1です");
braek;
case 2:
System.out.println("計算結果は2です");
braek;
case 3:
System.out.println("計算結果は3です");
braek;
default:
System.out.println("1〜3以外です");
braek;
}
ⅰ 順序
上記コードの、switch()のカッコ内には「演算の式」を記述し、その結果をcaseの後に記述する。ifのような、「条件の指定の式」は記述出来ない。その代わりに具体的な数値や文字を指定できる。演算の式は、{ }内全てに適用される。
ⅱ 文字や数値を指定する
指定したい数値や文字を、caseの後に記述する。数値の終わりに「 : 」をつける。※「 ; 」ではない。文字を指定する場合は、case 'a': と記載する。:注意:文字はchar型で宣言する。
ⅲ 文字を抜き出す
BuffededReaderクラスからString型(文字列)で入力された文字を抜き出すことができる。
String str1 = br.readLine();
char i = str1.charAt(0);
iに文字列str1の最初の文字を代入する。()内の数値が何番目の文字を抜き出すかの基数となっている。
ⅳ braek;
各「case 〜:」のブロックは必ずbraek;で締めくくる。switch()の場合上から順番に処理をしていくので、braek;を使わないと構文の中から抜け出すことができない。2つ以上のcaseにて、同じ結果になる場合は、braekを入れずに記述する事もできる。
ⅴ 処理
case以下の部分には、System.out.println(" ");
以外にも、宣言や初期化もできる。ifのⅳと同じ。