初学JAVA,请问这段程序为什么会提示损失精度? 本帖最后由 Myjava_peng 于 2013-01-11 18:54:40 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是这个问题,java里两个整数做运算,比如这里的做加运算java会默认把他们转成int类型,计算完成后,赋值个byte类型的话由于是大类型往小类型转,所以必须强制转换,因为java是严格类型检查的语言 2楼正解。java的底层运算会将整形默认是int进行运算 byte类型的做运算,自动上升到int类型的空间做运算,所以运算结果必须是int型的,否则编译器会报错,如果你非要写byte就要强转,不过要注意 byte运算后最好不要超过byte的范围 是不是就是说JAVA里所有整数运算都是默认int类型,运算结束后的结果是int类型的,而我们却把结果赋值给了byte,byte胃口又太小吞不下,所有就吐出来了是么???换成长整型就可以了,我这样理解对么?class Da{ public static void main(String[] args) { long b=3; int b1=3; int b2=7; b = b1 + b2; System.out.println("b="+b); }} 画图工具中的图元保存问题~ 源码编译问题? 新时代的声明方式?还是注释方式? 参数传递的面试题 请问如何能让JButton里的字占满整个按钮的大小? 一个简单的继承上的问题求解 急!在线等待你的帮助 由于JAVA在开发GUI程序的时候,提供了很多布局管理类,我想知道在现实开发当中,哪个布局管理类用的比较多!回答者都有分 请问???(盼解答) 水平如何? keyPressed 按住后会多次执行!! 想实现遍历文件夹下所有图片并压缩的功能,该如何去实现?急
java里两个整数做运算,比如这里的做加运算
java会默认把他们转成int类型,计算完成后,赋值个byte类型的话
由于是大类型往小类型转,所以必须强制转换,因为java是严格类型检查的语言
是不是就是说JAVA里所有整数运算都是默认int类型,运算结束后的结果是int类型的,而我们却把结果赋值给了byte,byte胃口又太小吞不下,所有就吐出来了是么???
换成长整型就可以了,我这样理解对么?class Da
{
public static void main(String[] args)
{
long b=3;
int b1=3;
int b2=7;
b = b1 + b2;
System.out.println("b="+b);
}
}