猿问

一道面试题

byte b1=1,b2=2,b3,b6; 
final byte b4=4,b5=6; 
b6=b4+b5; 
b3=(b1+b2); 
System.out.println(b3+b6);
//为什么b3=(b1+b2)会出现类型不匹配,为什么(b1+b2)是int类型的呢?
JHsssss
浏览 1236回答 1
1回答

忘性最大的人

final类型在基本运算时不转型,而byte不被final修饰的话,两个相加会自动转型提升为int,向下需要强制转型为byte,默认的整形是int类型嘛。
随时随地看视频慕课网APP

相关分类

Java
我要回答