1903021106-段爱滢-Java第四周作业-if语句的编写
项目 | 内容 |
课程班级博客链接 | 19级信计班(本) |
这个作业要求链接 | 第四周作业 |
我的课程目标 | 能使用if,else if语句编写代码 |
这个作业在哪些方面帮助我实现学习目标 | 通过编写代码学会了if,else if,switch case的用法,明白什么情况用哪种语句编写代码,总结了三种代码的优缺点。 |
题目1:
-
模拟一个售票系统,通过判断购票者的年龄来决定票价,借此观察选择结构语句的运行流程。原价100元(0-6岁的儿童免费(包含6岁),7-12岁半价,其余全价)
-
截图如下
-
代码如下
package edu.xj.day;
import java.util.Scanner;
public class hhh {
public static void main(String[]args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入需要判断的年龄:");
int age=sc.nextInt();
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 if( age>12) {
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.xj.day;
import java.util.Scanner;
public class xxx {
public static void main(String[]args) {
Scanner sc = new Scanner(System.in);
System.out.println("身高预测请输入您的性别");
String gender = sc.next();
System.out.println("请输入您父亲的身高");
double faHeight = sc.nextDouble();
System.out.println("请输入您母亲的身高");
double moHeight = sc.nextDouble();
System.out.println("您是否爱好体育锻炼");
String sports = sc.next();
double num;
if (gender.equals("M")) {
if (sports.equals("Y") ) {
num = (faHeight + moHeight) * 0.54*1.02;
System.out.println("您的身高为:" + num);
}
if (sports.equals("S") ) {
num = (faHeight + moHeight) * 0.54 ;
System.out.println("您的身高为:" + num);
}
}
if (gender.equals("F")) {
if (sports.equals("Y") ) {
num = (faHeight*0.923+ moHeight) /2 * 1.02;
System.out.println("您的身高为:" + num);
}
if (sports.equals("S") ) {
num = (faHeight*0.923+ moHeight) /2 ;
System.out.println("您的身高为:" + num);
}
}
}
}
-
运行结果
-
*扩展阅读:Java分支语句学习
学习心得
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那样遍历条件分支直到命中条件,而只需访问对应索引项从而到达目的语句那。