java学习有很多书籍可以参考如(java核心卷等),可以关注我公众号获取:浩泽学编程。
前言
java八大数据类型、数据类型转化(自动转换和强制类型转换)。
java基础数据类型也是以后就业的常问题,希望大家对于java的基础打牢,才能走的更长远。
一、 java数据类型(八大基本数据类型(牢记))
图中基本数据类型的[ ]内数字代表所占字节数,如char占两个字节。
本篇文章只讲解基本数据类型,引用数据类型暂不讲解。
1.基本数据类型占用的储存空间及取值范围
2.八大基本数据类型个别注意点
- 字符型的本质:
- 字符型的本质是整数型。因为字符型储存到计算机中,需要将字符对应的ASCII码值(这个ASCII码值是整数)找出来,比如’a’的
储存:‘a’==> 码值97 ==> 二进制(110 0001) ==>储存
读取:二进制 ==> 97 ==> ’a‘ ==>显示
- java中的浮点型默认是double类型,所以在定义float类型的时候要在数据末尾加f(或者F):
float ar=0.12f;
如果不加默认是double类型。double类型末尾加不加d(D)均可。
二、基本数据类型转换
1.自动类型转换
- java程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数据类型,这个就是自动类型转换。
- 数据类型按照精度大小排序为(记住,这是规则)
自动类型转换注意和细节:
(1)有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量大的那种数据类型,然后再进行计算。
int a=10; float f1=a+1.1;//错误 int+double=>结果类型是double double f2=a+1.1;//正确int + double float f3=a+1.1f;//正确int + float
(2)当我们把精度(容量)大的数据类型赋值给精度(容量)小的数据类型时,就会报错,反之就会进行自动类型转换。
int a1=1.1;//错误double -> int
(3)(byte,short)和char之间不会互相自动转换。
byte b1=10;//可以 byte范围在-128~127 int n=10; byte b2=n;//错误,原因:如果是变量赋值要判断类型,此时n代表的是int类型的10
(4)byte,short,char他们三者可以计算,在计算时首先转换为int类型。
byte b2=1; byte b3=2; short s=1; short s1=b2+s;//错误 结果是int类型 int n=b2+s;//正确 //这里补充个知识点 byte b=3; b+=2;//等价于b=b+2;这里b+2应该是int类型,但是为什么对了 //因为这里真正等价的是b=(byte)(b+2) b++;//b=(byte)(b+1)
(5)boolean类型不参与转换。
(6)自动提升原则:表达式结果的类型自动提升为操作数中最大的类型。
byte b=1; short s=10; int n=2; float f=1.1f; int nn=b+s+n+f;//错误,最大的类型是float,所以结果是float类型
2.强制类型转换
- 强制类型转换为自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。
- 使用时要加上强制转换符(),但可能造成精度降低或溢出,要格外注意。
- 使用如:
int i=(int)1.9; int j=9;byte k=(byte)j;
总结
这就是本篇文章对基本数据类型的大致讲解,如果有什么疑问可以在评论区提出。