Java中复合赋值运算符自动进行强制类型转换 和 8种基本数据类型
public class Operation { public static void main(String[] args) { int num1 = 10; num1 = num1 / 2.2; System.out.println(num1); } }
public class Operation { public static void main(String[] args) { int num1 = 10; // num1 = num1 / 2.2; // 复合赋值运算符(+= -= *= /= %= )会自动进行强制类型转换(编译器的优化功能) // int = int / double // int = double / double // int = int(double / double) num1 /= 2.2; System.out.println(num1); } }
Java 8种基本数据类型:
byte:8位(1字节),最大存储数据量是255,存放的数据范围是-128~127之间。
short:16位(2字节),最大数据存储量是65535,数据范围是-32768~32767之间。
int:32位(4字节),最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。
long:64位(8字节),最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。
float:32位(4字节),数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。
double:64位(8字节),数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。
boolean:只有true和false两个取值。
java规范中,没有明确指出boolean的大小。在《Java虚拟机规范》给出了4个字节,和boolean数组1个字节的定义,具体还要看虚拟机实现是否按照规范来,所以1个字节、4个字节都是有可能的。
char:16位(2字节),存储Unicode码,用单引号赋值。