Java基础(三)

数据类型转换

类型转换是将一个值从一种类型更改为另一种类型的过程。转换过程要做到“勿以小杯盛大物”。

低精度数据放入高精度数据中永远不会溢出。

Java基础(三)_第1张图片

 两种转换方式:

隐式转换(自动转换)

显式转换(强制转换)

隐式转换

从低级类型向高级类型的转换,系统将自动执行,程序员无需进行任何操作。这种类型的转换称为隐式转换。

Java基础(三)_第2张图片

 【示例】

byte a=8;
int b=a;
long c=b;
double d=c;

Java基础(三)_第3张图片

 在char的取值范围之内,与int是相互兼容的。

举个例子:

Java基础(三)_第4张图片

 显式转换

当把高精度的变量值赋给低精度的变量时,必须使用显式类型转换运算。

【语法】(类型名)要转换的值

int a;
tyte b=(byte)a;

Java基础(三)_第5张图片

 [显式转换导致精度损失]

一:数据失准。

float f=(float)3.1415926

Java基础(三)_第6张图片

 我们可以发现数据最后少了一个6,导致数据失准

二:小数点丢失。

int i=(int)f;

Java基础(三)_第7张图片

我们可以发现,小数点后面的数据全没了。

三.数值越界溢出

byte b=(byte)129

Java基础(三)_第8张图片

 可以发现一个整数强制转换后成为了一个负数,这就是数值溢出的效果。

训练题

【训练7】输出连续的英文字母

使用char型声明’a'-'g',然后输出他们相加后的结果。

public class text1 {

	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+b+c+d+e+f+g));
			}
	}

Java基础(三)_第9张图片

 【训练8】货车装箱子

一辆货车运输箱子,载货区宽2米,长4米,一个箱子宽1.5米,长1.5米,请问载货区一层可以放多少个箱子。

public class text1 {

	public static void main(String[] args) {
		int wide=2,high=4;
		float a=1.5F,b=1.5F;
		int c=(int)(wide/a);
		int d=(int)(high/b);
		System.out.println("载货区一层可以放"+(c*d)+"个箱子");
			}
	}

 Java基础(三)_第10张图片

实践与练习

【综合练习1】象棋口诀

先使用char型变量定义“马”“象”“卒”这三个棋子,在输出“马走日,象走田,小卒一去不复返”的象棋口诀。

public class text1 {

	public static void main(String[] args) {
		char ma='马';
		char xiang='象';
		char zu='卒';
		System.out.println(ma+"走日,"+xiang+"走田,"+"小"+zu+"一去不复返。");
			}
	}

Java基础(三)_第11张图片

 【综合练习2】输出汇款单

向张三卡号为1234567890987654321的银行卡里面汇款10000元。控制台输出如下所示的汇款单。

Java基础(三)_第12张图片

public class text1 {

	public static void main(String[] args) {
		String data="2021-03-10";
		String name="张三";
		String classm="RMB";
		String ID="1234567890987654321";
		double count=10000.0;
		String a="010";
		int b=12345;
		System.out.println("  中国工商银行  ");
		System.out.println("------------------");
		System.out.println("日期: "+data);
		System.out.println("户名: "+name);
		System.out.println("账号: "+ID);
		System.out.println("币种: "+classm);
		System.out.println("存款金额: "+count);
		System.out.println("存款序号: "+a);
		System.out.println("柜员号: "+b);
		System.out.println("------------------");
			}
	}

 Java基础(三)_第13张图片

 【综合练习3】输出个人信息

public class text1 {

	public static void main(String[] args) {
		System.out.println("  个人基本信息  ");
		System.out.println("------------------");
		System.out.println("姓名: "+"李四");
		System.out.println("性别: "+"男");
		System.out.println("年龄: "+"25");
		System.out.println("身高: "+"1.76米");
		System.out.println("体重: "+"65.5千克");
		System.out.println("是否已婚: "+"false");
			}
	}

 Java基础(三)_第14张图片

 【综合练习4】计算月收入

小李每月的工资是4500元,每月的奖金是1000元,每月要缴纳的五险一金合计是500元,计算小李每月的最终收入是多少?

public class text1 {

	public static void main(String[] args) {
		int count=4500;
		int reward=1000;
		int insure=500;
		System.out.println("小李月收入为:"+(count+reward-insure));
	
			}
	}

Java基础(三)_第15张图片

【综合练习5】计算商和余数 

应用除法运算符可以计算两个数的商,应用取余运算符可以计算两个数相除所得的余数。根据这两个运算符做一个数字转置的练习,将123的各数字顺序前后颠倒后输出。 

Java基础(三)_第16张图片

【综合练习6】判断成绩会否及格

当分数大于等于60时,成绩及格,否则不及格。现一学生的分数是80分,使用三元运算符判断这名学生的成绩能否及格。

public class text1 {

	public static void main(String[] args) {
		int score=80;
	
		System.out.println(score>=60?"该学生及格":"该学生不及格");

			}
	}

Java基础(三)_第17张图片

【综合练习7】话费充值

向手机中充值10元。通话0.2元/分钟,通话时长已有30分钟;流量已使用10MB,流量费用为0.3元/MB。计算话费余额还可以通话的时长 。

public class text1 {

	public static void main(String[] args) {
		int count=10;//总话费
		double a=0.2*30;//通话消耗的费用
		double b=0.3*10;//流量消耗的费用
		double c=(count-a-b)/0.2;
		System.out.println("花费余额还可以通话"+c+"分钟");

			}
	}

Java基础(三)_第18张图片

【综合练习8】货车装西瓜

 一货车的车厢长400厘米、宽160厘米、高30厘米,现有100个直径约为23厘米的西瓜。问:这辆货车满载时能装多少个西瓜?实际能装多少个西瓜?

public class text1 {

	public static void main(String[] args) {
		final double PI=3.14;
		int length=400;
		int wide=160;
		int high=30;
		int D=23;
		int sum=(wide/D)*(high/D)*(length/D);
		System.out.println("满载时可以装:"+sum+"个");
		System.out.println("实际可以装"+(sum>=100?100:sum)+"个");
	}
}

Java基础(三)_第19张图片

你可能感兴趣的:(Java从入门到精通,java,python,开发语言)