问答详情
源自:5-1 编程练习

count=count++,这个错在哪里??

public class HelloWorld {

    public static void main(String[] args) {

        

        // 变量保存成绩

        int score = 53; 

        

        // 变量保存加分次数

        int count = 0;



        //打印输出加分前成绩 

         System.out.println("加分前成绩"+score); 

       

        

        // 只要成绩小于60,就循环执行加分操作,并统计加分次数

        for(;score<60;score++)

        { count=count++;//错的地方就这里,但我不明白,为什么输出会是0,求解答!!!!!!!

            }  

        System.out.println("加分后成绩"+score);

        System.out.println("共加了"+count+"次");

        

        

        

        //打印输出加分后成绩,以及加分次数

      




    }

}


提问者:学编程的真菌 2015-02-16 10:45

个回答

  • 飘过的风
    2015-02-16 11:49:22
    已采纳

     count=count++; 你没有了解java中i++的执行原理,在java中执行i++或者++i都会赋值给临时变量的。这和C语言是不同。在C中,能得到你想要的结果7.但是在java中是不一样的。这样写相当于以下代码:temp =count;count=count++;count=temp;所以count一直为0;后缀加(i++),就会“先赋值(给临时变量)后自加1”。运算最终使用的,并不是变量本身,而是被赋了值的临时变量。