这个用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 的值,它们是02,因此当您在基础数学中添加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++吗?要怎么用?

编写和运行Java程序的步骤是啥?每一步的结果是啥?在JDK中,Java语言的编译命令是啥?急需答案啊。

使用Java语言编写的源程序保存时的文件扩展名是啥

使用Java语言编写的源程序保存时的文件扩展名是啥

用 Java 编写 Spark 独立程序的环境/工具是啥?

用java编写一个彩票抽奖程序