Java基础总结

来源:互联网 发布:美团数据分析工资 编辑:程序博客网 时间:2024/06/05 00:17
Java基础总结 - 数据类型
这篇文章只是把大学记的笔记整理到博客,方便自己查看,不保证权威性(•̀ᴗ•́)و ̑̑

1.基本数据类型

byte字节,1个字节,取值范围-128~127,默认值0
short:短整型,2个字节,取值范围-32768~32717,默认值0
int:整型,4个字节,取值范围-2147483648~2147483647,默认值0
long:长整型,8个字节-2^63~2^63-1,默认值0L
float:浮点型,4个字节,默认值0.0f
double:双精度浮点型,8个字节,默认值0.0
char:字符型,2个字节,取值范围0~65535,默认值为空

boolean:布尔类型,占1个字节,用于判断真或假(仅有两个值,即true、false),默认值false

1.运算时自动转换

除了boolean类型,其他七种基本类型可以相互运算
可能的转换:
 byte,char,short,int,long,float OP(double)->double
 byte,char,short,int,long OP (float)->float
 byte,char,short,int OP (long)->long
 byte,char,short OP (int)->int(单目运算可以避免这种必然的转换如:i++,i+=1)
必然的转换:
 (byte,char,short,) OP(byte,char,short)->int
以上都是在运算过程中

正常下赋值的话(byte short int long) (flaot double)只要类型范围比等于或小于自己就可以。另:整型数如 12 32都是int类型
,但在赋值中是可以给byte short 的。  char很怪,不能赋值给它byte short int long任型变量,他只能通过赋值具体的数
字65 66赋值,但它对外有显示的是int性质,它可以赋给int及int以上的变量。

2.运算时强制转换

Double db = 1.999;
Int I = db;//不行

Int I = (int)db; //不推荐用会失去精度。多用在引用变量

2.引用数据类型

可以理解为类变量,类似于c语言中的指针,这种变量指向一个对象地址空间(仅仅是指向这个空间,并不是对象本体)

3.类型之间比较

1.基本数据类型只能用==比较,直接是值比较
2.引用类型之间==比较的是对象地址空间是否相同,也可以重写equals()方法使得它可以进行值比较,但是必须保证的是对象类型一样
3.基本数据类型和引用数据类型比较,只有在类型可以互相转换时才可以用==来比较Interger和Long之类在和int 做比较的时候会转化成int;
Long a = 200;
a.equals(200)为false因为200会转换成Object类型还是进行引用类型之间比较