查看“Java if语句的应用(二)”的源代码
←
Java if语句的应用(二)
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==if 语句的延伸== ===if语句的嵌套=== if语句的嵌套说的是,在已有的if语句里嵌套新的if语句。 例题:输入一个数,判断它是否是偶数和是否能被3整除 <nowiki>Scanner sc = new Scanner(System.in); int t=sc.nextInt; if(t%2==0){ if(t%3==0){ System.out.println("Divisible by 3 and 2"); }else{ System.out.println("divisible by 2 not divisible by 3"); } }else{ if(t%3==0){ System.out.println("divisible by 3 not divisible by 2") }else{ System.out.println("not Divisible by 2 not divisible by 3"); } }</nowiki> ===if语句的多条件=== <nowiki>if (判断条件 op 判断条件 op ...) { 执行语句块1 }</nowiki> if语句的判断条件里可以放置多个条件,彼此用逻辑运算符连接起来。 例: <nowiki>package task4; import java.util.Scanner; public class Divide { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数:"); int t=sc.nextInt(); if(t%2==0 && t%3 ==0){ System.out.println("divisible by 2 and 3"); } System.out.println("处理完毕"); sc.close(); } } </nowiki> ===if...else if...多重语句=== 语法格式: <nowiki>if (判断条件1) { 判断条件1为true时的执行语句块1 } else if(判断条件2){ //判断条件1为false,判断条件2为true 判断条件2为true时的执行语句块2 } …… //可以有零个或多个else if语句 else { //最后的else语句也可以省略 所有判断条件均为false时的执行语句块n+1 }</nowiki> *使用if...else 计算客户的BMI值,体质指数(BMI)=体重(kg)÷(身高(m)*身高(m)),根据用户输入的身高和体重进行计算,如果BMI值低于18.5,显示“您的体重过轻”;如果BMI值值在18.5-23.9之间,显示“您的体型完全正常,请继续保持”;如果BMI值值在24-27之间,显示“您的体型有些超重”;如果BMI值在27以上,显示“您的体重严重超重,请加强锻炼!” <nowiki> import java.util.Scanner; public class mly { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scanner = new Scanner(System.in); //获取用户对于菜单的选择 String bmi = scanner.next(); int value = Integer.parseInt(bmi); if(value <18.5) { System.out.println("您的体重过轻"); }else if (value <23.9){//18.5<=value <23.9 System.out.println("您的体形完全正常"); }else if (value <27){//24<=value <27 System.out.println("您的体重有些超重"); }else{//value >=27 System.out.println("您的体重完全超重,请加强锻炼。"); } scanner.close(); } }</nowiki> ==实例:判断是否闰年== ===问题引出=== 例题:输入一个年份,判断它是不是闰年: <nowiki>闰年是公历中的名词。 普通年(不能被100整除的年份)能被4整除的为闰年。(如2004年就是闰年,1999年不是闰年); 世纪年(能被100整除的年份)能被400整除的是闰年。(如2000年是闰年,1900年不是闰年);</nowiki> ===算法分析=== 算法分析: 1.输入一个年份 2.看这个数能否被4整除,如果不能被4整除,则肯定不是闰年 3.如果这个数能被4整除,再看它是不是世纪年(能被100整除的年份) *如果不是世纪年,则它肯定是闰年; *如果是世纪年,则再看它能否被400整除: **如果能被400整除:说明是闰年; **如果不能被400整除,说明不是闰年。 ===if语句的嵌套=== 例题:输入一个年份,判断它是不是闰年: <nowiki>闰年是公历中的名词。 普通年(不能被100整除的年份)能被4整除的为闰年。(如2004年就是闰年,1999年不是闰年); 世纪年(能被100整除的年份)能被400整除的是闰年。(如2000年是闰年,1900年不是闰年);</nowiki> <nowiki>package task4; import java.util.Scanner; public class RunNian1 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner s= new Scanner(System.in); System.out.println("请输入年份(2001-2099):"); int year=s.nextInt(); if (year%4 !=0) { System.out.println("该年份不是闰年"); }else { //再看它是不是世纪年 if(year%100 !=0) { System.out.println("该年份是闰年"); }else { if(year%400 ==0) { System.out.println("该年份是闰年"); }else { System.out.println("该年份不是闰年"); } } } } }</nowiki> *练习:防疫检查站,根据人员身体情况打印是否通过。 如果体温》37.3 不允许通过 如果体温小于37.3 ,没有接触史 ,则打印允许通过 如果体温小于37.3,有接触史,,则打印不允许通过 如果体温小于37.3,有接触史,但是隔离天数已超14天,则打印允许通过 <nowiki>package task4; import java.util.Scanner; public class YiQing { public static void main(String[] args) { // TODO Auto-generated method stub //如果体温》37.3 不允许通过 //如果体温小于37.3 ,没有接触史 ,则打印允许通过 //如果体温小于37.3,有接触史,,则打印不允许通过 //如果体温小于37.3,有接触史,但是隔离天数已超14天,则打印允许通过 float temp; String s ;String isTouch;int days=14; Scanner sc= new Scanner(System.in); System.out.println("请输入您的体温:"); s =sc.nextLine();temp =Float.valueOf(s); System.out.println("您是否与病例有密切接触史:y/n"); s =sc.nextLine(); isTouch=s; System.out.println("如果是,您已自我隔离多少天?"); s =sc.nextLine();if(isTouch.equals('y')) {days = Integer.valueOf(s);} System.out.println("体温:"+temp +" 密切接触史:"+isTouch + " 自我隔离天数:"+days); sc.close(); /// /// } }</nowiki> ===if语句的多条件=== 例题:输入一个年份,判断它是不是闰年: <nowiki>闰年是公历中的名词。 普通年(不能被100整除的年份)能被4整除的为闰年。(如2004年就是闰年,1999年不是闰年); 世纪年(能被100整除的年份)能被400整除的是闰年。(如2000年是闰年,1900年不是闰年);</nowiki> 算法分析:有两种条件 //1. 能被4整除 且 不能被100整除 ;//2.能被400整除 是闰年 代码: <nowiki> import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); System.out.print("输入年份:"); int year = in.nextInt(); String str; // 闰年二月份 if ( (year % 4 == 0 && year % 100 != 0)||(year % 400 == 0 ) ) { str = "该年是闰年"; } else { str = "该年不是闰年"; } System.out.println(str); in.close(); } } </nowiki> *姊妹题:输入一个年份,判断一年有多少天, <nowiki>int[] DAYS = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; Scanner in = new Scanner(System.in); System.out.print("输入年份:"); int year = in.nextInt(); System.out.print("输入月份:"); int month = in.nextInt(); String str = year + "-" + month + ":"; // 闰年二月份 if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0) && month == 2) { str += 29; } else { str += DAYS[month - 1]; } System.out.println(str); in.close(); } </nowiki> *练习:防疫检查站,根据人员身体情况打印是否通过。 如果体温》37.3 不允许通过 如果体温小于37.3 ,没有接触史 ,则打印允许通过 如果体温小于37.3,有接触史,,则打印不允许通过 如果体温小于37.3,有接触史,但是隔离天数已超14天,则打印允许通过 练习:如果手机价格低于2000,并且能分期付款;或者手机品牌是苹果的,那么我就买 练习:如果手机价格低于于2000,或者能分期付款;满足这一条件的同时,并且手机品牌是苹果的,那么我就买 ===if...else if ...多重判断=== 多重判断条件递进: *能否被4整除,如果不能,直接判断是非闰年 *能否被100整除,如果能,直接判断是闰年 *能否被400整除,如果能,直接判断是闰年 <nowiki>package task4; import java.util.Scanner; public class RunNian3 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner s= new Scanner(System.in); System.out.println("请输入年份(2001-2099):"); int year=s.nextInt(); if(year%4 != 0) {//不被4整除的情况 System.out.println(year+"不是闰年"); }else if(year%100 != 0) {//被4整除,不是世纪年的情况 System.out.println(year+"是闰年"); }else if(year%400 == 0) {//是世纪年,同时也能被400整除的情况 System.out.println(year+"是闰年"); }else { System.out.println(year+"不是闰年");//是世纪年,但不能被4整除的情况 } s.close(); } }</nowiki> *例2:当接收用户的输入为1时,输出“您选择了处理查询所有书籍的业务”;输入为2时,输出“您选择了处理按书籍编号查询”;输入为3时,输出“您选择了购买书籍”;否则输出“您的输入不正确,必须在1~6范围内!”。 <nowiki>Scanner scanner = new Scanner(System.in); //获取用户对于菜单的选择 String value = scanner.next(); int choise = Integer.valueOf(value); if(choice == 1) { System.out.println("您选择了处理查询所有书籍的业务"); } else if(choice == 2) { System.out.println("您选择了处理按书籍编号查询"); } else if(choice == 3) { System.out.println("您选择了购买书籍"); } else { System.out.println("您的输入不正确,必须在1~6范围内!"); }</nowiki> *练习:防疫检查站,根据人员身体情况打印是否通过。 如果体温》37.3 不允许通过 如果体温小于37.3 ,没有接触史 ,则打印允许通过 如果体温小于37.3,有接触史,,则打印不允许通过 如果体温小于37.3,有接触史,但是隔离天数已超14天,则打印允许通过 ==Java练习题== 1.完成‘猜数字’游戏的改进版,使玩家能连续多次输入 2.模仿例2,在控制台打印你程序的所有功能,然后让用户输入,打印用户的选择。 2.用if+逻辑运算符完成以下语句: 如果手机价格低于2000,那么我就买 如果手机价格低于2000,或者能分期付款,那么我就买 如果手机价格低于2000,并且能分期付款,那么我就买 如果手机价格低于2000,并且能分期付款,并且零首付,那么我就买 如果手机价格低于2000,并且能分期付款;或者手机品牌是苹果的,那么我就买 如果手机价格低于2000,或者能分期付款;满足这一条件的同时,并且手机品牌是苹果的,那么我就买 3.练习:应用if嵌套结构计算上一节中的例题: 当接收用户的输入时,如果监测指数小于100,就输出“空气质量很好,请自由活动!否则的话如果监测指数小于150,输出“空气质量轻度污染,请加强防护”,否则的话如果监测指数小于200,输出“空气中度污染,敏感人群留在室内”,否则的话就输出,“空气严重污染,所有人群留在室内” ==练习题答案== 计1 徐洁和苗璐瑶同学提供。 1.猜数字: <nowiki>package lianxi; import java.util.Scanner; public class Text { public static void main(String[] args) { // TODO Auto-generated method stub int num = 50; while(true){ Scanner scan = new Scanner(System.in); System.out.println("输入数字:"); int t = scan.nextInt(); String str1 = (t > num) ?"你输入的数值偏大" :"你输入的数值偏小"; System.out.println("输入的数据为:" + str1); } } }</nowiki> 2. 手机购买: <nowiki>package lianxi; public class Text3 { public static void main(String[] args) { // TODO Auto-generated method stub float price = 1999f; String name = "apple"; boolean fenqi = true; int firstpay = 0; if(price<2000){ System.out.println("我就买"); }else { System.out.println("我bu买"); } if (price<2000 && fenqi==true){ System.out.println("我就买"); }else { System.out.println("我bu买"); } if (price<2000 && fenqi==true && firstpay==0){ System.out.println("我就买"); }else { System.out.println("我bu买"); } if ((price<2000 && fenqi==true) || name=="apple"){ System.out.println("我就买"); }else { System.out.println("我bu买"); } if ((price<2000 ||fenqi==true )&& name=="apple")){ System.out.println("我就买"); }else { System.out.println("我bu买"); } } }</nowiki> 3.空气质量:由计2 周浩同学提供 <nowiki>package lian; import java.util.Scanner; public class san { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan = new Scanner(System.in); System.out.println("请输入监测指数:"); int t=scan.nextInt(); if(t<150){ if(t<100){ System.out.println("空气质量很好,请自由活动!"); }else{ System.out.println("空气质量轻度污染,请加强防护"); } }else{ if(t<200){ System.out.println("空气中度污染,敏感人群留在室内"); }else{ System.out.println("空气严重污染,所有人群留在室内"); } } scan.close(); } } 结果: 请输入监测指数: 99 空气质量很好,请自由活动!</nowiki> 返回 [[Java程序设计]]
返回至
Java if语句的应用(二)
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息