问答详情
源自:3-3 Java中的赋值运算符

为什么不用重新输入theree=one+two等就能重新赋值

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、、、等等就能完成重新赋值???

提问者:精慕门2153053 2018-12-28 20:15

个回答

  • 小小杏鲍菇
    2019-01-01 02:34:57
    已采纳

    代码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);

    结论:两种代码虽然写法不同,但执行起来的效果是一样的,语句执行的逻辑也是基本相同 。

  • 慕仙4305029
    2018-12-28 21:24:30

       System.out.println(three=one+two);
            System.out.println(three+=one);
            System.out.println(three-=one);
            System.out.println(three*=one);

    在这些语句中,()里的语句依然可以运算,直接将各运算结果赋予three,每运行一个语句即对three赋值一次。