猿问

关于Java整型数据类型。

Java中是分了4种,byte short int long。我想问的是byte为什么不能用以下编程。

byte b1=12

byte b2=11

byte i=b2-b1 

结果为-1  byte不是2的8次方可能,一半正数一半负数,为什么-1不行?什么情况下可以用byte

求大神

唯愿无事常相见
浏览 1255回答 3
3回答

Iris_Spoon

Java中byte类型不能做这种数值运算,这是Java设计时的规定。就像定义小数时默认double类型一样,这种运算会自动转化为int类型,这里提出两种改法:1.    int i=b2-b1;                2.    byte i=(byte)(b2-b1);

唯愿无事常相见

难道大神都在午睡?
随时随地看视频慕课网APP

相关分类

Java
我要回答