找到: int
需要: byte
f=f*3;
^
2 错误
public class hello
{
public static void main(String args[])
{
byte f;
f=-3;
f=f*3;
System.out.println("f=="+f);
}
}
为什么会是这样?没接触byte不了解大家见谅
需要: byte
f=f*3;
^
2 错误
public class hello
{
public static void main(String args[])
{
byte f;
f=-3;
f=f*3;
System.out.println("f=="+f);
}
}
为什么会是这样?没接触byte不了解大家见谅
解决方案 »
- java 字符串数组比较 运行时报错,百思不得其解,nb的人来帮帮吧,谢谢了~~~!!!(第一次在csdn提问,别让我失望哦)
- try,catch,fially经典在这里
- SWING高手指教本地鼠标怎么获得
- JOptionPane.showInputDialog覆盖的问题???
- 关于java版ISO8583打包和解包的问题
- 关于调用方法的简单问题
- GregorianCalendar的一个问题??????
- 求教,基础类的论坛和教程!
- frame,button,button点击后,鼠标移开,button依然显现为press状态,如何实现
- PreparedStatement.setString问题
- 高手哪儿去了
- gwt-designer的使用问题
所以byte*int得到的是int
而你把int赋给byte,这样就可能损失精度咯
1:f*=3;这样会自动转换成byte,就不会引起麻烦了2:f=(byte)(f*3);强制转换
可以把小型数据直接转换成比它大的数据类型
如:BYTE可以放到INT里面,INT又可以放到LONG里面
但是不可以将INT的放入BYTE
转制转换便可!
但如果将一个INT A=300的转换为BYTE的话·
(byte)300
BYTE的数据最大是256
那么得到的将是300-256;
即转换为:BYTE为44
为什么???
f=(byte)(f*3);强制转换这个我理解了
f*=3应该跟f=f*3是等价的吧..为什么会自动转换呢?一头雾水中~~