【问题标题】: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 你应该更新你的问题并写输出

标签: java arrays for-loop


【解决方案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】:
      1. 在第一行,您正在创建一个新的整数数组。该数组包含元素 arr[0]、arr[1] 和 arr[2]。

      2. 接下来的三行是你的 for 循环。正如您在循环中所写,它将从 i=0 开始,并在 i

      3. 在最后两行,您有两个语句。第一个表达式创建一个名为 res 的整数。然后你说 res = arr[0] + arr[2]。但正如我们刚刚看到的,在 for 循环中,您使 arr[0] = 0 和 arr[2] = 2。因此, res = 0 + 2 = 2。 在最后一行,您只是在控制台中打印结果。

      【讨论】:

        猜你喜欢
        • 2021-09-14
        • 2010-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多