为了账号安全,请及时绑定邮箱和手机立即绑定

不是说变量命名不能一样吗,为什么这段代码里面出现了两个"sum",系统没有报错呢

不是说变量命名不能一样吗,为什么这段代码里面出现了两个"sum",系统没有报错呢

690017359 2017-06-18 22:53:06
public class HelloWorld {    public static void main(String[] args) { // 保存累加值 int sum = 0; // 从1循环到10 for (int i = 1; i <= 10; i++) { // 每次循环时累加求和 sum = sum + i; // 判断累加值是否大于20,如果满足条件则退出循环 if ( sum>=20             ) { System.out.print("当前的累加值为:" + sum); //退出循环 break; } } }}
查看完整描述

3 回答

?
慕村4705583

TA贡献40条经验 获得超14个赞

这是一个变量。 但两个局部变量是可以相同的

查看完整回答
反对 回复 2017-11-18
?
qq_Dreamy_旧城_0

TA贡献24条经验 获得超2个赞

你是理解错了,说在一个类中不允许有两个相同的变量名

查看完整回答
反对 回复 2017-06-20
?
小木木_

TA贡献2条经验 获得超0个赞

第一个sum是你定义的一个变量 下面的那个sum是你调用的sum这个变量 并赋值给这个变量 上面定义了下面就必须要用 否则定义就没意义了  所以这两个sum其实是一个

查看完整回答
反对 回复 2017-06-19
  • 690017359
    690017359
    但是for循环 里面的sum = sum + i;一个是变量一个是常量啊,两个量的值不一样,名字一样,为什么不能是sum1或者sum2=sum+i; 呢?
  • 小木木_
    小木木_
    你可以试试啊 sum1和sum2 绝对会报错的 也可以这么说 for循环里面的sum 是局部变量 而你定义的int sum是全局变量 你写这个程序的意义不就是求1到10 相加的和吗 在满足if里的条件是跳出循环 初始化为0 每次加 i 得到数据重新赋值给sum 你int的sum不就重新得到新的数值吗
?
书旅

TA贡献238条经验 获得超101个赞

一个变量不可以多次定义,可以重复使用。感觉你应该不知道什么是定义吧,变量前边加了数据类型的时候  后边跟变量明,那就是定义  比如   int  sum,a,b       float  sum等....

查看完整回答
反对 回复 2017-06-19
?
Elife漫格局

TA贡献17条经验 获得超13个赞

第一次是定义,第二次不写int是赋值,并非定义变量

查看完整回答
反对 回复 2017-06-19
?
慕圣0830664

TA贡献41条经验 获得超26个赞

你理解错了,应该是在同一区域变量名不能重复定义。你这段代码中只定义了一次int sum=0,后面的不是重定义,只是单纯的使用了这个变量而已。如果定义了两次int sum,那么系统就会报错。


查看完整回答
反对 回复 2017-06-19
?
产品经理不是经理

TA贡献481条经验 获得超143个赞

变量命名是不能重复,这里虽然sum出现了两次,但是它是同一个sum变量啊,如果你再int sum;就会出错了。

查看完整回答
反对 回复 2017-06-19
  • 3 回答
  • 0 关注
  • 3587 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信