Java 数据类型 - 图1
数据类型分为基本数据类型和引用数据类型

基本数据类型

基本数据类型分为 4 大类,8 种数据类型
整数类型:byte short int long
浮点类型:float double
字符类型:char
布尔类型:boolean

在讲整数类型之前,先来说一下「字节」(byte),简写 B。
一个字节由 8 个「比特位」组成,格式「1111 1111」。是计算机最小的存储单元。
1024B = 1KB
1024KB = 1MB
1024MB = 1GB
GB 后面还有 TB、PB,为什么会是 1024 的换算单位呢?
因为计算器二进制的关系,1 2 4 8 16 32 64 128 256 512 1024。
但是我们日常用的存储工具像 U盘,移动硬盘,都是1000换算的。

  1. 整数类型
    整数类型的区别是他们的宽度和范围不同。
    Java 数据类型 - 图2
    Java 默认的整数类型是 int。
    声明 long 类型的变量,变量值后面需要带上 L,小写的 l 也是可以,但建议大写(可读)。long num = 3333L;
  2. 浮点类型
    Java 数据类型 - 图3
    浮点类型主要是可以存储小数数值,分为单精度 float,和双精度 double。
    Java 默认的浮点类型是 double,比 float 的数值范围大,精度也大。
    声明 double 类型的变量,其变量值后面需要带上 D,小写的 d 也可以,但建议大写。double num = 3.14D;
    声明 float 类型的变量,其变量值后面需要带上 F,小写的 f 也可以,但建议大写。float num = 3.14F;
  3. 数字表示方式,两种
    进制数字表示:
    通常都是用十进制表示。那如果要用二进制、八进制、十二进制要怎么表示?下面表示的都是十进制的 28。
    二进制:以 0b 或 0B 为前缀,int a = 0B11100;
    八进制:以 0 为前缀,int a = 034;
    十六进制:以 0x 或 0X 为前缀,int a = 0X1C;
    指数表示:
    进行数学计算时往往会用到指数表示的数值。
    如果采用十进制表示指数,需要使用大写或小写的 e 表示幂,e2 表示 10²。
    double a = 3.36e2; 3.36e2 = 3.36 10²
    double b = 1.56e-2; 1.56e-2 = 1.56
    10﹣²
  4. 字符类型
    字符类型表示单个字符,Java 中声明字符类型需要用单引号把值字符括起来。
    char c = ‘A’;
    字符类型采用双字节的 Unicode 编码(占用两个字节),所以又可以用十六进制编码形势表示,表现形式 \u
    char a = ‘A’; 相当于 char b = ‘\041’;
    字符类型也属于数值类型,可以与 int 等数值进行数学计算或转换。因为字符类型在计算机中保存的是 Unicode 编码,双字节的 Unicode 的存储范围是 \000-\uFFFF,char 的取值范围是 0-2的十六次方减一
  5. 转义符
    Java 数据类型 - 图4
  6. 布尔类型
    布尔类型不是数值类型,不能跟数值类型之间进行计算和转化。
    布尔类型只有两个值,true 和 false。
  7. 数值类型相互转换
    自动类型转换:小范围的数值类型可以自动转换成大范围的数值类型。从左往右
    Java 数据类型 - 图5
    char 可以自动转换 int 及往后的,但不能与 byte 和 short 之间转换。
    在不同数值类型中进行计算时,全部转换成最大范围的数值类型再进行计算。
    强制类型转换:通常用于大范围的数值类型转换到小范围的数值类型。
    浮点类型进行强制性转换,会丢失精度。
    整形类型进行强制性转换,要注意取值范围的限制,假如你 int a = (byte)128;

    引用数据类型

    类、接口、数组
    1. 类型 变量名 = new 类型();