結果が11ではなく10になる理由がわかりません。
(1)を変数yに代入せずにi++としてreturn iとすると結果が11になります。また、int y = i + 1としてreturn yとしても結果は11となります。しかし、以下のようにインクリメントを利用して変数yに代入した場合の結果が10となるのが理解できません。
基本型を変数に代入すると値がコピーされると聞きました。右辺のi++が11になり、それが変数yにコピーされるとしたら値は11のはずですが、なぜ結果が10となるのでしょうか?
java
1public class Main { 2 public static int math(int i) { 3 int y = i++; // (1) 4 return y; 5 } 6 7 public static void main(String[] args) { 8 int i = 10; 9 System.out.println(math(i)); 10 } 11}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/01/24 10:39
退会済みユーザー
2021/03/16 14:37