【发布时间】:2015-09-28 10:57:34
【问题描述】:
问题是:控制台会显示什么?
而且我的理解确实有些问题。
代码如下:
public static void felda(){
char[] felda = {'2',0x31,48};
for (int i = 0; i< felda.length; i++){
System.out.println(" : " + felda[i]);
}
System.out.println();
}
public static void feldb(){
int[] feldb = {'2',0x31,48};
for (int i = 0; i< feldb.length; i++){
System.out.println(" : " + feldb[i]);
}
System.out.println();
}
public static void feldc(){
int [] feldc = {'2',0x31,48};
for (int i = 0; i< feldc.length; i++){
System.out.println(" : " + (char) feldc[i]);
}
System.out.println();
}
所以如果我在解决方案中运行是:
: 2
: 1
: 0
: 50
: 49
: 48
: 2
: 1
: 0
所以我不明白怎么可能用''定义一个int。
而且我发现int feldb = '2' 的结果是 50 和 int feldb=0x31 的结果是 49 是如何令人困惑的......这一切都太令人困惑了。我希望有人能启发我。
编辑:为什么char feldc = 48; 导致为 0?
【问题讨论】: