【Java篇】备战面试——你真的了解“基本数据类型”吗?

目录

基本介绍:        

整数类型

浮点类型 

布尔类型和char类型

 自动类型转换

 数据类型转换必须满足如下规则:


基本介绍:        

        Java是一门强类型语言,这就意味着必须为每一个变量声明一种类型。Java为我们提供了八种基本类型(primitive type),其中又分为4种整数类型2种浮点类型1种字符类型char

整数类型

基本数据类型字节数默认值范围包装数据类型
byte10-2^7—2^7-1Byte
short20-2^15—2^15-1Short
int40-2^31—2^31-1Integer
long80-2^63—2^63-1Long

 当我们在给long类型赋值时,如果常量超出int类型的表示范围,就需要在数字后面加上后缀L或l,像下面这样就会报错;

 之所以要加L或l,是因为数字常量默认为int类型,而上面这个数字很明显已经超出int范围了;

浮点类型 

基本数据类型字节数默认值包装数据类型备注
float40.0fFloat数字后加f
double80.0dDouble

 其中double类型的数值精度是float类型的两倍,所以也被称为双精度类型

值得注意的是:float类型的数值后面有一个后缀F或f (例如3.14F) ,如果没有后缀的情况下3.14会被默认为double类型,你也可以写成3.14D或3.14d;但是如果你写成下面这样就会报错;

浮点型(float/double) 用来表示浮点数据,实际以指数形式存储,所以和实际值之间有偏差。

1,为 float 类型赋值必须在数字后加 f,否则数字默认被识别为 double 类型,会导致赋值出错。

2,数字基本类型都包含最大最小值常量,如 Integer.MAX_VALUE 和 Integer.MIN_VALUE .

3,在浮点型有三个特殊数值表示溢出和出错:

    POSITIVE_INFINITY :正无穷大,正数除以 0 可以得到。

    NEGATIVE_INFINITY :负无穷大,负数除以 0 可以得到。

    NaN :非数,零除以 0 可以得到。(两个 NAN 值也不相等) 

布尔类型和char类型

基本数据类型字节数默认值包装数据类型备注
char2'\u0000‘(或0)Character必须用单引号
boolean1falseBoolean

 自动类型转换

整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。

转换从低级到高级。

 数据类型转换必须满足如下规则:

  • 1. 不能对boolean类型进行类型转换。

  • 2. 不能把对象类型转换成不相关类的对象。

  • 3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。

  • 4. 转换过程中可能导致溢出或损失精度,例如:

    int i =128;   
    byte b = (byte)i;

    因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。

  • 5. 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:

(int)27.9 == 27;        
(int)-45.89f == -45

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值