public class HelloWorld{
public static void main(String[] args) {
int one = 10 ;
int two = 20 ;
int three = 0 ;
System.out.println(three=one+two);
System.out.println(three+=one);
System.out.println(three-=one);
System.out.println(three*=one);
例如上面的几行代码,运行正常,然后还计算出正确的结果来了。
没有键入three=one+two、three+=one、、、等等就能完成重新赋值???
代码1:
System.out.println(three=one+two);
/* 此句的运算过程:打印 three重新赋值为one+two的结果,即将three重新赋值为10+20,此时输出结果为30,同时three的值为重新赋值为30*/
System.out.println(three+=one);
/*此句的运算过程:打印 three重新赋值为three+one的结果,即将three重新赋值为30+10,此时输出结果为40,同时three的值重新赋值为40*/
System.out.println(three-=one);
/*此句的运算过程:打印 three重新赋值为three-one的结果,即将three重新赋值为40-10,此时输出结果为30,同时three的值重新赋值为30*/
System.out.println(three*=one);
/*此句的运算过程:打印 three重新赋值为three*one的结果,即将three重新赋值为30*10,此时输出结果为300,同时three的值重新赋值为300*/
代码2:
three=one+two;//此句运算过程:three重新赋值为one+two的结果,即将three重新赋值为10+20=30
System.out.println("three=one + two ==>"+three);//打印此时的three,此时three=30
three += one;//此句运算过程:three重新赋值为three+one的结果,即将three重新赋值为30+10=40
System.out.println("three += one ==>"+three);//打印此时的three,此时three=40,后面也是一样的;
three -= one;
System.out.println("three -= one ==>"+three);
three *= one;
System.out.println("three *= one ==>"+three);
结论:两种代码虽然写法不同,但执行起来的效果是一样的,语句执行的逻辑也是基本相同 。
System.out.println(three=one+two);
System.out.println(three+=one);
System.out.println(three-=one);
System.out.println(three*=one);
在这些语句中,()里的语句依然可以运算,直接将各运算结果赋予three,每运行一个语句即对three赋值一次。