数据类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据类型相关的知识,希望对你有一定的参考价值。
1.数据类型
Java中有两种数据类型:基本数据类型,引用类型。
基本数据类型
即int/char等这样的数值类型,共8种
引用类型
除了基本数据类型之外都是引用类型
包括API中的类,比如String、File
也包括自定义的类,如PersonalAccount,CreditAccount
包括数组,如int[],String[]
2.基本数据类型转换
2.1 基本数据类型
8种基本数据类型为:byte 、short 、int 、long 、float 、double 、char 、boolean
2.2基本数据类型转换
程序中经常会遇到要将数据类型进行转换的情况(如:在一个表达式中存在不同类型的操作数时),Java的数据类型转换比C控制得更为严格;
数据类型转换有两种情况:
自动类型转换:
自动类型转换也称作隐式类型转换;
将一种类型的变量赋值给另一种类型的变量时,只要满足以下条件,就会发生自动类型转换
两种类型之间相互兼容
目标类型大于源类型(即类型提升)
Int a=8;
long b=a;
float a= 3.14f;
double d = a;
强制类型转换:
有类型提升的情况下,编译器将自动进行类型转换,否则就要进行强制类型转换;
类型提升应遵循如下规则:
两种类型必须兼容,且目标类型大于源类型,例如:
byte、char和short类型都可以提升为int型。
对于表达式而言,其最终结果将会与表达式中最高的数据类型相同。
int a=10;
int b=(short)a;
3.引用数据类型
3.1定义:
在Java中,除了上述基本数据类型的变量以外,其余的全都属于引用数据类型,
包括
API中的类,如String、File等
数组(后续学习)
自定义的类,如Cars、Student
对象全部是引用数据类型
3.2引用数据类型的应用
引用类型使用的场景与基本数据类型完全一样
作为属性的类型使用
作为方法的返回值类型使用
作为方法的形式参数类型使用
3.3引用类型的赋值
引用数据类型的赋值
引用类型都是对象,所以赋值都使用new调用构造方法进行赋值
例外:String类可以直接使用=赋值,不使用new,后续详细学习
4.基本类型和引用类型的区别
基本数据类型:
变量(单纯的值)
在栈中存值
直接赋值
引用数据类型
对象(引用)
在栈中存引用,在堆中存具体对象的属性值
new ,String类和包装器类可以直接赋值
5.赋值和==运算
5.1基本数据类型的赋值
基本数据类型赋值
基本数据类型之间赋值,是将值进行拷贝
例:int a=4;
int b=6;
a=b;
5.2引用类型的赋值
引用类型的赋值都是通过new调用构造方法
例:Student stu1 = new Student(“熊爱红”21);
Student stu2 = new Student((“张杰”,27);
引用类型之间赋值,是虚地址之间的赋值
例:stu1=stu2; stu2赋值给stu1,指的是把stu2的虚地址赋值给stu1,也就是二者将指向同一个实际对象张杰。
5.3==运算
在判断引用数据类型时判断的是地址,即虚地址一样才返回true
在判断基本数据类型时判断的是数值,即二进制一样才返回true
以上是关于数据类型的主要内容,如果未能解决你的问题,请参考以下文章
1.19.6.数据类型数据类型列表结构化的数据类型其他数据类型数据类型注解