java基础之 数据类型
数据类型表示要存储在变量中的不同类型的值。
一、Java语言提供了八种基本数据类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
1、 byte
- byte 数据类型是8位、有符号的,以二进制补码表示的整数;
- byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
- 默认值 0,最小值 -128(-2^7),最大值 127(2^7-1);
- 对应封装类为 Byte;
2、short
- short 数据类型是 16 位、有符号的以二进制补码表示的整数;
- short数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
- 默认值 0,最小值 -32,768(-2^15),最大值 32,767(2^15 - 1);
- 对应封装类为 Short;
3、int
- int 数据类型是32位、有符号的以二进制补码表示的整数;
- 一般地整型变量默认为 int 类型;
- 默认值 0,最小值 -2,147,483,648(-2^31),最大值 2,147,483,647(2^31 - 1);
- 对应封装类为 Integer;
4、long
- long 数据类型是 64 位、有符号的以二进制补码表示的整数;
- 这种类型主要使用在需要比较大整数的系统上;
- 默认值 0L,最小值 -9,223,372,036,854,775,808(-2^63),最大值 9,223,372,036,854,775,807(2^63 -1);
- 对应封装类为 Long;
5、float
- float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
- 直接赋值时必须在数字后加上f或F。
- 默认值 0.0f;
- 对应封装类为 Float;
6、double
- double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数;
- 浮点数的默认类型为double类型;
- 默认值 0.0d;
- 对应封装类为 Double;
7、boolean
- boolean数据类型表示一位的信息;
- 只有两个取值:true 和 false;
- 默认值 false;
- 对应封装类为 Boolean;
8、char
- char类型是一个单一的 16 位 Unicode 字符;
- 默认为 \u0000;
- 对应的封装类型为 Character;
其中我们可以使用对应的封装类来获取对应的信息:
(1)基本类型的二进制位数:xxx.SIZE;
(2)最小值:xxx.MIN_VALUE;
(3)最大值:xxx.MAX_VALUE;
二、常量 ,我们在程序运行中不会改变的值。
常量使用 final 关键字来定义,例如:
final duble PI=3.1415926;
定义的常量PI在程序运行中将不能被任何操作改变它的值。
测试代码
package test; /** * 数据类型 * * @author lixin */ public class DataType { public static void main(String[] args) { // type name = value; String a = "string"; // 1.整数 // 1.1 byte 占8位,范围:-2^7~ 2^7-1 byte bt = 127; System.out.println("byte 最小值=" + Byte.MIN_VALUE); System.out.println("byte 最大值=" + Byte.MAX_VALUE); System.out.println("byte 占位=" + Byte.SIZE); System.out.println("byte 占字节=" + Byte.BYTES); // 1.2 short 占16位,范围 -2^15 ~ 2^15 - 1 short sh = -32768; System.out.println("short 最小值=" + Short.MIN_VALUE); System.out.println("short 最大值=" + Short.MAX_VALUE); System.out.println("short 占位=" + Short.SIZE); System.out.println("short 占字节=" + Short.BYTES); // 1.3 int 占32位,范围 -2^31 ~ 2^31 - 1 int in = -2147483648; System.out.println("int 最小值=" + Integer.MIN_VALUE); System.out.println("int 最大值=" + Integer.MAX_VALUE); System.out.println("int 占位=" + Integer.SIZE); System.out.println("int 占字节=" + Integer.BYTES); // 1.4 long 占64位,范围 -2^63 ~ 2^63 - 1 long lo = -9223372036854775808L; System.out.println("long 最小值=" + Long.MIN_VALUE); System.out.println("long 最大值=" + Long.MAX_VALUE); System.out.println("long 占位=" + Long.SIZE); System.out.println("long 占字节=" + Long.BYTES); // 2.浮点 // 2.1 float 单精度、32位 float fl = 10.1F; System.out.println("float 最小值=" + Float.MIN_VALUE); System.out.println("float 最大值=" + Float.MAX_VALUE); System.out.println("float 占位=" + Float.SIZE); System.out.println("float 占字节=" + Float.BYTES); // 2.2 double 双精度、64位 double dou = 3.1415926; System.out.println("double 最小值=" + Double.MIN_VALUE); System.out.println("double 最大值=" + Double.MAX_VALUE); System.out.println("double 占位=" + Double.SIZE); System.out.println("double 占字节=" + Double.BYTES); // 3.字符 char 16位 char ch = 'A'; System.out.println("char 最小值=" + Character.MIN_VALUE); System.out.println("char 最大值=" + Character.MAX_VALUE); System.out.println("char 占位=" + Character.SIZE); System.out.println("char 占字节=" + Character.BYTES); // 4.布尔 boolean 1位 boolean flag = true; boolean flag2 = false; } } // 输出 byte 最小值=-128 byte 最大值=127 byte 占位=8 byte 占字节=1 short 最小值=-32768 short 最大值=32767 short 占位=16 short 占字节=2 int 最小值=-2147483648 int 最大值=2147483647 int 占位=32 int 占字节=4 long 最小值=-9223372036854775808 long 最大值=9223372036854775807 long 占位=64 long 占字节=8 float 最小值=1.4E-45 float 最大值=3.4028235E38 float 占位=32 float 占字节=4 double 最小值=4.9E-324 double 最大值=1.7976931348623157E308 double 占位=64 double 占字节=8 char 最小值=\u0000 char 最大值=\uFFFF
char 占位=16 char 占字节=2
原创内容,如果你觉得文章还可以的话,不妨点个赞支持一下!转载请注明出处。