Java if条件语句
来自CloudWiki
218.57.140.108(讨论)2018年4月2日 (一) 05:37的版本
- if语句使用布尔表达式或布尔值作为分支条件来进行分支控制。if语句有如下三种形式。
第一种形式
if (判断条件) { 执行语句块1 }
int value = 113; if(value >100){ System.out.println("空气质量不好,请留在室内!"); }
提问: 这里的if是什么意思 ?计2 占强
- 变化:比上一段增加了一个输入
Scanner scanner = new Scanner(System.in); //获取用户对于菜单的选择 String air_value = scanner.next(); int value = Integer.parseInt(air_value); if(value >100) { System.out.println(""空气质量不好,请留在室内!"); }
- 练习:编程实现计算月份天数。程序运行时用户输入具体的年份和月份,然后输出对应的天数。比如,用户输入的年份为2018,月份为1,则输出31天。
第二种形式
if (判断条件) { 判断条件为true时的执行语句块1 } else { 判断条件为false时的执行语句块2 }
- 例如:当接收用户的输入时,如果监测指数小于100,就输出“空气质量很好,请自由活动!否则的话,输出“空气质量不好,请留在室内”,
Scanner scanner = new Scanner(System.in); //获取用户对于菜单的选择 String air_value = scanner.next(); int value = Integer.parseInt(air_value); if(value <100) { System.out.println("空气质量很好,请自由活动!"); }else{ System.out.println("空气质量不好,请留在室内~"); }
- 练习:编程实现用户登录功能。程序运行时用户输入用户名和密码,然后判断用户名和密码是否均为admin,如果是,则输出“登录成功!”;否则,输出“用户名和密码不正确,登录失败!”。
第三种形式
if (判断条件1) { 判断条件1为true时的执行语句块1 } else if(判断条件2){ //判断条件1为false,判断条件2为true 判断条件2为true时的执行语句块2 } …… //可以有零个或多个else if语句 else { //最后的else语句也可以省略 所有判断条件均为false时的执行语句块n+1 }
- 例如:当接收用户的输入时,如果监测指数小于100,就输出“空气质量很好,请自由活动!否则的话如果监测指数小于150,输出“空气质量轻度污染,请加强防护”,否则的话如果监测指数小于200,输出“空气中度污染,敏感人群留在室内”,否则的话就输出,“空气严重污染,所有人群留在室内”
Scanner scanner = new Scanner(System.in); //获取用户对于菜单的选择 String air_value = scanner.next(); int value = Integer.parseInt(air_value); if(value <100) { System.out.println("空气质量很好,请自由活动!"); }else if (value <150){//100<=value <150 System.out.println("空气质量轻度污染,请加强防护"); }else if (value <200){//150<=value <200 System.out.println("空气中度污染,敏感人群留在室内"); }else{//value >=200 System.out.println("空气严重污染,所有人群留在室内"); }}
- 例2:当接收用户的输入为1时,输出“您选择了处理查询所有书籍的业务”;输入为2时,输出“您选择了处理按书籍编号查询”;输入为3时,输出“您选择了购买书籍”;否则输出“您的输入不正确,必须在1~6范围内!”。
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范围内!"); }
- 练习:利用if…else if…else的形式编程实现计算月份天数。程序运行时用户输入具体的年份和月份,然后输出对应的年份要求月份的天数。比如,用户输入的年份为2018,月份为1,则输出31天。
Scanner sc =new Scanner(System.in); System.out.println("请输入年份:"); int year = sc.nextInt(); System.out.println("请输入月份:"); int month = sc.nextInt(); switch (month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: System.out.println("该月有31天"); break; case 2: if(year%4==0){ System.out.println("该月有29天"); }else{ System.out.println("该月有28天"); } break; default: System.out.println("该月有30天"); break; }
- 在上面的条件语句种,if、else if、else后花括号括起来的多行代码被称为代码块,一个代码块通常被当成一个整体来执行(除非运行过程中遇到return、break、continue等关键字,或者遇到了异常),因此这个代码块也被称为条件执行体。
Java练习题
- 用if语句判断该年是否是闰年,用户输入一个2001-2099中的一个数,如果是闰年,则提示“****年是闰年”,否则,什么也不输出。
闰年是公历中的名词。 普通年(不能被100整除的年份)能被4整除的为闰年。(如2004年就是闰年,1999年不是闰年); 世纪年(能被100整除的年份)能被400整除的是闰年。(如2000年是闰年,1900年不是闰年);
- 用if...else语句实现用户登录功能。程序运行时用户输入用户名和密码,然后判断用户名和密码是否均为admin,如果是,则输出“登录成功!”;否则,输出“用户名和密码不正确,登录失败!”。
- 从键盘接收用户输入的成绩分数a,用if...else if...else if 语句实现下列功能:如果90<=a<100,输出“该同学的成绩为A”,如果80<=a<90,输出“该同学的成绩为B”,如果60<=a<80,输出“该同学的成绩为C”,如果a<60,输出“该同学的成绩为D”.
练习题答案
- 第1题:判断闰年(计1 徐洁提供)
import java.util.Scanner; public class Test1 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner s= new Scanner(System.in); System.out.println("请输入年份(2001-2009):"); int year=s.nextInt(); if(year%100!=0&&year%4==0){ System.out.println(year+"是闰年");} else{ System.out.println(year+"不是闰年"); } s.close(); } }
- 判断密码:(计1 徐洁提供)
import java.util.Scanner; public class Test2 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner s= new Scanner(System.in); System.out.println("请输入用户名:"); String name=s.next(); System.out.println("请输入密码:"); String password=s.next(); if(name.equals("admin")&&password.equals("admin")){ System.out.println("登录成功!");} else{ System.out.println("用户名和密码不正确,登录失败!"); } s.close(); } }
- 成绩判定:(计1 徐洁提供)
import java.util.Scanner; public class Test3 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scanner = new Scanner(System.in); System.out.println("请输入成绩:"); int i = scanner.nextInt(); if(i <60) { System.out.println("您的成绩为D"); } else if(i <80) { System.out.println("您的成绩为C"); } else if(i <90) { System.out.println("您的成绩为B"); } else if(i <100) { System.out.println("您的成绩为A"); } scanner.close(); } }
返回 Java程序设计