课程
/后端开发
/Java
/Java入门第一季(IDEA工具)升级版
百度说语法错误但是不太理解
2020-02-16
源自:Java入门第一季(IDEA工具)升级版 5-1
正在回答
楼主我觉得你还是先看清自己写的代码再提问题吧,我不知道你的score和socre是因为你写错了,还是说本来就是两个变量。如果是你写错了,那就是说你想问score=score+1与score=score++的区别,这两条语句没有区别,效果相同,都使score自增1;如果你没写错,那么这就是两个变量,那就有区别了,score=socre+1执行后,score的值比socre多1,score=socre++执行后,score的值就是socre原来的值,并且socre自增1。
这里涉及到 n++ 和 ++n 的区别:
他们两个如果单独使用,就是一样的,自增一。
你直接写 score++; 和 ++score; 都是对的
但是如果要用赋值的方式,那么就涉及到他们两者的区别了,即:
1. n = score++ 表示先赋值,再自增,n 的值为score自增前的值
2. n = ++score 表示先自增,再赋值,n的值为score自增后的值
你写的代码是情况一,但是你的n就是score本身,所以,你的score就前后冲突了。
如果写成score=score++,那输出以后还是score原来的值,意思就是先表达,再自增1;
而score=++score的意思就是先自增1,再表达,效果就和score=score+1一样了。
因为score=score++的意思是,先将score的值赋值给score,再将其进行自增操作。
score=score+1,应该写成:score=++score。
举报
0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始
1 回答for(int score=53;score<60;score++)这样写为什么不对
2 回答为什么score+1可以,score++就不行了呢?
2 回答为什么 for(;score<60;score++)的score不是<=60
3 回答for( ;score<60;score++){
2 回答为啥运行完score值为63????