初学者问题 刚学java, 整数2怎么可以和字符'2'相加, 请大家指教Char i=2+ ’2’;System.out.printIn(i); //结果为4 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 char参与数值运算时,要转为int型.就是用字符的unicode来参与运算。 2+‘2’= 5252为ascii码,其对应的值为4,你可以用30+‘2’测试一下,就会更了解了 请问下byte i='2'+2;System.out.print(i); byte在参加运算时自动转换为int, byte i='2'+2; 这样写如何理解 byte i='2'+2;运算时,把'2'和2都看到int,再做加运算,结果的最高的3个字节被截去,只把最低的一个字节的的值赋给i byte在参与运算时有个自动提升的过程 char 就是 int啊~~~字符编码中2+’2’='4'System.out.printIn(i)就输出'4'咯~~ char和short都是16位类型Unicode字符,所以它int类型的2相加,自动转换到ASC II码。52.这和下面的程序一样:char a='a';//ASCII码为65;int x=a;x++;char b=(char)x;System.out.println(b);b的ASCII码就是66.也对应着b, int,short,byte,char 这4中类型在进行运算的时候类型自动转换成int类型(因为int类型级别高于其他3个的级别,也就是运算时候低级类型要向高级类型转换的原则[那么自然char在这个数值运算过程中,自动转换成int型.i=2+'2'-->i=2+2-->i=4-->over基本概念要搞清楚,数学运算中类型低的自动转换成类型高的:int<long<flout<double,再送你4句话用于运算类型转换:1,如果两个操作数中有一个事double类型,另一个操作数会自动转换成double类型的。2,否则,如果其中一个事flout型的,另一个会自动转成flout型的3,否则,其中一个是long型的,另一个自动转换成long型的。4,否则,2二个操作数都将被转换成int类型的。 这里的4,也就是你的题目了,你的两个操作数都会自动变成int类型的 所以是4 java自动类型转换的规则 1.数据类型兼容 2.目标类型大于源类型 very good!偶明白了,谢谢! java SE中main函数能否递归调用? 关于Java中的多线程的疑问? 想在这个界面下面放个大图的缩略图,应该怎么搞?求教! 一个关于Swing的问题,求教! mysql 有时间条件的 update 请问JAVA如何改变图形窗口的标题拦和任务栏的默认风格啊,麻烦各位帮帮忙了 很简单的问题,给出答案都有分!! 数据库连接池问题 JB8输入问题???急!!! linx中为何默认有如此多的用户? 求一算法!! itext导出word的问题
52为ascii码,其对应的值为4,你可以用30+‘2’测试一下,就会更了解了
byte i='2'+2;
System.out.print(i);
byte在参加运算时自动转换为int,
byte i='2'+2; 这样写如何理解
运算时,把'2'和2都看到int,再做加运算,结果的最高的3个字节被截去,只把最低的一个字节的的值赋给i
字符编码中2+’2’='4'
System.out.printIn(i)就输出'4'咯~~
这和下面的程序一样:
char a='a';//ASCII码为65;
int x=a;
x++;
char b=(char)x;
System.out.println(b);
b的ASCII码就是66.也对应着b,
那么自然char在这个数值运算过程中,自动转换成int型.i=2+'2'-->i=2+2-->i=4-->over
基本概念要搞清楚,数学运算中类型低的自动转换成类型高的:
int<long<flout<double,再送你4句话用于运算类型转换:1,如果两个操作数中有一个事double类型,另一个操作数会自动转换成double类型的。2,否则,如果其中一个事flout型的,另一个会自动转成flout型的3,否则,其中一个是long型的,另一个自动转换成long型的。4,否则,2二个操作数都将被转换成int类型的。 这里的4,也就是你的题目了,你的两个操作数都会自动变成int类型的 所以是4
1.数据类型兼容
2.目标类型大于源类型