Java类型转换

本文介绍了Java中的自动类型转换(隐式转换)和强制类型转换。隐式转换涉及数据范围小的值赋给数据范围大的变量,如int到double。而强制转换则是将大范围的数据赋值给小范围的变量,需要使用类型转换表达式。文章通过实例展示了转换规则,并提到了编译时的常量优化机制,即整数常量计算会判断结果是否在目标类型范围内。此外,博客指出boolean类型无法与其他类型互转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 类型转换

  1. 自动类型转换
  2. 强制类型转换

1.1 隐式转换

​ 把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。

double num = 10; // 将int类型的10直接赋值给double类型
System.out.println(num); // 输出10.0

​ 类型从小到大关系图:
请添加图片描述

  1. 整数默认是int类型,byte、short和char类型数据参与运算均会自动转换为int类型。

  2. boolean类型不能与其他基本数据类型相互转换。

1.2 强制转换

​ 把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量。

​ 强制类型转换格式:数据类型 变量名 = (数据类型) 值或者变量;

1.3 类型转换

案例代码:

byte a = 3;
byte b = 4;
byte c = a + b; //错误。因为两个byte变量相加,会先提升为int类型
byte d = 3 + 4; //正确。常量优化机制

常量优化机制:

在编译时,整数常量的计算会直接算出结果,并且会自动判断该结果是否在byte取值范围内:
​在:编译通过
不在:编译失败

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值