【Java基础系列】4- Java的类型转换与提升

1、自动类型提升

  • 类型转换:

    • 自动类型转换、强制类型转换
  • 类型提升:

    • 数字间的常规类型提升,字符串的特殊类型提升
  • 进行算数运算时:

    • 两个操作数有一个为 double ,计算结果提升为 double;
    • 如果操作数中没有 double,有一个为 float ,计算结果提升为 float;
    • 如果操作数中没有 float,有一个为 long,计算结果提升为 long;
    • 如果操作数中没有 long,有一个为 int,计算结果提升为 int;
    • 如果操作数中没有 int,均为 short 或 byte,计算结果仍旧提升为 int;
  • 特殊:任何类型与 String 相加(+)时,实为拼接,其结果自动提升为 String;

代码如下:

public class TestTypeRaise{
	
	public static void main(String[] args){
		double d1 = 10.0;
		
		int i1 = 5;
		
		System.out.println(d1+i1);  // 输出15.0
		
		// float f1 = d1 + i1 不兼容类型,从double转换float可能会有损失
		
		double d2 = d1 + i1;
		
		System.out.println(d2);
		
		// ------------------------------------
		
		float f1 = 5.0F;
		
		short s1 = 20;
		
		float f2 = f1 + s1;
		
		System.out.println(f2);
		
		// -------------------------------------
		
		long l1 = 100;
		
		byte b1 = 50;
		
		long l2 = l1 + b1;
		
		System.out.println(l2);
		
		// ---------------------------------------
		
		int i3 = 123;
		
		short s3 = 456;
		
		int i4 = i3 + s3;
		
		System.out.println(i4);
		
		// ----------------------------------------
		
		short s4 = 321;
		
		byte b3 = 111;
		
		// short s5 = s4 + b3; 从int 转换到short可能会有损失
		int i5 = s4 + b3;
		
		System.out.println(i5);
		
		
		// 特殊: String 的字符串拼接
		
		String str = "Hello"; // 注意:字符串要使用双引号;
		
		int i6 = 123;
		
		String str2 = str + i6;
		
		System.out.println(str2);
		
		int javaScore = 100;
		
		String str3 = "Java的成绩是:" + javaScore;
		
		System.out.println(str3);
		
		System.out.println("Java的成绩是:" + javaScore);
	}
}

打开cmd完成编译以及运行,如下图:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值