day02-数据类型转换-自动转换

This commit is contained in:
2026-01-14 10:03:18 +08:00
parent 271c2e357f
commit a7627e56cb

View File

@@ -0,0 +1,54 @@
package com.inmind;
/*
数据类型转换---自动转换
自动转换:将取值范围小的类型自动提升为取值范围大的类型
------------------------------------------------------
自动类型转换顺序:byte、short、char---->int---->long---->float---->double
在java默认采用int来进行整数的计算
*/
public class Demo01 {
public static void main(String[] args) {
//定义一个整数变量
//变量定义格式:
//数据类型 变量名 = 数据值;
int a = 20;
int b = 10;
//2个变量进行相加
int c = a+b;
System.out.println(c);//30
//定义一个字节型的变量
byte b1 = 2;
int sum = a + b1;//直接出现了自动类型转换先将b1从1字节自动转换为4字节的int之后再进行运算
System.out.println(sum);//22
System.out.println("-------------------------------------------");
//byte b2 = a + b1;//错误a+b1发生了自动类型转换结果是4字节不能直接赋值给1字节的byte
//定义一个short型的变量
short s = 10;
//定义一个int型变量
int i = 20;
int s1 = s+s;
//定义一个长整型
long l1 = s+s;//将4字节的int赋值给了8字节的long此时发生了自动类型转换
long l2 = 3L;//直接将8字节的值赋值给了l2
//测试下整数赋值给浮点数时,就会发生自动类型转换
float f = 3.0F;
f = s;
f = i;
f = l1;
System.out.println(l1);
double d = 3.0;
d = s;
d = i;
d = f;//4字节float自动转换为了8字节的double
System.out.println(d);
}
}