java 1.8 - java数据类型转换

数据类型转换

boolean类型不参与类型转换

自动类型提升:隐式类型转换:

从小范围类型 → 大范围的数据类型

强制类型转换:显示类型转换:

从大范围类型 → 小范围类型
(有可能会损失精度)

小范围数据类型 变量名 = (小范围数据类型)大范围数据类型;

int j = 1235;
byte i = (byte) j;

注意:

1.运算逐渐向数据类型大的靠拢
如果多个类型参与运算,最终的结果的数据类型为最大的数据类型,如果这个类型小于int,结果提升成为int类型,如果大于int,结果为参与运算的最大的数据类型

2.如果给byte,short,char类型赋值,必须是其范围内的int类型的常量才能成功赋值(在不用强转的情况下)

数据转换示例:

/**
 * 测试数据类型转换
 */
public class Test {
	static int a;
	public static void main(String[] args) {
		//自动类型提升
		int i = 7;
		byte j = 5;//这其实就是int常量赋值的特例
		i = j;//自动类型提升byte => int
		double b;//浮点数默认类型
		b = 3.2F;//float => double
		//强制类型转换  
		int l = 5;
		byte k = (byte)l;//int => byte
		char m = 7;
		//char n = -2;//char [0 , 65535]
		short o =(short) a;
		float p = (float)3.2;
		System.out.println(a);
		System.out.println(b);
		System.out.println(i);
		System.out.println(j);
		System.out.println(o);
		System.out.println(p);
		System.out.println(l);
		System.out.println(k);
		System.out.println(m);
	}
}

控制台显示:

0
3.200000047683716
5
5
0
3.2
5
5

整理叙述

数据类型的范围范围由小到大
byte → short → char → int → long → float → double

下述的大小指数据类型

小转大 不会报错 唯一要注意的是char类型没有负值

大转小 除了int型常量去赋值 在byte short char各自范围内的情况之外 都需强转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值