Java数据类型
1.1 数据存储
1------数据想要运算就要先存储
2------存储方式有:
内存:两端无线延伸的线
硬盘:螺旋线
1.1.1 存储单位
Bit = 比特 = 位
Byte = 字节 = 8bit
-128 ~127 为了保存正负数,只能丢失一半精度,最高位作为符号位
1 表示负数 0 表示正数
负数存储 存补码
比如 2 : 0 0000010
比如 -2 : 1 0000010(原码) -> 1 1111101 (反码) -> 1 1111110(补码)
反码 : 1变0 , 0变1
补码 : 反码+1
Short = 短整型 = 2byte = 16bit
Int = 整型 = 4byte = 32bit
Long = 长整型 = 8byte = 64bit
1.1.2 数据类型分类
本质 : 规定占用内存空间的大小,一般用位和字节表示
引用数据类型
类,数组,接口
基本数据类型
整数型
byte,short,int,long
浮点型
float,double
字符型
char
布尔型
boolean
Byte : 字节 8位
Short : 短整型 16位
Int : 整型 32位
Long : 长整型 64位
Float : 单浮点,32位
Double : 双浮点 64位
Char : 字符 16位
Boolean : 布尔型 8位, 00000001 是true , 00000000 是false
ASCII码
0 : 48
1 : 49
A : 65
B : 66
a : 97
b : 98
1.1.3 类型转换
布尔类型不参与转换
- 自动类型转换 : 低精度到高精度是自动类型转换,又称为隐式转换
- byte -> short -> int ->long ->float -> double
- char -> int ->long ->float -> double
- 强制类型转换 : 高精度到低精度是强制类型转换,又称为显式转换
- 低精度类型 名字 = (低精度类型)高精度值; 可能导致数据出错
1.1.4 混合运算
在混合运算中,结果是运算中最高的类型
byte b3 = 10; double d3 = 30; double result = d3 - b3;
当byte、short、char、int四种中任意一种或者多种进行混合运算时,结果都为int类型
byte b_1 = 1; short s_1 = 2; int s_2 = s_1 + b_1;
即byte+byte或者byte+char等返回类型均是int
2.1 变量
2.2.1 变量分类
局部变量:在方法中声明的变量是局部变量。
静态变量:在类体中使用static声明的变量。
成员变量:在类体中没有使用static声明的变量。
2.2.2 变量默认值
默认值,局部变量没有默认值
静态变量和成员变量有默认值
- 整数: 0
- 小数:0.0
- 布尔型:false
- 字符型:\u000
中使用static声明的变量。
成员变量:在类体中没有使用static声明的变量。
2.2.2 变量默认值
默认值,局部变量没有默认值
静态变量和成员变量有默认值
- 整数: 0
- 小数:0.0
- 布尔型:false
- 字符型:\u000
- 引用类型:null