【发布时间】:2014-09-17 15:12:10
【问题描述】:
在类型提升示例中,我得到的输出为 515。
我知道charc(即'a')在提升为int后的值;但是在将 char 提升到int 时,char 的值是在什么系统上决定的?
public class Main {
public static void main(String args[]) {
char c = 'a';
int i = 50000;
int result = i / c;
System.out.println("i / c is " + result);
}
}
【问题讨论】:
-
我猜,你想知道的是Java uses Unicode。
'a'的值可以在 here 中找到。 -
这里的值被提升到更高的一个 BYTE>CHAR>INT>lONG >FLOAT>DOUBLE (必须始终是方法)那么为什么在函数重载的情况下反之亦然?例如:- 'class OverloadDemo{ void test(int a) { System.out.println("a: " + a); } public static void main(String args[]) { OverloadDemo ob = new OverloadDemo(); ob.test(10l); } ' 这里的 int 值也应该提升为 long 不是吗,反之亦然
标签: java type-promotion