组团学

变量数据类型的转换

阅读 (113894)

1、数据类型转换

数字类型可以有数据类型上的转换,即将一种类型的值赋值给另外一种类型的变量。但要依据数据范围,符合一定规则:

各种数据类型按照数据范围从小到大:

byte -> short -> int -> long -> float -> double

​ char->

1.1、自动类型转换

范围小的数据类型值(如int),可以自动转换为范围大的数据类型值(如double)

范围大的数据类型 变量 = 范围小的数据类型值;

如:

double d = 1000;

int i = 100;

double d2 = i;

/*
数字类型转换:就是数值转换,包括整数,小数,字符

自动类型转换:小-->大
byte < short(char)< int < long < float < double
格式:范围大的数据类型 变量名 = 范围小的数据类型的值;
*/
public class VarDemo07{
	public static void main(String[] args){
		//自动类型转换 int --> double
		int i = 100;
		double d = i;
		System.out.println("i="+i);
		System.out.println("d="+d);
	}
}

运行结果:

image20191127102157216.png

1.2、强制类型转换

范围大的数据类型值(如double),不可以自动转换为范围小的数据类型值(如int),但是可以强制转换

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

如:

int i = (int)6.718; //i的值为6

double d = 3.14;

int i2 = (int)d; //i2的值为3

/*
数字类型转换:就是数值转换,包括整数,小数,字符

强制类型转换:大-->小
格式:范围小的数据类型 变量名 = (范围小的数据类型)范围大的数据类型的值;
*/
public class VarDemo08{
	public static void main(String[] args){
		//强制类型转换
		double d2 = 3.14;
		//int i2 = d2;//错误: 可能损失精度
		int i2 = (int)d2;
		System.out.println("i2="+i2);
		System.out.println("d2="+d2);
	}
}

运行结果:

image20191127102353921.png

需要 登录 才可以提问哦