java - 增强循环不打印我所期望的
问题描述
public class Main {
public static void main (String[] args) {
//prints 000
int[] num = new int[3];
for(int i : num)
System.out.print(num[i]);
int x = 0;
num[x] = 2;
System.out.println();
//enhance for loops prints 022???
for(int c : num)
System.out.print(num[c]);
//prints 200
System.out.println();
System.out.print(num[0]);
System.out.print(num[1]);
System.out.print(num[2]);
}
}
中间的增强循环应该打印 200 而不是打印 022?有人能解释一下它是如何得到 022 的吗?
解决方案
改变
for(int c : num)
System.out.print(num[c]);
到
for(int c : num)
System.out.print(c);
因为c
这里代表num[0]
, num[1]
, num[2]
... 这就是增强for
循环的用途。
推荐阅读
- python-3.x - ImportError:无法导入名称“structural_similarity”错误
- tensorflow - keras 和 tf.keras 有什么区别?
- mongodb - mongodb中跨集合的竞争条件
- android - 如何获取应用程序内的后台通知标题和正文
- python - 发布请求中的禁止 (403) - djangorest-react
- javascript - WebUSB:如果 navigator.usb.getDevices() 失败,如何调用 navigator.usb.requestDevice()
- node.js - Gitlab-ci.yml Docker 执行器无法运行 shell 命令
- javascript - table.ajax 不是数据表中的函数
- azure - Azure 媒体服务 - 使用 Rest API 的资产中未出现 Blob
- postgresql - 在 Postgres 中分析特定模式查询的方法是什么?