这个用java编写的代码的输出是啥?
Posted
技术标签:
【中文标题】这个用java编写的代码的输出是啥?【英文标题】:What's the output of this code written in java?这个用java编写的代码的输出是什么? 【发布时间】:2016-06-11 12:40:09 【问题描述】: int arr[ ] = new int[3];
for (int i = 0; i < 3; i++)
arr[i] = i;
int res = arr[0] + arr[2];
System.out.println(res);
如您所见,我是 java 的初学者,我不太确定它的输出是什么。有人可以一路回答和解释吗?
【问题讨论】:
为什么不运行代码看看? 如果你是java初学者,那么首先学习如何编译和执行java程序,然后在这里发布你正确的问题 我知道如何在java中编译和运行我的代码,但我不知道为什么输出是2。这就是为什么我需要解释,因为我认为重点不是我运行代码来看看输出是什么,而不是真正理解为什么我们得到那个输出? 你期望输出是什么? @Solvex 你应该更新你的问题并写输出 【参考方案1】: //if you're using Eclipse, press ctrl-shift-f to "beautify" your code and make it easier to read
int arr[] = new int[3]; //create a new array containing 3 elements
for (int i = 0; i < 3; i++)
arr[i] = i;//assign each successive value of i to an entry in the array
int res = arr[0] + arr[2];//add the 0th element value to the 2nd element value, save in res
System.out.println(res);//print res, which is == 0 + 2
【讨论】:
【参考方案2】:基本上你在这里做的是
int arr[ ] = new int[3];
for (int i = 0; i < 3; i++)
arr[i] = i; // you are adding elements on array location
int res = arr[0] + arr[2];
System.out.println(res);
当第一次循环执行 i
等于 0
时,在位置 0
上您将在那里分配 0
并且对于 1,2
正在应用相同的过程。在int res = arr[0] + arr[2];
线上,您正在添加位置0 and 2
的值,它们是0
和2
,因此当您在基础数学中添加0+2 = 2
时,输出为2
【讨论】:
【参考方案3】:在第一行,您正在创建一个新的整数数组。该数组包含元素 arr[0]、arr[1] 和 arr[2]。
接下来的三行是你的 for 循环。正如您在循环中所写,它将从 i=0 开始,并在 i
在最后两行,您有两个语句。第一个表达式创建一个名为 res 的整数。然后你说 res = arr[0] + arr[2]。但正如我们刚刚看到的,在 for 循环中,您使 arr[0] = 0 和 arr[2] = 2。因此, res = 0 + 2 = 2。 在最后一行,您只是在控制台中打印结果。
【讨论】:
以上是关于这个用java编写的代码的输出是啥?的主要内容,如果未能解决你的问题,请参考以下文章
eclipse和myeclipse的差别是啥?能编写c/c++吗?要怎么用?