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

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

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;

}

}

}

}


提问者 690017359

添加回答

7回答
4天前 i杜克

www.pt-story.com 表白不需说出,...

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

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

赞同2 反对 0个回复
未知生物
你还没有登录,请先登录注册慕课网帐号

回复
3天前 qq_Dreamy_旧城_0

 

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

赞同 反对 0个回复
未知生物
你还没有登录,请先登录注册慕课网帐号

回复
4天前 小木木_

 

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

赞同 反对 2个回复
未知生物
你还没有登录,请先登录注册慕课网帐号

回复
4天前 书旅

也许迟早会败给现实,那么请在举手投降之前,再拼一次

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

赞同 反对 0个回复
未知生物
你还没有登录,请先登录注册慕课网帐号

回复
4天前 Elife漫格局

什么都略懂一点,生活就会更加精彩一些

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

赞同 反对 0个回复
未知生物
你还没有登录,请先登录注册慕课网帐号

回复
5天前 qq_Kero_1

 

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


赞同 反对 0个回复
未知生物
你还没有登录,请先登录注册慕课网帐号

回复
5天前 FightingBoy

雄关漫道真如铁,而今迈步从头越。

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

赞同 反对 0个回复
未知生物
你还没有登录,请先登录注册慕课网帐号

回复
意见反馈 常见问题 APP下载
官方微信