想不明白为什么这样不行?
第九行的sum 我只理解为一个方法,
11行的 return 我只理解为是一个返回值,并没有求和,return score1+core2 ,它还是会返回这个score1+score2
所有我个人理解 他是不是应该定义一个总分 如 int what = score1 +score2 ; 然后再返回 return what ;才合理呢?
调用方法我直接就可以写 HelloWorld.sum();
输出总成绩 what
我这样的理解难道有问题 ,课堂里的答案我理解不了
第九行的sum 我只理解为一个方法,
11行的 return 我只理解为是一个返回值,并没有求和,return score1+core2 ,它还是会返回这个score1+score2
所有我个人理解 他是不是应该定义一个总分 如 int what = score1 +score2 ; 然后再返回 return what ;才合理呢?
调用方法我直接就可以写 HelloWorld.sum();
输出总成绩 what
我这样的理解难道有问题 ,课堂里的答案我理解不了
2020-04-16
public class HelloWorld {
static int score1 = 86;
static int score2 = 92;
public static int sum() {
HelloWorld a=new HelloWorld();
int what=score1+score2;
return what;
}
public static void main(String[] args) {
int allScore = HelloWorld.sum();
System.out.println("总分:" + allScore);
}
}
这样就行了,你最后的what没被传递
sun()确实只是一个方法;
return只能返回一个值,return score1+core2 会先计算在返回
我觉得不太合理,注意sum方法,当你调用这个方法时你是不是已经知道这是求和的方法,你知道调用这个方法便会返回一个和,所以在这声明一个见名知意的变量名接收这个方法的返回值会不会更合理呢?换种说法,当我调用sun方法时,我知道这个方法是求和,它会返回一个值,当我需要多次使用它时,我会声明一个变量取个合适的变量名用来接收这个值,我并不需要sum方法里有个变量被赋予这个值,因为很多余,例如你写的what,它只是一个局部变量,我在别的方法里没法调用,这个方法的作用就是求和然后把结果这个值传递,所以直接return score1+score2即可,你先做的int what = score1 +score2 ;其实也就是将结果这个值赋给了what然后return what,最终结果也是传递这个值,所以没必要声明这个what变量在栈区中,很多余很浪费。
HelloWorld.sum()现在是一个值,要么直接输出,要么声明变量赋值使用,单写HelloWorld.sum()没啥意义。
输出总成绩 what ,抱歉你没有这个变量,它是个局部变量,在sum方法结束时它就over了,所以。。。
举报