Java基础知识---基本数据类型及类型转化

Java基础知识---基本数据类型及类型转化

今天的笔记内容是关于Java的八种基本的数据类型。

1.基本数据类型的多种属性

Java基础知识---基本数据类型及类型转化

2.基本数据类型的相互转换

基本数据类型之前的转化一般分为以下几种:
a)取值范围小的转化为取值范围大的
 Java基础知识---基本数据类型及类型转化
Java基础知识---基本数据类型及类型转化
容量小的转化成容量大的类型不存值丢失问题,所以会自动转化成功。即所谓的隐式转换。
b)取值范围大的转化为取值范围小的
Java基础知识---基本数据类型及类型转化
Java基础知识---基本数据类型及类型转化
容量大的转化成容量小的类型会出现值丢失问题,所以会出现错误。隐式转换失败,那么我们就要采用强制转换:
Java基础知识---基本数据类型及类型转化
Java基础知识---基本数据类型及类型转化
c)Java默认的编译类型
Java基础知识---基本数据类型及类型转化
Java基础知识---基本数据类型及类型转化
上面的错误可能会让人摸不着头脑,为什么定义的是long类型却发生了错误,这是因为Java在默认输入的值是int,
而int类型的取值范围-2^31 ~ 2^31-1,而111111111超出了int的最大值所以这里出现了错误,解决方法如下:
Java基础知识---基本数据类型及类型转化
Java基础知识---基本数据类型及类型转化
那为什么byte a=1 不会出现异常呢?不是容量大的转换成小的会报错吗?大容量会自动进行转换成小容量的,只要
值在小容量的范围内就不会报错。
d)不同类型相加
byte类型和short类型相加:
Java基础知识---基本数据类型及类型转化
结果会被上升成int类型,需要强制转换;
long和int类型相加:
Java基础知识---基本数据类型及类型转化
相加结果会被上升成long类型;
其他范围大于int的不同类型相加结果都是被上升成了大的类型。所以我们得出一个结论:
不同类型运算,若是byte和short则会提升成为int,否则被上升成为容量大的那种类型。