javaSE学习05_基本类型的类型转换


基本数据类型转换

1.boolean类型不可以转换为其他的数据类型。


2.整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:


(1)容量小的类型自动转换为容量大的数据类型:数据类型按容量大小排序为:

byte,short,char->int->long->float->double

(2)容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出:使用时要格外注意。

(3)有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。

(4)实数常量(如:1.2)默认为double。

(5)整数常量(如:123)默认为int。


package com.dao.chu;

public class ConvertTest {

	public static void main(String[] args) {
		
		int i1 = 123;
		int i2 = 456;

		// 1.2默认为double类型,系统将转换为double型运算
		double d1 = (i1 + i2) * 1.2;
		// 需要加强制转换符
		float f1 = (float) ((i1 + i2 * 1.2));

		//int可以直接给byte赋值但不能超过限度,比如byte最大正数为127,不可以写byte a =127
		byte b1 = 67;
		byte b2 = 89;
		// 系统将转换为int型运算,需要强制转换符
		byte b3 = (byte) (b1 + b2);
		//输出-100,因为int(4个字节)转换byte(1个字节)砍掉了3个字节
		System.out.println(b3);

		//1*(10的200次方)
		double d2 = 1e200;
		// 会产生溢出,float最多为10的38次方
		float f2 = (float) d2;
		//输出Infinity无穷大
		System.out.println(f2);
		// 必需加f,不然就要将double转换成float
		float f3 = 1.23f;

		long l1 = 123;
		// 必需加L,不然30000000000会超出int限度
		long l2 = 30000000000L;
		// 系统将转换为float型计算
		float f = l1 + l2 + f3;

		long l = (long) f;

	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值