Java数据类型相关知识点-整型
Posted qq1335210739
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java数据类型相关知识点-整型相关的知识,希望对你有一定的参考价值。
数据类型在程序语言的构成要素里占有相当重要的地位。Java的数据类型可分为基本数据类型与引用数据类型两种,其中最基本的数据类型包括了最基本的byte、short、int、float、double、char、long、boolean等。而对于引用数据类型(类似于c/c++的指针),在操作时必须要进行内存的开辟。数据的类型划分如下所示:
注:基本数据类型不牵扯到内存的开辟问题,而引用数据类型牵扯到内存的开辟。
如果从开发角度来讲,以下的几种基本类型最为常用:
① int型(-2147483648-2147483647):只要是看见了整数的定义,其类型都是整型,默认值为0;
② double型(-1.7E308-1.7E308):只要看见了小数的定义,其类型基本都是double型,默认值为0.0;
③ byte型(-128-127):数据传输与IO和编码转换的时候使用此类型,默认值为0。
④ boolean型(true或false):用于程序的逻辑操作,默认值为false;
⑤ long型(-9223372036854775808-9223372036854775807):表示日期时间或文件长度的时候使用默认值为0。
小提示:Java中可以方便地去每一个数据类型的最大值和最小值:
如int型和double型:
最大值:Integer.MAX_VALUE;
Double.MAX_VALUE;
最小值:Integer.MIN_VALUE;
Double.MIN_VALUE;
注:在int型中,①最大值+1=最小值;②最小值-1=最大值
运行结果:
以上出现的结果称为数据的溢出,而解决溢出的主要方法是可以通过扩大数据范围来完成,比int大的范围是long,所以可以用如下两种方式完成:数字或变量L、(long)数字或变量。
运行结果:
在Java中,各个基本数据类型的转型操作流程为:
①范围小和范围大的两种数据操作,范围小的数据类型自动转换为范围大的数据类型,如:int+long=long;
②如果要把表示范围大的数据变成范围小的数据,则必须强制类型转换,如:int型=(int)long型。
当强制转换的数据类型的数据值大于接收类型时,依然会存在数据溢出。如以下byte的验证:
运行结果:
原因:因为int型变量x保存的内容是200,这个数值已经超过了byte的数据范围(-128~127),所以仍然发生了数据溢出。
注:对于byte的赋值操作Java有一个特殊支持。
如果现在用户要定义byte型变量,那么会存在两种情况:
①定义的数值在byte范围之内:
运行结果:
原因:按照之前讲解的知识,只要是一个整数其类型就默认为int型,所以按照道理来说,这个时候应该进行强制类型转换才可以将20转换为byte型,可是Java中对于这种直接复制的操作会自动帮助用户将int转换为byte型,但这也只是针对byte数据而言。
②定义的变量数值不在byte范围内:
运行结果错误提示:
原因:由于此时200已经超过了byte的范围,所以程序在编译时就会明确地告诉用户,int型数据无法直接转换成byte型数据,用户需要自己执行强制处理
运行结果:
以上是关于Java数据类型相关知识点-整型的主要内容,如果未能解决你的问题,请参考以下文章
剑指offer知识点Java中无符号整型如何与int/long类型互相转化