所以当两种数据类型不兼容,或目标类型的取值范围小于源类型时,自动转换将无法进行,这时就需要进行强制类型转换。其语法格式如下: (type)variableName 其中,type 为 variableName 要转换成的数据类型,而 variableName 是指要进行类型转换的变量名称,强制转换的实例如下: int a=3; double b=5.0; a=(int)b; 上述...
double类型占据8个字节,int类型只占据4个字节。在计算时,int类型会自动提升为double类型,自动补充4个字节,因此计算后的结果还是double类型。 转换规则: 范围小的类型向范围大的类型提升。 byte、short、char>int>long>float>double 强制转换 当把一个不属于当前数据类型范围的值赋值给该数据类型时,在编译阶段就会报错。
(byte、short、char)---> int ---> long ---> folat ---> double。简单数据类型之间的转换又可以分为:低级到高级的自动类型转换、高级到低级的强制类型转换、包装类过渡类型转换。 自动类型转换:低级变量可以直接转换成高级变量,这是自动类型转换。 注注注意:如果低级类型为char型,向高级类型转换时,会转换成...
比如 int a = 1 ; a += 2.0d;此时输出a等于int 类型的3重点:**:赋值的时候,**赋值给谁就转化成谁,**小的表述范围的常量或者变量可以自动的转化为大的表数范围的常量或者变量,反之的话(+= /= -= 之类的会直接转化过去不会报错)就算是现在的值大小超出了小的表述范围的界限,它也只会出现负数罢了+= ...
1.强制转换 由高到低 (类型)变量名 inta=10;byteb=(byte)a;doublec=12.1;intd=(int)c;//强制转换 System.out.println(b); System.out.println(d); 10 12Process finished with exit code0 2.自动转换 由低到高 intf=10;doubleg=f;//自动转换,因为double为浮点类型,所以输出结果有小数chart='a';...
比较而言,自动转换是 Java 自动执行的,而强制转换需要我们自己手动执行。 转换格式: 将1.5 赋值到 int 类型,代码修改为: 同样道理,当一个 short 类型与 1 相加,我们知道会类型提升,但是还想给结果赋值给short类型 变量,就需要强制转换。 转换原理图解
● 强制类型转换:容量大的数据类型转换为容量小的数据类型;● 隐含强制类型转换(初始化):在变量初始化时,int类型会隐含强制转换成低级别的byte和short类型;● 其他类型转换:包装类、字符串、基本类型直接的转换。对基本类型来说,常见的数据转换方式包括自动类型和强制类型转换;对引用类型而言,只存在强制类型...
2.强制类型转换 将一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量时,自动类型转换无法进行,必须进行强制类型转换。例如: 如上图,程序报错,出现错误的原因是将一个int型的数据赋值给byte类型的变量b时,由于int类型的取值范围大于byte类型的取值范围,这样的赋值会导致数值溢出,也就是说一个字节的...
一、自动类型转换 ①把存储范围小的类型的值赋值给存储范围大的类型的变量,自动可以完成升级 byte->short->int->long->float->double char-> ②boolean不参与 ③byte,short,char如果进行算术运算都会自动升级为int 1. 2. 3. 4. 5. 二、强制类型转换 ...