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

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

回答7 浏览808

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;

}

}

}

}


添加回答

7回答
编辑回答
  1. 在java中,你前面的定义int类型的sum变量,之后的sum你没发现前面都没有定义的int了,那就意味着后面你只是给这个变量在赋值。如果你是用工具编译的,尝试按住ctrl鼠标放到变量上看下指向;

  2. 当然在给你补充一点,在js中全局局部多次定义一个变量是不会报错的,有兴趣可以多试试。

2 反对 0个回复 2017-06-19
你还没有登录,请先登录注册慕课网帐号

回复
编辑回答

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

反对 0个回复 2017-06-20
你还没有登录,请先登录注册慕课网帐号

回复
编辑回答

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

反对 2个回复 2017-06-19
你还没有登录,请先登录注册慕课网帐号

回复
编辑回答

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

反对 0个回复 2017-06-19
你还没有登录,请先登录注册慕课网帐号

回复
编辑回答

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

反对 0个回复 2017-06-19
你还没有登录,请先登录注册慕课网帐号

回复
编辑回答

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


反对 0个回复 2017-06-19
你还没有登录,请先登录注册慕课网帐号

回复
编辑回答

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

反对 0个回复 2017-06-19
你还没有登录,请先登录注册慕课网帐号

回复

举报

0/150
提交
取消
意见反馈 常见问题 APP下载
官方微信