1903021135-张蝶-JAVA第四周作业——JAVA 语句学习
项目 | 内容 |
---|---|
课程班级博客链接 | 19级信计班(本) |
这个作业要求链接 | Java第四周作业 |
博客名称要求 | 1903021135-张蝶-Java第四周作业——Java语句学习 |
要求 | 每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决,不要直接截图代码!!),截图(只截运行结果)。 |
题目1:
模拟一个售票系统,通过判断购票者的年龄来决定票价,借此观察选择结构语句的运行流程。原价100元(0-6岁的儿童免费(包含6岁),7-12岁半价,其余全价)
截图如下:
代码:
点击查看代码
package edu.x;
import java.util.Scanner;
public abstract class TEST1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
System.out.println("请输入需要判断的年龄");
double age=sc.nextDouble();
if(age<=6){
System.out.println("年龄在0-6岁之间,免费!");
System.out.println("您需要支付:0元。");
}else if(age<=12){
System.out.println("年龄在7-12岁之间,半价!");
System.out.println("您需要支付:50元。");
}else{
System.out.println("不在打折范围内!");
System.out.println("您需要支付:100元。");
}
}
}
代码运行截图:
题目2:
假设影响小孩身高的因素有:父母的身高、性别及是否爱好体育锻炼有关,设faHeight和moHeight为父母身高,性别为sex,体育锻炼为sports,
假设若爱好体育锻炼则身高可增加2%
身高预测公式为:
男性身高=(faHeight+moHeight)*0.54(cm)
女性身高=(faHeight*0.923+moHeight)/2(cm)
程序要求:屏幕提示请输入小孩的性别(男孩输入M,女孩输入F),通过if语句判断键盘输入的是M还是F,是否爱好体育锻炼也可通过类似的方式实现。
此题需要思考如何判断输入的字符与M/F/Y/N等是否匹配。如性别可采用if(sex == 'M')的方式来判断是否为男性。
截图如下:
代码:
点击查看代码
package edu.xj3;
import java.util.Scanner;
public class TEST3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
System.out.println("请输入父亲的身高(cm):");
double faHeight=sc.nextDouble();
System.out.println("请输入母亲的身高(cm):");
double moHeight =sc.nextDouble();
System.out.println("请输入孩子的性别(M/F):");
String sex=sc.next();
System.out.println("请输入孩子是否喜欢运动(Y/S):");
String sport=sc.next();
double num;
if(sex.equals("M")){
if(sport.equals("Y")){
num=(faHeight+moHeight)*0.54;
System.out.println("您的小孩的身高为:"+num+"cm");
}
} if(sex.equals("M")){
if(sport.equals("S")){
num=(faHeight+moHeight)*0.54 ;
System.out.println("您的小孩的身高为:"+ num+"cm" );
}
}if(sex.equals("F")){
if(sport.equals("Y")){
num=(faHeight*0.932+moHeight)/2;
System.out.println("您的小孩的身高为:"+num+"cm");
}
}if(sex.equals("F")){
if(sport.equals("S")){
num=(faHeight*0.932+moHeight)/2;
System.out.println("您的小孩的身高为:"+ num+"cm");
}
}
}
}
代码运行截图:
心得体会:
1.当有一个判断条件的时候,用if语句比较方便。但当判断条件很多的时候,可以使用if语句if...eles语句和switch case语句。
2.当判断条件较多的情况下,使用switch case语句的效率会高于使用if...else if语句。
3.(1)if else的优点:if else能应用于更多的场所以if else比较灵活 。
(2)if else的缺点:if else必须遍历所以得可能值。
4.(1)switch case的优点:当分支较多时,用switch的效率是很高的。因为switch是确定了选择值之后直接跳转到那个特定的分支.
(2)switch case的缺点:switch…case占用较多的代码空间,因为它要生成跳表,特别是当case常量分布范围很大但实际有效值又比较少的情况,switch…case的空间利用率将变得很低。
5.switch..case与if...else if的根本区别在于,switch..case会根据你的条件直接跳转到相应的case语句。switch..case不用像if...else if那样遍历条件分支直到命中条件,而只需访问对应索引项从而到达目的语句。