Java类型转换

一、自动类型提升

	bytecharshort --> int --> long --> float --> double
	bytecharshort三个类型任意组合运算结果类型为int类型
	
	float b1 = 3.14f;
	
	//整型常量默认为int,当整型常量超过int表示的范围后,就会报错,需要加上后缀L/l
	long a1 = 23423112345235234L;
	byte a2 = 54;
	
	//浮点型常量默认为double,因为float要求加F/f
	float a3 = 3.14f + a2;
	
	//整型常量默认为int类型
	int a4 = a2 + 35;

	short s = 3;
	//错误,因为3是int型
	s = s + 3;
	//修改方法一
	int i = s + 3;
	//修改方法二
	s = (short)(s + 3)
	//修改方法三,该运算符不会改变运算结果的类型
	s += 3;
	结论:+=/ *=等运算符不会改变数据类型
	
    int q = 1;
    q *= 0.1;
    //q为0的原因是1 * 0.1 = 0.1,截断为整型后为0
    System.out.println(q);
    q++;
    System.out.println(q);

二、强制类型转换

	byte a6 = (byte)128;
	System.out.println(a6);
	//10000000, 从int强转(截断)为byte型后,剩下这个数,用二进制表示就是补码(计算机用补码存储二进制),正好是-128
	//11111111 -127(原码)
	//10000000 -127(反码)
	//10000001 -127(补码)
	//10000000 -128(补码)

三、其他

	//String类型可以与8个基本数据类型做运算:+为字符串连接符,结果均为String类型
	//"\n"和"\t"才表示换行符和制表符,'\n'和'\t'只是两个字符
	System.out.println('*' + "\t" + '*');
	System.out.println('*' + '\t' + '*');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值