Java的基本数据类型的类型转换

1.背景知识

1.基本数据类型的数值的表述范围:

double>float>long>int>short/char>byte(其中float>long的原因:由于浮点数的存储方式与整型不同)

2.基本数据类型占内存:

double = long>float = int>short=char>byte

3.注释:Java基本数据类型的类型转换,是根据基本数据类型的表述范围的大小来操作的

2.类型转化(基本数据类型)

1.自动转换:小的转换给大的(从数值的表述范围来讲)

例子

public class leixingzhuanhuan {
	public static void main(String[] args){
		int a = 10;//定义表述范围较小的变量a
		long b ;//定义表述范围较大的变量b
		b = a;//将int类型的a赋值给b,就是将int类型的a转换成long类型的b
		
	}

}

2.强制转换:大的转换给小的(从数值的表述范围来讲)

错误例子

ublic class leixingzhuanhuan {
	public static void main(String[] args){
		long a = 10;//定义表述范围较大的变量a
		int b ;//定义表述范围较小的变量b
		b = a;//将long类型的a直接赋给b
		
	}

}

注释:本例子为错误例子,当我们想要将表述范围的变量转换成表述范围小的变量时,并不能直接进行直接转换,例如本例中:b =a

正确例子:

public class leixingzhuanhuan {
	public static void main(String[] args){
		long a = 10;//定义表述范围较大的变量a
		int b ;//定义表述范围较小的变量b
		b = (int)a;//首先通过(int)a的形式将long类型的a强行转换成int类型,然后在赋给b
		
		
	}

}

注释:正确的方法:首先通过(int)a的形式将long类型的a强行转换成int类型,然后在赋给b

3.特殊情况讲解:

1.当int和double发生运算时(就是小表述范围的类型变量和达表述范围的类型变量参与运算时)

结果变成数值表述范围大的类型

public class leixingzhuanhuan {
	public static void main(String[] args){
		double a = 10.0;
    	int b  = 10;
		System.out.println(a+b);
		
		
	}

}

运行结果

2.windows有一本字典(用ASCII编码对应不同符号,0到65535,每个整数代表一个字符)如果整数不超过65535 ,char 和 int是可以混合赋值的

例子

public class leixingzhuanhuan {
	public static void main(String[] args){
		char a = 20320;
		int b = '你';
		System.out.println(a);
		System.out.println(b);
		
		
	}

}

运行结果

代码注解:当我们打印被赋值20320的a时,输出结果是汉字“你”,而打印被赋值汉字“你”的b时,输出结果是20320,这充分说明了char类型和int类型在一定范围内是可以混合赋值的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值