“Java if条件语句”的版本间的差异
来自CloudWiki
(未显示同一用户的8个中间版本) | |||
第8行: | 第8行: | ||
*您吃汤面吗? 还是吃炒面 ? 还是吃干拌面 ? | *您吃汤面吗? 还是吃炒面 ? 还是吃干拌面 ? | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
更大而光之的情况,在各种程序的运行中,总少不了根据一定的条件执行或者不执行一定的语句, | 更大而光之的情况,在各种程序的运行中,总少不了根据一定的条件执行或者不执行一定的语句, | ||
第62行: | 第37行: | ||
}</nowiki> | }</nowiki> | ||
− | <nowiki> | + | |
+ | |||
+ | 例题:模拟Linux安装程序 | ||
+ | |||
+ | <nowiki> | ||
import java.util.Scanner; | import java.util.Scanner; | ||
− | public class | + | |
+ | public class Main { | ||
public static void main(String[] args) { | public static void main(String[] args) { | ||
− | // TODO Auto-generated method stub | + | // TODO Auto-generated method stub |
− | + | ||
− | + | ||
− | |||
− | |||
Scanner sc = new Scanner(System.in); | Scanner sc = new Scanner(System.in); | ||
− | + | ||
− | System.out.println(" | + | System.out.println("请问您是否需要安装这个软件?Y/n"); |
− | + | String s = sc.next( ); | |
− | + | if( s.equals("y")){ | |
− | + | System.out.println("好的,现在开始安装。。。。"); | |
− | + | }else{ | |
− | + | ||
− | + | System.out.println("已退出安装程序。"); | |
− | + | ||
− | + | } | |
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
+ | |||
− | }</nowiki> | + | } |
+ | </nowiki> | ||
+ | 练习: 输入用户身高和体重,计算BMI值,如果BMI>25,提示用户超重。 | ||
− | + | ====if语句的多条件==== | |
− | |||
− | ==if语句的多条件== | ||
<nowiki>if (判断条件) | <nowiki>if (判断条件) | ||
{ | { | ||
执行语句块1 | 执行语句块1 | ||
}</nowiki> | }</nowiki> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | 例题: | |
− | |||
− | |||
− | |||
− | + | *例1:提示空气质量 | |
− | + | <nowiki>int value = 113;boolean rainy= true; | |
− | <nowiki> | + | if(value >100 && rainy){ |
− | if( | + | System.out.println("天气不好,请留在室内!"); |
− | |||
}</nowiki> | }</nowiki> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | 练习:当空气质量大于100 或 下雨时,打印“天气不好,请留在室内!~" | |
− | |||
− | |||
===第二种形式=== | ===第二种形式=== | ||
第158行: | 第94行: | ||
判断条件为false时的执行语句块2 | 判断条件为false时的执行语句块2 | ||
}</nowiki> | }</nowiki> | ||
+ | |||
*例如:当接收用户的输入时,如果监测指数小于100,就输出“空气质量很好,请自由活动!否则的话,输出“空气质量不好,请留在室内”, | *例如:当接收用户的输入时,如果监测指数小于100,就输出“空气质量很好,请自由活动!否则的话,输出“空气质量不好,请留在室内”, | ||
<nowiki>Scanner scanner = new Scanner(System.in); | <nowiki>Scanner scanner = new Scanner(System.in); | ||
第192行: | 第129行: | ||
</nowiki> | </nowiki> | ||
*练习:编程实现用户登录功能。程序运行时用户输入用户名和密码,然后判断用户名和密码是否均为admin,如果是,则输出“登录成功!”;否则,输出“用户名和密码不正确,登录失败!”。 | *练习:编程实现用户登录功能。程序运行时用户输入用户名和密码,然后判断用户名和密码是否均为admin,如果是,则输出“登录成功!”;否则,输出“用户名和密码不正确,登录失败!”。 | ||
+ | |||
===第三种形式=== | ===第三种形式=== | ||
<nowiki>if (判断条件1) | <nowiki>if (判断条件1) | ||
第219行: | 第157行: | ||
System.out.println("空气严重污染,所有人群留在室内"); | System.out.println("空气严重污染,所有人群留在室内"); | ||
}}</nowiki> | }}</nowiki> | ||
+ | |||
+ | 例题:分段函数的计算 | ||
+ | |||
+ | 编写程序,实现分段函数计算: | ||
+ | 当x<0时 ,y=0;当 0<=x<5时 ,y=x; 当 5<=x<10时,y=3x-5;当10<=x<20时,y=0.5x-2 ;当x>=20时,y=0; | ||
+ | |||
+ | |||
*例:面馆程序: | *例:面馆程序: | ||
第248行: | 第193行: | ||
} | } | ||
</nowiki> | </nowiki> | ||
− | |||
− | + | ||
− | + | ||
− | + | 练习题:网站功能选择 | |
− | + | ||
− | + | 编写程序,模仿上述例子,进行你的网站的功能选择。 | |
− | + | ||
− | + | 练习题:个人所得税的计算 | |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
*练习:利用if…else if…else的形式编程实现计算月份天数。程序运行时用户输入具体的年份和月份,然后输出对应的年份要求月份的天数。比如,用户输入的年份为2018,月份为1,则输出31天。 | *练习:利用if…else if…else的形式编程实现计算月份天数。程序运行时用户输入具体的年份和月份,然后输出对应的年份要求月份的天数。比如,用户输入的年份为2018,月份为1,则输出31天。 | ||
第300行: | 第239行: | ||
普通年(不能被100整除的年份)能被4整除的为闰年。(如2004年就是闰年,1999年不是闰年); | 普通年(不能被100整除的年份)能被4整除的为闰年。(如2004年就是闰年,1999年不是闰年); | ||
世纪年(能被100整除的年份)能被400整除的是闰年。(如2000年是闰年,1900年不是闰年); | 世纪年(能被100整除的年份)能被400整除的是闰年。(如2000年是闰年,1900年不是闰年); | ||
+ | |||
*用if...else语句实现用户登录功能。程序运行时用户输入用户名和密码,然后判断用户名和密码是否均为admin,如果是,则输出“登录成功!”;否则,输出“用户名和密码不正确,登录失败!”。 | *用if...else语句实现用户登录功能。程序运行时用户输入用户名和密码,然后判断用户名和密码是否均为admin,如果是,则输出“登录成功!”;否则,输出“用户名和密码不正确,登录失败!”。 | ||
+ | |||
*从键盘接收用户输入的成绩分数a,用if...else if...else if 语句实现下列功能:如果90<=a<100,输出“该同学的成绩为A”,如果80<=a<90,输出“该同学的成绩为B”,如果60<=a<80,输出“该同学的成绩为C”,如果a<60,输出“该同学的成绩为D”. | *从键盘接收用户输入的成绩分数a,用if...else if...else if 语句实现下列功能:如果90<=a<100,输出“该同学的成绩为A”,如果80<=a<90,输出“该同学的成绩为B”,如果60<=a<80,输出“该同学的成绩为C”,如果a<60,输出“该同学的成绩为D”. | ||
*练习:猜数字 | *练习:猜数字 |
2020年3月19日 (四) 02:26的最新版本
问题引出
问题:对各种情况进行判断。
以商院面馆为例:
- 选择什么面 ?
- 您几位 ?
- 您堂吃还是外卖 ?
- 您吃汤面吗? 还是吃炒面 ? 还是吃干拌面 ?
更大而光之的情况,在各种程序的运行中,总少不了根据一定的条件执行或者不执行一定的语句,
这就是程序流程中的选择结构。在Java中,用if语句来进行选择结构的判断。
if语句
- 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(""空气质量不好,请留在室内!"); }
例题:模拟Linux安装程序
import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); System.out.println("请问您是否需要安装这个软件?Y/n"); String s = sc.next( ); if( s.equals("y")){ System.out.println("好的,现在开始安装。。。。"); }else{ System.out.println("已退出安装程序。"); } } }
练习: 输入用户身高和体重,计算BMI值,如果BMI>25,提示用户超重。
if语句的多条件
if (判断条件) { 执行语句块1 }
例题:
- 例1:提示空气质量
int value = 113;boolean rainy= true; if(value >100 && rainy){ System.out.println("天气不好,请留在室内!"); }
练习:当空气质量大于100 或 下雨时,打印“天气不好,请留在室内!~"
第二种形式
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("空气质量不好,请留在室内~"); }
假设我们从控制台获取的订单用字符串表示为 s=“堂吃_老北京炸酱面+1_口味:辣”),怎样从订单中去提取有用信息 ?
问题:根据客户需求 决定餐品是否 打包
package demo1; import java.util.Scanner; public class Tangchi { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); System.out.println("客官,请问您是堂吃还是外送?" +"1.堂吃/2.外送"); String s = sc.next(); if(s.equals("1")){ 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("空气严重污染,所有人群留在室内"); }}
例题:分段函数的计算
编写程序,实现分段函数计算: 当x<0时 ,y=0;当 0<=x<5时 ,y=x; 当 5<=x<10时,y=3x-5;当10<=x<20时,y=0.5x-2 ;当x>=20时,y=0;
- 例:面馆程序:
package demo1; import java.util.Scanner; public class MianType { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); System.out.println("客官,您几位?"); int num = sc.nextInt(); System.out.println("请问你们吃什么面?"); System.out.println("a.老北京炸酱面;b.刀削面" +"c.油泼面"); String s = sc.next(); if(s.equals("a")){ System.out.printf("老北京炸酱面%d碗",num); }else if(s.equals("b")){ System.out.printf("刀削面%d碗",num); }else if(s.equals("c")){ System.out.printf("油泼面%d碗",num); }else{ System.out.println("不好意思,您需求的面我们这里没有"); } } }
练习题:网站功能选择
编写程序,模仿上述例子,进行你的网站的功能选择。
练习题:个人所得税的计算
- 练习:利用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”.
- 练习:猜数字
程序中设置一个0-100的的数,接收用户输入,如果用户输入的数比这个数大,就提示"你输入的数值偏大",如果用户输入的比这个数小,就提示"您输入的数值偏小"