数据类型详解:
数据类型分别为:基本数据类型、引用数据类型。
基本数据类型:
基本数据类型分为四类八种:
四类:整型、浮点型、字符型、布尔型。
整型中包含四种:byte(占用1字节)、short(占用2字节)、int(默认,占用4字节)、long(占用8字节)。
浮点型包含两种:float(占用4字节)、double(默认,占用8字节)。
字符型:char(占用2字节)。
布尔型:boolean(占用1字节),分为true和false ,不像JavaScript中的可以打印出0和1。
引用数据类型:
除了以上的其他的都是引用数据类型。
数据类型转换:
数据类型转换分为两种:自动类型转换、强制类型转换。
自动类型转换:
什么是自动类型转换?
自动类型转换指的是,数据范围小的变量可以直接赋值给数据范围大的变量。
自动类型转换的原理是怎样的?
自动类型转换其本质就是在较小数据类型数据前面,补了若干个字节。
除了byte和int之间的转换之外,其他类型也可以转换,转换顺序如下:
byte -> short -> int -> long -> float -> double
强制类型转换:
但是你强行将范围大的数据,赋值给范围小的变量也是可以的,这里就需要用到强制类型转换。
格式:
目标数据类型 变量名 = (目标数据类型)被转换的数据;
转换顺序如下:
double -> float -> long -> int -> short -> byte
代码:
public class Casting {
public static void main(String[] args) {
/*
类型转换分为两种: 自动类型转换: 小类型转换大类型 byte -> short -> int -> long -> float -> double
强制类型转换 大类型转换小类型 double -> float -> long -> int -> short -> byte
格式: (类型) 数据
*/
// 自动类型转换: 小类型转大类型
byte a1 = 10;
short a2 = a1;
int a3 = a2;
long a4 = a3;
float a5 = a4;
double a6 = a5;
// 强制类型转换:大类型转换小类型
double b1 = 172443.22;
float b2 = (float) b1;
long b3 = (long) b2;
int b4 = (int) b3;
short b5 = (short) b4;
byte b6 = (byte) b5;
}
}