目录
1、数据类型的分类
-
基本数据类型 注: 分为四大类八小种
-
整型
-
取值范围 默认值
-----------------------------------------------------------------------------------------------------------------------------
-
-
-
byte 1byte=8bit -128~127 0
-
short 1short=2byte -32768~32767 0
-
int 1int=4byte -2147483648~2147483647 0
-
long 1long=8byte 0L
-
-
notes:1KB=1024byte
1MB=1024KB
1GB=1024MB
1TB=1024GB
-
-
浮点型
-
占用字节(byte)数量 取值范围 默认值
-
-
-
float 2 0.0F
-
double 4 0.0
-
-
字符型
-
char 2 0~65535 \u0000
-
-
布尔型
-
boolean 1 true或false false
-
-
-
引用数据类型
-
-
String null
-
-
2、二进制与十进制之间的转换
-
十进制转二进制 方法:除二取余,然后倒排。
-
二进制转十进制 方法:第n位* 2^(n-1)+第n-1位*2^n-2+...._+第一位*2^0
3、字符编码
4、字符型
-
占用两个字节
-
取值范围0~65535
-
单引号括起来
-
一个汉字占两个字节
-
采用unicode编码方式
notes:/ 成为斜杠 \成为反斜杠 巧记:上坡为正,下坡为反
5、转义字符
\t
\n
\'
\"
\u 后面跟unicode编码 ,是16进制
6、二进制、八进制、十进制、十六进制
二进制以0b开头
八进制以0开头
十进制直接写
十六进制0x
7、整型数据
-
在Java中,任何情况下,整型数据(字面量)都默认为int类型
-
int a = 12;没有发生类型转换
-
long b = 12;发生了自动类型转换
-
long c = 12L;没有发生类型转换
notes;类型转换分为自动类型转换和强制类型转换
自动类型转换:将小范围赋给大范围,可以直接赋
强制类型转换:将大范围赋给小范围必须强制类型转换,但是强制类型转换可能会损失精度
特殊的语法,整型字面量(只能是数据,其他的都不可以)在没超过byte,short,char类型的范围时,可以直接赋值给相应类型的变量
8、二进制原码、反码、补码
在任何情况下,计算机都是以二进制补码的形式存储数据的。因为效率最高。
-
对于一个正数, 原码、反码、补码完全相同
例如 byte a = 1;
原码:00000001
反码:00000001
补码:00000001
-
对于一个负数,反码由原码符号位不变其他位取反,补码由反码加1
例如 byte a = -1;
原码:10000001
反码(原码符号位不变,其他位取反):11111110
补码(反码加一):11111111
9、byte、short、char做混合运算时,先转化成int再运算
其他的混合运算都是转换成最大容量来运算
10、浮点型
-
单精度浮点型和双精度浮点型
-
float和double都是近似值
-
浮点型字面量默认都是double类型,要想是float类型可以在后面加上F/f或者强制类型转换
-
浮点型容量一定大于整型,所有的都是
notes:
在金融领域内一般都是使用java.math.BigDecimal来存储数据的
11、容量大小排序
byte<short(char)<int<long<float<double