为啥score=socre+1;不能写成score=socre++;

来源:5-1 编程练习

qq_慕尼黑4469856

2020-02-16 15:42

百度说语法错误但是不太理解

写回答 关注

4回答

  • 靠一手自学成才
    2020-02-18 03:31:32

    楼主我觉得你还是先看清自己写的代码再提问题吧,我不知道你的score和socre是因为你写错了,还是说本来就是两个变量。如果是你写错了,那就是说你想问score=score+1与score=score++的区别,这两条语句没有区别,效果相同,都使score自增1;如果你没写错,那么这就是两个变量,那就有区别了,score=socre+1执行后,score的值比socre多1,score=socre++执行后,score的值就是socre原来的值,并且socre自增1。


  • In_Henry
    2020-02-17 15:48:44

    这里涉及到 n++++n 的区别:

    他们两个如果单独使用,就是一样的,自增一。

    你直接写 score++; ++score; 都是对的

    但是如果要用赋值的方式,那么就涉及到他们两者的区别了,即:

    1. n = score++  表示先赋值,再自增,n 的值为score自增前的值

    2. n = ++score  表示先自增,再赋值,n的值为score自增后的值

    你写的代码是情况一,但是你的n就是score本身,所以,你的score就前后冲突了。


  • Hogwartscat
    2020-02-16 21:06:57

    如果写成score=score++,那输出以后还是score原来的值,意思就是先表达,再自增1;

    而score=++score的意思就是先自增1,再表达,效果就和score=score+1一样了。

  • 慕莱坞1444045
    2020-02-16 16:55:08

    因为score=score++的意思是,先将score的值赋值给score,再将其进行自增操作。

    score=score+1,应该写成:score=++score。

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

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

1165172 学习 · 17581 问题

查看课程

相似问题