类型转换

	/**
	 * 类型转换
	 */
	public static void main(String[] args) {
		//1、自动转换,容量小的数据类型可以自动转换为容量大的数据类型,此处容量指的是表示数的范围
		byte a = 100;
		int b = a;		
		//2、强制类型转换,当将一种类型强制转换成另一种类型,而又超出了目标类型的表示范围就会被截断成为一个完全不同的值
		int c =300;
		byte d = (byte)c;
		System.out.println(d);//300超出了byte类型的表示范围,强制转换时被截断,输出值为44
		//3、表达式中的类型提升,所有的二元运算符(+-*/%),都会有类型提升问题
		int e = 3;
		long f = 4;
//		int g = e+f;//报错,结果为int类型,表达式中存在long类型,有可能会损失精度
		//正确写法
		int g = (int) (e+f);
		long h = (e+f);
		//4、运算过程中超出表示范围
		int i = 1000000000;
		int j = 20;
		int k = i*j;//值为200亿,超出了int类型的表示范围,输出-1474836480,虽未报错,但与期望结果不符
		long l = (long)i*j;//正确写法,先进行类型提升,建议将long类型放在第一位,否则多位相乘时,前面的运算可能已溢出
		//5、常用类型转换函数
//		string->byte
//		byte ss = Byte.parseByte(String s) 
//		byte->string
//		String ss = Byte.toString(byte s);
//		char->string
//		String ss= Character.toString(char s);
//		string->short
//		short ss = Short.parseShort(String s);
//		Short->String
//		String ss=  Short.toString(short s);	 
//		String->Integer
//		int ss = Integer.parseInt(String s);
//		Integer->String
//		String ss = Integer.toString(int s);
//		String->Long
//		Long ss = Long.parseLong(String s);
//		Long->String
//		String ss = Long.toString(long s);
//		String->Float
//		Float ss = Float.parseLong(String s);
//		Float->String
//		String ss = Float.toString(float s);
//		String->Double
//		Double ss = Double.parseLong(String s);	 
//		Double->String
//		String ss = Double.toString(double s);
		//6、基本数据类型对应封装类的转换,此处以Integer类型为例
		Integer x = 123;
		String y = x.toString();//Integer对象转换为字符串类型
		int z = 1234;
		String s = String.valueOf(z);//使用字符串对象方法将int类型转换为字符串类型	       
	}


 

类型自动提升规则:

a和b作某种运算

a和b中有double,结果就是double

a和b中有float,结果就是float

a和b中有long,结果就是long

除此之外,结果都是int

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值