Java —— 基本类型的类型转换

Java 提供的7种基本数据类型可以互相转换,有2种转换方式:自动类型转换和强制类型转换。

1 自动类型转换

如果系统支持把某种基本类型的值直接赋值给另一种基本类型的变量,则这种方式被称为自动类型转换。

基本数据类型转换

当把一个表数范围小的数值或变量直接赋值给另一个表数范围大的变量时,系统可以进行自动类型转换,否则就要进行强制类型转换。
在这里插入图片描述
上图的左边可以自动类型转换成右边
注char与byte,char与short无法自动转换

public class AutoConversion{
	public static void main(String[] args){
		//int转换成float
		int a=1;
		float f=a;	//输出1.0
	}
}

基本数据类型转String

字符串类型不是基本类型,而是引用类型。
当把任何基本类型的值和字符串进行连接运算时,基本类型的值将自动转换为字符串类型。

public class ToString{
	public static void main(String[] args){
		String s1=3.5f+"";	//s1="3.5"
		String s2=1+2+"";	//s2="3"
		String s3="0"+1+2;	//s3="012"
	}
}

2 强制类型转换

如果范围大的数转换为范围小的数,则可能会引起溢出,从而造成数据丢失。这种转换页被称为“缩小转换(Narrow Conversion)”。

public class NarrowConversion{
	publci static void main(String[] args){
		int a=233;
		byte b=(byte)a;	//b=-23
	}
}

在这里插入图片描述
字符串不能直接转换为基本类型,但是可以通过包装类

String s="12";
int a=Integer.parseInt(s);

boolean - Boolean
byte - Byte
short - Short
int - Integer
long - Long
char - Character
float - Float
double - Double
8个包装类都提供了一个parseXxx(String str)

关于float类型:
float f=5.6 这样会出现错误,因为5.6默认是double类型
所以应该为:float f=(float)f;

3 表达式类型的自动提升

当一个算术表达式中包含多个基本类型的值时,整个算术表达式的数据类型将发生自动提升。Java定义了如下提升规则:

  • 所有byte类型、short类型、char类型将被提升到int类型
  • 整个算术表达式的数据类型自动提升到与表达式中最高等级操作数同样的类型。
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值