Java中的数据类型整体上分为两大类:基本数据类型和引用数据类型
-
基本数据类型
-
整数型
-
byte
- byte类型占一个字节,8位,有符号的以二进制补码表示的整数;
- 最小值为-27(-128),最大值为27 - 1(127),默认值为0;
- byte类型可以大大节约内存空间,byte占用的空间只占int类型的1/4;
-
short
- short类型占用两个字节,16位,有符号的以二进制补码表示的整数;
- 最小值为-215 (-32768),最大值为215 - 1 (32767),默认值为0;
- short也可以节约内存空间,short占用的空间占int类型的1/2;
-
int
- int类型占四个字节,32位,有符号的以二进制补码表示的整数;
- 最小值为-231(-2,147,483,648),最大值为231 - 1(2,147,483,647),默认值为0;
- 一般情况下整形变量的默认数据类型就为int类型;
-
long
- long 类型是 64 位、有符号的以二进制补码表示的整数;
- 最小值为-263(-9,223,372,036,854,775,808),最大值为263 - 1(9,223,372,036,854,775,807),默认值为0L;
-
-
浮点数型
- float
- float 数据类型是单精度、占32位;
- float 在储存大型浮点数组的时候可节省内存空间;
- 默认值为0.0f;
- double
- double 数据类型是双精度、64 位;
- 浮点数的默认类型为double类型;
- 默认值为0.0d;
- float
-
逻辑型
-
boolean
-
boolean数据类型表示一位的信息;
-
boolean只有两个取值:true / false;
-
这种类型只作为一种标志来记录 true/false 情况;
-
默认值为 false;
-
-
-
字符型
- char
- char类型是一个单一的 16 位 Unicode 字符;
- 最小值是 u0000(即为0);
- 最大值是 uffff(即为65,535);
- char 数据类型可以储存任何字符;
- char
-
public class FunDataType {
public static void main(String[] args) {
// byte
System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE);
System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);
System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);
System.out.println();
// short
System.out.println("基本类型:short 二进制位数:" + Short.SIZE);
System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);
System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);
System.out.println();
// int
System.out.println("基本类型:int 二进制位数:" + Integer.SIZE);
System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);
System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);
System.out.println();
// long
System.out.println("基本类型:long 二进制位数:" + Long.SIZE);
System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);
System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);
System.out.println();
// float
System.out.println("基本类型:float 二进制位数:" + Float.SIZE);
System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);
System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);
System.out.println();
// double
System.out.println("基本类型:double 二进制位数:" + Double.SIZE);
System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);
System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);
System.out.println();
// char
System.out.println("基本类型:char 二进制位数:" + Character.SIZE);
// 以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台
System.out.println("最小值:Character.MIN_VALUE=" + (int) Character.MIN_VALUE);
// 以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台
System.out.println("最大值:Character.MAX_VALUE=" + (int) Character.MAX_VALUE);
}
}
-
引用数据类型
- 类(class)
- 接口(interface)
- 数组(array)