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