因为刷到个题“String是最基本的数据类型吗?”,就去查了一下数据类型的资料,又弄明白了很多知识点,本博文就此做简单介绍分享~
在Java中,数据类型分为引用数据类型和内置数据类型,内置数据类型有八大基本类型,其中六种为数字类型(四个整数型、两个浮点型),一种字符类型,一种布尔类型。
类型解释 | 最小值(min) | 最大值(max) | 默认值(default) | 对应包装类 | 补充 |
---|---|---|---|---|---|
8位、有符号的 以二进制补码表示的整数 |
-128(-2^7) | 127(2^7-1) | 0 | Byte | 在大型数组中节约空间,主要代替整数 因为 byte 变量占用的空间只有 int 类型的四分之一 |
例子:
byte a = 100,byte b = -50
运行实例:
public static void main(String[] args) {
// byte
System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE);
System.out.println("包装类:java.lang.Byte");
System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);
System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);
}
运行结果:
基本类型:byte 二进制位数:8
包装类:java.lang.Byte
最小值:Byte.MIN_VALUE=-128
最大值:Byte.MAX_VALUE=127
类型解释 | 最小值(min) | 最大值(max) | 默认值(default) | 对应包装类 | 补充 |
---|---|---|---|---|---|
6 位、有符号 以二进制补码表示的整数 |
-32768(-2^15) | 32767(2^15 - 1) | 0 | Short | 可以像 byte 那样节省空间 一个short变量是int型变量所占空间的二分之一 |
例子:
short s = 1000,short r = -20000
运行实例:
// short
System.out.println("基本类型:short 二进制位数:" + Short.SIZE);
System.out.println("包装类:java.lang.Short");
System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);
System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);
运行结果:
基本类型:short 二进制位数:16
包装类:java.lang.Short
最小值:Short.MIN_VALUE=-32768
最大值:Short.MAX_VALUE=32767
类型解释 | 最小值(min) | 最大值(max) | 默认值(default) | 对应包装类 | 补充 |
---|---|---|---|---|---|
32位、有符号 以二进制补码表示的整数 |
-2,147,483,648 (-2^31) |
2,147,483,647 (2^31 - 1) |
0 | Integer | 一般地整型变量默认为 int 类型 |
例子:
运行实例:
// int
System.out.println("基本类型:int 二进制位数:" + Integer.SIZE);
System.out.println("包装类:java.lang.Integer");
System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);
System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);
运行结果:
基本类型:int 二进制位数:32
包装类:java.lang.Integer
最小值:Integer.MIN_VALUE=-2147483648
最大值:Integer.MAX_VALUE=2147483647
类型解释 | 最小值(min) | 最大值(max) | 默认值(default) | 对应包装类 | 补充 |
---|---|---|---|---|---|
64 位、有符号 以二进制补码表示的整数 |
-9,223,372,036,854,775,808 (-2^63) |
9,223,372,036,854,775,807 (2^63 -1) |
0L | Long | 主要使用在需要比较大整数的系统上 |
例子:
long a = 100000L,Long b = -200000L
【PS:"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写】
运行实例:
// long
System.out.println("基本类型:long 二进制位数:" + Long.SIZE);
System.out.println("包装类:java.lang.Long");
System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);
System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);
运行结果:
基本类型:long 二进制位数:64
包装类:java.lang.Long
最小值:Long.MIN_VALUE=-9223372036854775808
最大值:Long.MAX_VALUE=9223372036854775807
类型解释 | 最小值(min) | 最大值(max) | 默认值(default) | 对应包装类 | 补充 |
---|---|---|---|---|---|
单精度、32位 符合IEEE 754标准的浮点数 |
1.4E-45 | 3.4028235E38 | 0.0f | Float | 在储存大型浮点数组的时候可节省内存空间 不能用来表示精确的值,如货币 |
例子:
float f1 = 234.5f
运行实例:
// float
System.out.println("基本类型:float 二进制位数:" + Float.SIZE);
System.out.println("包装类:java.lang.Float");
System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);
System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);
运行结果:
基本类型:float 二进制位数:32
包装类:java.lang.Float
最小值:Float.MIN_VALUE=1.4E-45
最大值:Float.MAX_VALUE=3.4028235E38
类型解释 | 最小值(min) | 最大值(max) | 默认值(default) | 对应包装类 | 补充 |
---|---|---|---|---|---|
双精度、64 位 符合IEEE 754标准的浮点数 |
4.9E-324 | 1.7976931348623157E308 | 0.0d | Double | 浮点数的默认类型为double类型 同样不能表示精确的值,如货币 |
例子:
double d1 = 123.4
运行实例:
// double
System.out.println("基本类型:double 二进制位数:" + Double.SIZE);
System.out.println("包装类:java.lang.Double");
System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);
System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);
运行结果:
基本类型:double 二进制位数:64
包装类:java.lang.Double
最小值:Double.MIN_VALUE=4.9E-324
最大值:Double.MAX_VALUE=1.7976931348623157E308
类型解释 | 最小值(min) | 最大值(max) | 默认值(default) | 对应包装类 | 补充 |
---|---|---|---|---|---|
表示一位的信息 | / | / | false | Boolean | 只有两个取值:true 和 false 只作为一种标志来记录 true/false 情况 |
例子:
boolean one = true
类型解释 | 最小值(min) | 最大值(max) | 默认值(default) | 对应包装类 | 补充 |
---|---|---|---|---|---|
是一个单一的 16 位 Unicode 字符 | \u0000(即为0) | \uffff(即为65,535) | ‘u0000’ | Character | 可以储存任何字符 |
例子:
char letter = ‘A’
运行实例:
// char
System.out.println("基本类型:char 二进制位数:" + Character.SIZE);
System.out.println("包装类:java.lang.Character");
// 以数值形式而不是字符形式将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);
运行结果:
基本类型:char 二进制位数:16
包装类:java.lang.Character
最小值:Character.MIN_VALUE=0
最大值:Character.MAX_VALUE=65535
数据类型,这种东西平常经常在使用,但要看细了发现自己还是有很多没明白的,需要学习巩固的地方还有很多= =应上面“String是最基本的数据类型吗?”的答案,应该为“不是”,String应该为引用数据类型,至于什么是“引用数据类型”,博主会在接下来的博文中介绍分享~
【1】Java 基本数据类型
【2】大数据语言,Java的八大基本数据类型
【3】…