java 17 练习题:数据类型转换

文章目录

    • 实例1:演示隐式转换时自动提升精度的效果
    • 实例2:利用显式转换演示精度丢失
        • 练习1:使用 char型声明'a'~'g',然后输出它们相加后的结果。
        • 练习2:IP地址每段数字的最大值可以由byte型的最大值与 short型128相加后得到,使用隐式转换控制台输出 IP 地址每段数字的最大值。
        • 练习3:将 65~71显式转换为 char 型并输出。
        • 练习4:一辆货车运输箱子,载货区宽2米,长 4米,一个箱子宽 1.5 米,长 1.5米,请问载货区一层可以放多少个箱子?

实例1:演示隐式转换时自动提升精度的效果

创建ImplicitConyersion类,让低精度的变量与高精度变量同时做计算,查看计算结果属于哪种精度,实例代码如下∶

public class ImplicitConversion {
	public static void main(String[] args) {
		// 声明byte型变量mybyte,并把byte型变量允许的最大值赋给mybyte
		byte mybyte = 127;
		int myint = 150; 				// 声明int型变量myint,并赋值150
		float myfloat = 452.12f; 		// 声明float型变量myfloat,并赋值
		char mychar = 10;			// 声明char型变量mychar,并赋值
		double mydouble = 45.46546;	// 声明double型变量,并赋值
		/* 将运算结果输出 */
		System.out.println("byte型与float型数据进行运算结果为:" + (mybyte + myfloat));
		System.out.println("byte型与int型数据进行运算结果为:" + mybyte * myint);
		System.out.println("byte型与char型数据进行运算结果为:" + mybyte / mychar);
		System.out.println("double型与char型数据进行运算结果为:" + (mydouble + mychar));
	}
}

实例2:利用显式转换演示精度丢失

创建 ExplicitConversion类,使用显式转换将不同类型的变量转换成精度更低的类型,输出转换之后发生精度丢失的结果,实例代码如下∶


public class ExplicitConversion {
	public static void main(String[] args) {
		int a = (int) 45.23; 			// double类型强制转化成int类型
		long b = (long) 456.6F; 		// flaot类型强制转化成long类型
		char c = (char) 97.14;		// double型强制转换成char型
		System.out.println("45.23强制转换成int的结果:" + a);
		System.out.println("456.6F强制转换成long的结果:" + b);
		System.out.println("97.14强制转换成char的结果" + c);
	}
}
练习1:使用 char型声明’a’~’g’,然后输出它们相加后的结果。
public class PlusChar {
	public static void main(String[] args) {
		char a = 'a';
		char b = 'b';
		char c = 'c';
		char d = 'd';
		char e = 'e';
		char f = 'f';
		char g = 'g';
		System.out.println("’a’~’g’相加后的结果:" + (a + b + c + d + e + f + g));
	}
}

练习2:IP地址每段数字的最大值可以由byte型的最大值与 short型128相加后得到,使用隐式转换控制台输出 IP 地址每段数字的最大值。
public class MaxIP {
	public static void main(String[] args) {
		byte maxvalue = 127;
		short s = 128;
		System.out.println("IP中的每段数字的最大值 = " + (maxvalue + s));
	}
}
练习3:将 65~71显式转换为 char 型并输出。
public class IntToChar {
	public static void main(String[] args) {
		int i_a = 65;
		int i_b = 66;
		int i_c = 67;
		int i_d = 68;
		int i_e = 69;
		int i_f = 70;
		int i_g = 71;
		System.out.println("65转换为char型的结果为" + (char)i_a);
		System.out.println("66转换为char型的结果为" + (char)i_b);
		System.out.println("67转换为char型的结果为" + (char)i_c);
		System.out.println("68转换为char型的结果为" + (char)i_d);
		System.out.println("69转换为char型的结果为" + (char)i_e);
		System.out.println("70转换为char型的结果为" + (char)i_f);
		System.out.println("71转换为char型的结果为" + (char)i_g);
	}
}
练习4:一辆货车运输箱子,载货区宽2米,长 4米,一个箱子宽 1.5 米,长 1.5米,请问载货区一层可以放多少个箱子?
public class GoodsVan {
	public static void main(String[] args) {
		int vanWidth = 2;
		int vanLength = 4;
		double boxWidth = 1.5;
		double boxLength = 1.5;
		int boxNumber = (int)(vanWidth/boxWidth) * (int)(vanLength/boxLength);
		System.out.println("载货区一层可以放" + boxNumber + "箱子!");
	}
}

你可能感兴趣的:(Java技术专家,java,算法,开发语言)