您现在的位置是:首页 > 文章详情

基本数据类型

日期:2019-01-08点击:537

    java是强类型语言,必须为每一个变量声明一种类型。

    一、共有8种基本类型:4种整型,2种浮点型,1种字符型,1种布尔类型。位(bit)是计算机最小单位,用0或1表示,也就是2进制。1个字节(byte)是8位。

    1. 整型:表示没有小数部分的数值,可以是负数。

类型 存储需求 取值范围
byte 1字节 -128~127
short 2字节 -32768~32767
int 4字节 -2147483648~2147483647(正好超过20亿)
long 8字节 -9223372036854775808~9223372036854775807

    通常情况下,int最常用。特殊情况下,例如地球上的居住人数,那就要使用long,要加后缀L(推荐)或者l。byte和short用于特定场合,例如底层文件处理


    2. 浮点类型:表示有小数部分的数值,可以是负数。不能出现正无穷大、负无穷大、NaN(不是一个数字)的情况。

类型 存储需求 取值范围
float 4字节 大约±3.40282347E+38F(有效位数为6~7位)
double 8字节 大约±1.79769313486231570E+308(有效位数为15位)

    double的数值精度是float的两倍,通常情况下都采用double。如果需要使用float类型,要加后缀F(推荐)或者f。没有后缀的浮点型数值,默认为double类型


    3. 字符型char:占2字节。表示单个字符,用单引号括起来,例如'A',但有些Unicode字符需要两个char值。在java中,char类型描述了UTF-16编码中的一个代码单元。不建议在程序中使用char类型,除非确实需要处理UTF-16代码单元。最好将String作为抽象数据类型。


    4. 布尔类型boolean:只有true(成立)和false(不成立)两个值,用来判断逻辑条件。


    二、相互间的转换

    b38e5aaaeb997677e194780ce1bdef1d56a5f10e

    以上都是小转大,属于自动转换,其中:实线箭头表示无精度损失的转换,虚线箭头表示可能有精度损失的转换。如果是大转小,需要强制类型转换,也有可能有精度损失。

int a = 10; double b = 10.5; /** \* ①a从int类型自动转换为double类型 \* ②计算a+b \* ③得到double类型的值 */ double num0 = a + b; System.out.println(num0);// 输出20.5 /** \* ①②③相同 \* ④double类型的值赋给int类型,强制类型转换。 */ int num1 = (int)(a + b); System.out.println(num1);// 输出20,出现精度丢失的情况。

    对两个数值进行运算操作,需要先将两个操作数转换为同一类型,然后再进行计算:

  •     如果两个操作数中有一个是double类型,另一个操作数就会转换为double类型。
  •     如果其中一个操作数是float类型,另一个操作数将会转换为float类型。
  •     如果其中一个操作数是long类型,另一个操作数将会转换为long类型。
  •     都不是上述类型,两个操作数都将被转换为int类型。

     即double>float>long>int,但long占8个字节,float占4个字节,但为什么实际上float会比long大呢? https://blog.csdn.net/hexu8080/article/details/53924178
原文链接:https://yq.aliyun.com/articles/685840
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章