System.out.println("three=one+two==>"+A); 为什么是0?
public class HelloWorld{
public static void main(String[] args) {
int one = 10 ;
int two = 20 ;
int A=0;
A=one+two;
int B=A+=one;
int C=A-=one;
int D=A*=one;
int E=A /=one;
int F=A%=one;
System.out.println("three=one+two==>"+A);
System.out.println("three=one+=two==>"+B);
System.out.println("three=one*=two==>"+C);
System.out.println("three=one/=two==>"+D);
System.out.println("three=one%=two==>"+F);
}
} |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
A的最后一次赋值是在int F = A %= one;
等价变形为int F = (A = A % one ); //此时A的值对one的值取余,没有余数(除尽了),
即:0的值被直接赋值给了A,又间接复制给了F。
所以A和F的值都是0 |
|
|
|
|