Java基础 01
一、8大基本数据类型
1.1 byte
最大存储数据量:255
数据范围数据范围:-128~127
8位 1字节
包装类型:Byte
默认值:0
1.2 short
最大存储数据量:65536
数据范围数据范围:-32768~32767
16位
包装类型:Short
默认值:0
1.3 int
最大存储数据量:2的32次方减1
数据范围数据范围:负的2的31次方~正的2的31次方减1
32位
包装类型:Integer
默认值:0
AtomicInteger
1.4 long
最大存储数据量:2的64次方减1
数据范围数据范围:负的2的63次方~正的2的63次方减1
64位
包装类型:Long
默认值:0
AtomicLong
1.5 float
最大存储数据量:~
数据范围数据范围:3.4e-45~1.4e38
必须加F或f 32位
包装类型:Float
默认值:0.0
1.6 double
最大存储数据量:~
数据范围数据范围:4.9e-324~1.8e308
D或d可加可不加
64位
包装类型:Double
默认值:0.0
1.7 boolean
最大存储数据量: ~
数据范围数据范围:true/false 未规定,但JVM是以字节为单位,所以应该不小于8位( 1字节),一般认为boolean是
用int存储(0/1),所以 应该是4字节
包装类型:Boolean
默认值:false
AtomicBoolean
1.8 char
最大存储数据量:
数据范围数据范围
16位
包装类型:Character
默认值:\u000
二、基本用法
byte a1=127;
byte a2=-128;
short b1=32767;
short b2=-32768;
int c1=2147483647;
int c2=-2147483648;
long d1=9223372036854775807l;
long d2=-9223372036854775808l;
float e1=123.4f;
double f1=67512313.32;
char g='a';
char h=65;
boolean i=10>9;
boolean l=10>98;
三、基础类型出现原因
java底层是C++编写,所以沿用了C++的基本型 基本类型放置在java虚拟机栈中,访问快。
四、包装类型出现原因
基础类型不具备属性方法,不符面向对象思维
五、拆箱装箱
原理:装箱的时候调用了Integer.valueOf(int i) 这个函数,拆箱的时候调用了Integer.intValue()这个函数
5.1装箱:
常规写法:Integer integer = new Integer(10);
装箱写法:Integer integer = 10;
定义:能直接根据数值就能创建对应的Integer对象,而不用new操作。
5.2拆箱:
写法:int i = integer
定义:把包装类型直接赋值给基础类型
六、类型转换
原则:精度由小到大自由转换,由大到小强制转换丢失精 度 布尔型和其它基本数据类型之间不能相互转换
byte型可以转换为short、int、、long、float和double
short可转换为int、long、float和double char可转换为int、long、float和double
int可转换为long、float和double
long可转换为float和double
float可转换为double
总结:byte-->short-->int-->long-->float-->double 或者char-->int-->long-->float-->double