public class Baz {
public static void main(String[] args) {
int num = 5;
for(int i=0 ;i < 4 ; i++) {
num = num++;
}
System.out.println("Value is :" + num);
}
}
結果プリント値を5、何が起こるれるが、これを見つけ試してみましたか?
public class Baz {
public static void main(String[] args) {
int num = 5;
for(int i=0 ;i < 4 ; i++) {
num = num++;
}
System.out.println("Value is :" + num);
}
}
結果プリント値を5、何が起こるれるが、これを見つけ試してみましたか?
numが++、次のようにあなただけのやるべき+1
NUM = NUMと同じです:
public class Baz {
public static void main(String[] args) {
int num = 5;
for(int i=0 ;i < 4 ; i++) {
num++;
}
System.out.println("Value is :" + num);
}
}
num = num++;
は
num = num;
と同じです
数値は式num++
は、num
の値の前に、の前にインクリメントされます。 num++
はnum
をインクリメントの副作用を有するが、それはすぐに割り当て、このよう
によって戻されるので、num
の値は不変のままです。
num = num++; // don't do this
num++
変数をインクリメントし、それは最初にnum =
によって変数に割り当てられている現在の値に評価されます。インクリメントされた値は破棄されます。
他の言語(Cなど)では、これも未定義の動作です。
行num = num++
は意味がありません。
public class Baz {
public static void main(String[] args) {
int num = 5;
for(int i=0 ;i < 4 ; i++) {
num++;
}
System.out.println("Value is :" + num);
}
}
番号::
num++
だからあなたにあなたのコードを変更する必要がnum = num + 1
に等しい 'NUM = NUM ++は、' 'NUM = num'と同じです。 –
はい、num ++はnum = num +1と同じです、それは私が言ったことです – SCouto
No:この式で割り当てられる値は、インクリメントされる前のnumの値です。これがポスト・インクリメントとプリ・インクリメントの違いです。 –