day02-数据类型转换-自动转换
This commit is contained in:
54
day02/src/com/inmind/Demo01.java
Normal file
54
day02/src/com/inmind/Demo01.java
Normal 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);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user