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

来源:5-1 编程练习

学编程的真菌

2015-02-16 10:45

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+"次");

        

        

        

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

      




    }

}


写回答 关注

1回答

  • 飘过的风
    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”。运算最终使用的,并不是变量本身,而是被赋了值的临时变量。

    学编程的真菌

    有点晕。。。好像明白了什么。。。。但还是谢谢了

    2015-02-16 14:09:46

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165172 学习 · 17581 问题

查看课程

相似问题