我有这段代码:
public class counter {
public static void main(String[] args){
double[] array = new double[10];
for(int i=0;i<array.length;i++) array[i] = i;
printArray(array);
double result = doSomething(array);
printArray(array);
}
public static void printArray(double[] arr){
for(double d : arr) System.out.println(d);
}
public static double doSomething(double[] array){
return array[0]++;
}
}
我已经知道在返回语句之后不再执行代码,增量++会增加下一个表达式的值。因此,对我而言,数组array[0]
的第一个元素不应该递增似乎是合乎逻辑的。
但是输出数组是{1,1,2,3,4,5,6,7,8,9}
答案 0 :(得分:4)
返回语句后不再执行代码
这是对的。但是++
在返回语句之后不是,它是的一部分。
您的代码相当于:
int temp = array[0];
array[0] = temp + 1;
return temp;
答案 1 :(得分:0)
数组[0] ++包含在return语句中。 因此,递增的值存储在array [0]中(即array [0] = 1) 不要混淆自己认为增量将在return语句之后,因为它是后增量