このコードの結果について。
class Nifa {
public static void main(String[] args){
int month = 9;
String japaneseMonth = "";
String quarter ="";
if(month == 9){
japaneseMonth = "長月";
} else if (month >= 7 && month <= 9){
quarter = "第二四半期";
}
System.out.println(japaneseMonth + "" + quarter);
}
}
答えろという問題、判らない…まず不明な記号が多すぎる。
ので、調べることになった。まず"&&"について。
これは論理演算子らしい、論理積、とか呼ばれてる。
右辺も左辺もtrueの時はtrue、どちらかでもfalseだったらfalseとか。
”==”は確か代入だったような…違った、代入演算子が"="で、ダブルイコールは等価演算子。
これで結果が判る。まずmonth変数にはint型、整数の9が入る。
ただ、初期化してるかこれ…いや、変数を宣言して初期化するのと値を代入するのは、同時かつ一文で出来ることが、
で説明されてる。
だからmonthは9で間違いない。
String型のjapaneseMonth、quarterは、最初は""で、何も値が入ってないが。
monthに9が入っているという条件下の時は、japaneseMonthに"長月"という文字列が入る。
もしmonthに7以上9以下…int型だから、小数点が入ることはない・・・か、恐らく。
monthは9が入ってて、それ以外の値が入れられることはないから、else ifの条件指定の無意味。
monthが9の時は、変数japaneseMonthとquarterに、それぞれ指定の文字列が入る。
だから答えは「長月 第二四半期」になる。
あっ、違った。
で書いてる、&&は「かつ」を示す条件演算子だと。
monthの値は9だから、それ以外の値が入ることはあり得ない。そんな条件は記述されてない。
に書いてる。if文を抜けるってことだ、else if文に入らずに。
だから答えは「長月」だけってか。
を、ちゃんと読んどかないとな…。
ちなみにクラス名にしたNifaってのは、進撃の巨人 Season3を観てて出てきたキャラクター。
であり、お風呂サイドワゴンにも同じのがあるみたい。
聖愛中学高等学校のJava講座、判りやすいから読んでみるか、また。https://seiai.ed.jp/sys/text/java/