从今天开始,正式开始学习java;今天呢,学习数据类型
让我们开动起来!
1、数据类型简介
有个词:物以类聚,指的是某些物体有相同的属性,可以按照某些类别聚合在一起。
数据也可以看作是一个物体,只不过看得见,摸不着而已;
java中的数据类型分为三大类:基本数据类型、枚举类型、引用类型
数据类型是编程中不可或缺的;一个数据,如果没有类型,那么计算机就不知道已什么处理方式对待它。正如,一个物体,如果没有类型,我们如何认知它一样。
今天,我们先认识,八大基本数据类型。
2、基本数据类型
基本数据类型是编程中最常用的数据类型;
基本数据类型又分为四个类型:整数、小数、字符、布尔
整数类型:byte、short、int、long
小数类型(浮点数):float、double
字符类型:char
布尔类型:boolean
2.1、整数类型
byte:为字节类型,用于表示最小数据单位,1byte = 8bit(位),也就是8个二进制位。数据范围:-128~127;例子 byte b1 = (byte)1;
short:短字节类型。16位。很少用到,数据范围:-32768~32767;例子 short s1 = (short)1;
int:32位整型。最常用,数据范围是-2的31次方到2的31次方-1,一般地整型变量默认为 int 类型;但int类型的表示十进制值的范围在20亿以内,故大于这个范围的,必须用long型,否则没有必要。默认值是 0 ;例子:int i = 1;
long 数据类型是 64 位,最小值是 -9,223,372,036,854,775,808(-2^63);最大值是 9,223,372,036,854,775,807(2^63 -1);这种类型主要使用在需要比较大整数的系统上;默认值是 0L;例子:long a = 100000L,Long b = -200000L。"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。
2.2、小数类型
float :数据类型是单精度、32位、符合IEEE 754标准的浮点数;float 在储存大型浮点数组的时候可节省内存空间;
float和double的范围是由指数的位数来决定的。float的指数位有8位,于是,float的指数范围为-128~ +127,并且指数位是按补码的形式来划分的。
其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。float的范围为-2^128 ~ +2^127,也即-3.40E+38 ~ +3.40E+38(有效位数为6~7 位)。默认值是 0.0f;浮点数不能用来表示精确的值,如货币;例子:float f1 = 234.5f。
double:数据类型是双精度、64 位、符合IEEE 754标准的浮点数;浮点数的默认类型为double类型;double的指数位有11位,而double的指数范围为-1024~+1023,并且指数位是按补码的形式来划分的。
其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。double的范围为-2^1024 ~ +2^1023,也即-1.79E+308 ~ +1.79E+308(有效位数为15 位)。double类型同样不能表示精确的值,如货币;默认值是 0.0d;例子:double d1 = 123.4。
2.3、字符类型
char类型是一个单一的 16 位 Unicode 字符;最小值是 u0000(即为0);最大值是 uffff(即为65,535);char 数据类型可以储存任何字符;例子:char letter = ‘A’
2.4、布尔类型
boolean数据类型表示一位的信息;可以理解为正确,错误。
只有两个取值:true 和 false;
这种类型只作为一种标志来记录 true/false 情况;
默认值是 false;
例子:boolean one = true。
整理:
8byte
类型 | 型别 | 字节 | 取值范围 |
byte | 整型 | 1byte | -2^7 ~ 2^7-1 |
short | 整型 | 2byte | -2^15 ~ 2^15-1 |
int | 整型 | 4byte | -2^31 ~ 2^31-1 |
long | 整型 | 8byte | -2^63 ~ 2^63-1 |
float | 浮点型 | 4byte | 3.402823e+38 ~ 1.401298e-45 |
double | 浮点型 | 8byte | 1.797693e+308~ 4.9000000e-324 |
char | 文本型 | 2byte | 0~2^16-1 |
boolean | 布尔型 | 1byte | true/false |