Java基本数据类型显示和隐式转换

Java基本数据类型的转换

要解释Java数据类型的转换,可以从两个方面来阐述:
1. Java中的数据类型
2. 数据类型的转换分类

java的数据类型

Java数类型主要分为两大分类:内置数据类型和引用类型。内置数据类型就是本文所提到的基本数据类型;引用类型大多数是指对象类型,比如我们熟知的String类型。

Java中的八大基本类型分别为:byte、short、int、long、float、double、boolean和char。

类型转换

类型转换分为自动类型转换和强制类型转换,自动类型转换是隐式转换,当基本数据类型的小范围向大范围转换时,进行数据类型的隐式转换,不会发生数据溢出,这些是有编译器自己将数据类型进行转换。
强制类型转换是从范围大的向范围小的数据进行转换,这时编译器不会自动地进行转换,那么徐娅我们在代码中表示出来,格式如下(如下代码):
数据类型1 数据类型1的数据= (数据类型1) 数据类型2的数据

     int intDate=100;
     short shoryDate=(short)intDate;

但是需要注意的是,数据类型2与数据类型1是存在关系的,并且数据类型2的数据在逻辑上不能超过数据类型1的范围。

示例

Java中的boolean不能进行数据类型转换,其他类型可以进行类型转换,类型范围大小为:
byte < short < char < int < long < float < double

系统中默认的是int类型,在进行运算时会将数据范围小的类型转换成int类型然后在计算;但是如果只是定义7种类型进行赋值,不会发生类型转换。

以下展示这些类型转换的示例:

  1. byte与int类型转换
    显示转换

    byte byteDate=1024;
    byteDate=(int)(1+1);
    

    隐式转换

     int intDate=100;
     intDate=(byte)(1+1);
    

    结论:只要数据不超过byte的数据范围,byte数据和int数据能够进行任意转换,无需强制转换。但是如果数据范围大于byte的范围,那么编译将失败,如果需要编译成功需要加上强制转换,这样虽然可以编译成功,但是得不到我们期望的值。

  2. long和int类型转换

     long longDate=12;
     int intDate=(int)longDate;
     System.out.println(intDate);

12是int类型,隐式转换成long类型;当long类型需要转换成int类型时,不管是否超出int数据范围,都需要进行强制转换,否则会报编译错误。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值