关于基本类型的问题!!急

MaoZhua MaoZhua 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
请高手先看看下边的这个程序!
public class ByteAndInt{
public static void main(String[] args){
byte a=126;
byte b=127;
byte c;
c=a+b;
System.out.println(c);
}
}
这个程序不能通过编译!输出结果是:
--------------------Configuration: SCJP - j2sdk1.4.0 <Default>--------------------
D:\MaoJava\SCJP\ByteAndInt.java:10: possible loss of precision
found : int
required: byte
c=a+b;
^
1 error
小弟想不能通过编译的原因是:byte类型+byte类型的都自动转换成int类型的!但小弟试着编译下边的程序:
public class ByteAndInt{
public static void main(String[] args){
int a=2147483647;//2的31次方-1
int b=2147483646;//2的31次方-2
int c;
c=a+b;
System.out.println(c);
}
}
这个程序能够通过编译。这可就使小弟迷惑了!为什么同样的道理这个却可以通过!!
请高手指点一二!
小弟先谢了!



...全文

相关推荐

评论 11
收藏 已收藏
分享
返回顶部
MaoZhua
Java SE 62,620 成员 307,251 内容