Java数据类型
Java数据类型
1、基本数据类型(primitive type)
byte
一个字节 -128 ~ 127
byte num = 10;
int
四个字节 -2147483648 ~ 2147483647
int num = 100;
long
八个字节 -9223372036854775808 ~ 92233720368547758087
long num = 100L;
float
四个字节
float num = 100.0f;
double
八个字节
double num = 100.0;
char
两个字节
char num = 'a';
short
两个字节 -32768 ~ 32767
short num = 30;
boolean
一个字节 只有true 和 false
boolean num = true;
字节是什么?
-
位(bit)是计算机内部数据存储的最小单位,11001100是一个八位二进制数
-
字节(byte)是计算机中数据处理的基本单位,习惯上用大写B来表示
1B = 8 bit
1024B = 1KB
1024KB = 1M
1024M = 1G
-
字符是指计算机中使用的字母、数字、字和符号
2、引用类型(reference type)
- 类
- 接口
- 数组
扩展
int扩展(进制)
-
二进制
int i = 0b01001; -
十进制
int i = 100; -
八进制
int i = 010; -
十六进制
int i = 0x10;
float和duoble扩展(精度问题)
float对于长度过长的数据表示是有误差的,存储的是大约的数据,金额尽量采用BigDecimal
字符扩展(字符转换为数字)
char num = 'a';
int result = (int)num;//a:97 A:65
字符本质是数字(unicode编码)
转义字符
| 转义字符 | 意义 | ASCII码值(十进制) |
|---|---|---|
| \b | 退格(BS) ,将当前位置移到前一列 | 008 |
| \f | 换页(FF),将当前位置移到下页开头 | 012 |
| \n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
| \r | 回车(CR) ,将当前位置移到本行开头 | 013 |
| \t | 水平制表(HT) (跳到下一个TAB位置) | 009 |
| \v | 垂直制表(VT) | 011 |
| \\ | 代表一个反斜线字符\ | 092 |
| \' | 代表一个单引号(撇号)字符 | 039 |
| \" | 代表一个双引号字符 | 034 |
| \0 | 空字符(NULL) | 000 |
| \ddd | 1到3位八进制数所代表的任意字符 | 三位八进制 |
| \uhhhh | 1到2位十六进制所代表的任意字符 | 二位十六进制 |
类型优先级
从低到高
byte,short,char------>int---->long------>float------->double
数值运算时,优先转换成高的同一种数据类型在进行计算
高优先级的数据类型变成低优先级的数据需要强制转换,但是需要注意会不会出现数值超越范围的情况(内存溢出或者精度问题)
低优先级的数据类型变成高优先级的数据是可以直接转换
int num1 = 10000;
byte num2 = (int)num1;//内存溢出
float num3 = 100.11f;
int num4 = (int)num3;//精度损失
char num5 = 'a';
int num6 = num5 + 1;

浙公网安备 33010602011771号