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?比这更深。数组元素初始化为零这一事实很重要。