java - Java 在对象引用返回后执行自增操作
问题描述
我有这个代码:
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]++;
}
}
我了解到,在 return 语句之后不再执行代码,并且 increment++ 会在下一个表达式处增加值。所以对我来说,array[0]
不应该增加数组的第一个元素似乎是合乎逻辑的。
但是输出数组是 {1,1,2,3,4,5,6,7,8,9}
解决方案
在 return 语句之后不再执行代码
这是正确的。但++
is 不在return 语句之后,它是它的一部分。
您的代码相当于:
int temp = array[0];
array[0] = temp + 1;
return temp;
推荐阅读
- java - 无法解析我的片段内 getActivity().showQuestion 中的 showQueston 参数
- php - 如何编写此正则表达式以与 preg_match 一起使用?
- ssrs-2008 - SSRS - 报告操作
- python-3.x - 在绘图中设置位置 - Matplotlib Python
- java - Java - Saxon API - 以“追加”模式写入文件
- visual-studio - Clang 3.3 和 Visual Studio
- postgresql - 自动提交在 postgresql 和 psycopg2 中是什么意思?
- laravel - laravel 集合对象中的新属性以 JSON 形式返回
- powershell - 如何检查选择了 ValidateSet 的哪个值而不在“if”块中重新键入该值作为文字?
- javascript - JS 和 HTML 中的数独