强制类型转换一般不推荐使用,因为有可能发生精度损失,数据溢出问题。 int num = (int)3.99; 1. 打印结果,精度损失,输出3。 byte/short/char在进行数学运算的时候,都会被首先提升成为int类型,然后再计算。 右侧的数值大小不能超过左侧数据类型的范围。 布尔类型不能发生数据类型转换。 数据类型转换规则:从小到大自动...
小范围类型的数据可以直接存储到大范围类型的变量中。 1.2 强制类型转换 大范围类型的数据存储到小范围类型的变量中时,会出现两种情况,即:能存储得下,输出原来的值;不能存储得下,输出错误的值,称之为数据精度丢失。大范围转小范围时,在变量值前面加上需要转换的数据类型。 2.运算符 2.1 赋值运算符:= 结构:变...
int i=10;中i是一个变量,所以第一个输出x被强制转换成int型了,应为i是int类型,x的值转换成int值是120,所以第一个输出120。 至于第二个输出,java规范中提到,当后两个表达式有一个是常量表达式(上面指10),另外一个类型是T(上面指char)时,而常量表达式可以被T表示时,输出结果是T类型。 因为10是常量,可以...
publicclassOperation {publicstaticvoidmain(String[] args) {intnum1 = 10;//num1 = num1 / 2.2;//复合赋值运算符(+= -= *= /= %= )会自动进行强制类型转换(编译器的优化功能)//int = int / double//int = double / double//int = int(double / double)num1 /= 2.2; System.out.println(...
1)自动转换:在同一个类型如整型 小转大自动转换 2)大转小强制转换 强制编译器进行类型转换,必须在程序中编写代码。该类型转换很可能存在精度的损失。 二,基本运算符 1) 算数运算符 加(+),减(-),乘(*),除(/),取余(%),自增(++),自减(--) ...
当程序中有复合赋值运算符时,不同类型的数据会进行强制转换,比如下面例子:byte b += 2,是把int类型数据强制转换成byte,然后在进行赋值操作的! public class AssignOperator { public static void main(String[] args) {
三元运算符代码简短,if-else易于理解,所以应该深刻理解使用三元运算符的原因,它一般是给一个变量赋两个值中的一个时使用。 强制类型转换(Casting operators) Java会在需要的时候将一种数据类型转换为另外一种合适的数据类型。比如,将一个integral类型的值赋给float point 型的变量时,Java编译器会自动地将int类型转化...
变量在运算中可能会发生类型转换,从小变大不需要声明;从大到小的转换会丢失精度,需要事先声明强制类型转换,这种转换是显式的. 在使用+=, =, =等赋值运算符时,这种从大数变小数的类型转换会自动完成,不需要显式声明
JAVA中赋值运算符的默认类型强制转换 赋值运算符: byte b1 =1; byte b2 =2; b1 = (byte)(b1+b2); b1+=b2;(使用赋值运算符式可以自动强制转换类型格式)
强制类型转换(显示转换) 可以忍受精度缺失的情况下 可以把大类型的数据强制转化成小类型的数据 格式:范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型 运算符的概念: 对常量和变量进行操作的符号称为运算符 表达式的概念: 用运算符把常量连接起来符合java语法的式子就可以称为表达式 ...