开发者学堂课程【Java编程入门:整型数据类型】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/18
整型数据类型
目录:
一、整形数据四种分类
二、int的编译执
三、long的编译执行
四、定义byte变量
1.整形数据四种分类
整形数据类型一共有四种,按照保存的范围由小到大分别是:duet、short、int 、long ,在Java里面任何一个的整形常量(例:10 不会改变)其默认的类型都是int型(只要是整数就是int类型的数据)。
2.int的编译执行
范例:定位int型变量
范例:修改“x”内容
任何数据类型都有其可以保存的数据范围(正常使用下很少会出现超过此范围的数据)
范例:超过了处理范围
通过此时的执行结果可以发现这些数字在进行处理得时候如果超过了其最大的保存范围,那么将出现有循环的问题,而这些问题在Java中被称之为【数据溢出】,如果想解决这种溢出,就可以继续扩大使用范围,比int更大的范围是long。
3.long的编译执行
范例:解决数据溢出
在操作的时候预估数据范围,如果发展范围不够就使用更大
范围时ling型变量+int型常量=long型计算结果。
除了可以定义long型的变量之外,也可以直接在常量上进行处理,默认的整数常量都是int型,那么可以为他追加字母“L”或者直接使用“long”转换。
现在发现数据类型之间是可以转换的,即:范围小的数据类型可以自动转换为单位发的数据类型,如果反过来数据发的数据大的类型要转换为单位小的数据类型,那么就必须采用强制性的处理模式,同时还需要考虑可能带来的数据溢出。
范例:强制类型转换
所以程序支持有数据转换处理,但是如果不是必须的情况下不要做这种转换。
在进行整形处理得时候,需要特别注意byte类型,首先这个类型的范围是:-128~127之间,也就是说它保存的数据量很小。
4.定义byte变量
范例:定义byte变量
正常来讲在Java程序里面20这个数字应该是int型,但是在为byte赋值的时候并没有因为是int型而发生强制类型转换,这是因为Java对byte做了特殊处理,即:如果没超过byte范围的常量可以自动由int变成byte,如果超过了就必须强制转换。
范例:int强制转换为byte
由于现在200已经超过了byte的范围,所以产生了数据溢出的情况(只针对于常量)
虽然对于常量可以自动适配转换,但是如果对于变量则还是必须使用强制转处理。