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码,用单引号赋值。

原文地址:https://www.cnblogs.com/roadlandscape/p/12045443.html