1, public class Main{ 2, public static void main(String[] args){ 3, int x; 4, int y = 3; 5, if(y > 2){ 6, x = ++y; 7, y = x + 5; 8, }else{ 9, y++; 10, } 11, System.out.println(x + ", " + y); 12, } 13, }
Java SE 11 Silver黒本(第12章-63問)、ローカル変数の初期化に関する問題です。
解説には、5行目のif文の条件式がfalseと判定されると書いてあるのですが、y = 3であるにも関わらずなぜfalseとなるのでしょうか。また、この式では、変数xが初期化されることなく出力されてしまうため、コンパイルエラーとなると書いてあるのですが、ここでの変数xとは3行目のxをローカル変数と捉えればよろしいでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/12/09 06:01
2020/12/09 06:17
2020/12/09 06:48
退会済みユーザー
2020/12/14 05:39