数据结构
数据结构
一、基本数据类型
1.整数类型
| 数据类型 | 占用内存 | 取值范围 |
|---|---|---|
| byte | 1个字节 | -128~127 |
| short | 2个字节 | -3_2768~3_2767 |
| int | 4个字节 | -21_4748_3648~21_4748_3647 |
| long | 8个字节 | -922_3372_0368_5477_5808~-922_3372_0368_5477_5807 |
//整数类型
byte num1 = 100;
int num2 = 20;
short num3 = 30;
long num4 = 40L; //long类型要在数值后加 “L”
2.浮点类型
| 数据类型 | 占用内存 | 有效数字位数 |
|---|---|---|
| float | 4个字节 | 8位 |
| double | 8个字节 | 16位 |
//浮点类型
float num5 = 40.5F; //float类型要在数值后加 “F”
double num6 = 3.14159; //默认为double类型
注意:尽量不要使用浮点数来比较大小
float f = 0.4F;
double d = 0.4;
System.out.println(f>d); //true
3.字符类型
-
char——占2个字节
//字符型 char c1 = '\n'; //换行 char c2 = '\b'; //退格 char c3 = '\t'; //水平制表 char c4 = '\''; //单引号 char c5 = '\"'; //双引号 char c6 = '\\'; //反斜线
4.逻辑类型
-
boolean——占1个位
//布尔类型 boolean flag1 = true; boolean flag2 = false;
二、类型转换
1.精度排序
低----------------------高
byte,short,char —> int —> long —> flaot —>double
2.转换原则
低——>高 自动装换
高——>低 强制转换
3.注意事项
3.1精度丢失
从小数转换成整数的时候,会丢失小数部分
System.out.println((int)23.7); //23
System.out.println((int)-45.89F); //-45
3.2数据溢出
操作比较大的数的时候,注意溢出问题
int i = 128;
byte b = (byte)i;
System.out.println(b); //-128