Java 这个方法返回什么?
我刚刚开始学习编程。我想知道这个方法会返回什么:Java 这个方法返回什么?,java,Java,我刚刚开始学习编程。我想知道这个方法会返回什么: public int doSomething(int size) { int[] b = new int [size]; int c = 0; for (int d : b) { c = c + d; } return c; } 数组中没有添加任何内容,c值仍然为零 你可能会对这句话感到困惑 for (int d : b) { 这就是java。循环将数组b中的值之和累加到变量c中。由于默
public int doSomething(int size) {
int[] b = new int [size];
int c = 0;
for (int d : b) {
c = c + d;
}
return c;
}
数组中没有添加任何内容,c值仍然为零 你可能会对这句话感到困惑
for (int d : b) {
这就是java。循环将数组b中的值之和累加到变量c中。由于默认情况下整数被设置为0,并且您从不更改b中元素的值,因此大小0的和仍然为零,因此返回c时c为0 两件至关重要的事情: int[]b=新的int[size];将数组中的每个元素初始化为零 对于int d:b表示法迭代数组中的每个元素 因此,计算是将数组中的元素求和为零
注意,C和C++数组元素没有初始化为零,这些语言中类似构造的行为将是未定义的。
< P>你有空数组-默认零点,因为它是int数组-所以现在它返回零。在数组中添加一些数字,您将在返回的c中得到它们的加法public int doSomething(int size) {
int[] b = new int [size];
b[0]=5; // add integers like this to get non zero return
b[1]=8;
.
.
b[size-1]=3;
int c = 0;
for (int d : b) {
c = c + d;
}
return c;
}
它返回数组中所有元素的总和。你试过运行它吗?编译并运行它,你会看到..零。试着找出原因:--5?比这更深。数组元素初始化为零这一事实很重要。