3.java中的整数型

java语言中的整数型字面值被默认当作int来处理

java中的整数型字面值有三种表示方式:

1.十进制

2.八进制:需要以0开始

3.十六进制:需要以0x开始

java程序中的字面值会默认当作int类型来处理

int a = 123 ; 没有错误,123当作int类型赋值给int类型的a

long a =456 ;没有错误,456当作int类型,占用4个字节,a属与long类型,占用8个字节,小容量可以自动转化为大容量

long a = 2147483648 ; 错误 ,21447483648会默认当作int类型来处理,但是int类型最大的取值范围到2147483647 ,所以超过了int类型的取值范围

我们需要将它修改为long类型的数据,需要在数据后面加上L

即:long a = 2147483648L 

强制类型转换符

long a = 400L

int b =a  

以上程序无法编译通过,因为a属于long类型,属于大容量,而b属于int类型,属于小容量 

要想让以上编译成功的话,我们需要加入强制类型转换符

即: int b = (int)a             即在()中写入想要转换的数据类型

而  byte b = 50;

是没有错误的,对于byte类型有有优待,只要字面值没有超过byte类型的取值范围的,就可以不用加强制转换字符 

byte b = 130 ;这样就是错误的,因为130超过了byte类型的取值范围,我们需要加上强制类型转换符      byte b=(byte)128 这样就是正确的了

我们需要注意的是,我们使用了强制类型转换符后,可能会损失精度,如果强制类型转换的数字他的大小没有超过转换后的数据类型的最大范围,那么就不会损失精度,如果该数字超过了最大范围,那么转换后的数据的精度会损失。

同样的,当一个数的字面值没有超过byte、short 、char 、类型的最大取值范围,我们都可以进行直接赋值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值