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元。");
		}
	}
	}

代码运行截图:

image
image
image

题目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");
			}
		}
	
	}

}

代码运行截图:

image

心得体会:

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那样遍历条件分支直到命中条件,而只需访问对应索引项从而到达目的语句。

posted @ 2022-03-27 18:51  Ω明我长^_^相忆  阅读(2)  评论(0编辑  收藏  举报