“Java if语句的应用(二)”的版本间的差异
来自CloudWiki
(→if语句的多条件) |
|||
第47行: | 第47行: | ||
System.out.println("我购买。"); | System.out.println("我购买。"); | ||
}</nowiki> | }</nowiki> | ||
+ | |||
+ | <nowiki>import java.util.Scanner; | ||
+ | public class happy09 { | ||
+ | |||
+ | public static void main(String[] args) { | ||
+ | // TODO Auto-generated method stub | ||
+ | float price ;boolean fenqi;boolean firstpay; | ||
+ | System.out.println("老板,请问手机多少钱?"); | ||
+ | Scanner sc = new Scanner(System.in); | ||
+ | price = sc.nextFloat(); | ||
+ | System.out.println("老板,请问支不支持分期?"); | ||
+ | fenqi = sc.nextBoolean(); | ||
+ | System.out.println("老板,请问支不支持零首付?"); | ||
+ | firstpay = sc.nextBoolean(); | ||
+ | |||
+ | if(price <=1000 && fenqi == true && firstpay == true) { | ||
+ | System.out.println("小Case!"); | ||
+ | }else { | ||
+ | System.out.println("太贵了,买不起~"); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | }</nowiki> | ||
练习:如果手机价格低于2000,并且能分期付款;或者手机品牌是苹果的,那么我就买 | 练习:如果手机价格低于2000,并且能分期付款;或者手机品牌是苹果的,那么我就买 |
2019年3月6日 (三) 07:00的版本
三目运算符
同样的普通if语句,也可以用三目运算符来做,更简单:
int value = 113; if(value >100){ System.out.println("空气质量不好!"); }else{ System.out.println("空气质量很好!"); }
可以写为:
int value = 113; String str = value>100 ?"空气质量不好!" :"空气质量很好!"; System.out.println(str);
练习:猜数字
- 程序中设置一个0-100的的数,接收用户输入,如果用户输入的数比这个数大,就提示"你输入的数值偏大",如果用户输入的比这个数小,就提示"您输入的数值偏小"
- 改进:能不能加入循环,让用户如果这次猜不对,能够反复猜?
if语句的多条件
if (判断条件) { 执行语句块1 }
if语句的判断条件里可以放置多个条件,彼此用逻辑运算符连接起来。 引子:如果手机价格低于2000,那么我就买
float price=1999f; if(price<2000){ System.out.println("我购买。"); }
例题:如果手机价格低于2000,或者能分期付款,那么我就买
float price=1999f;boolean fenqi=False; if(price<2000||fenqi=True){ System.out.println("我购买。"); }
例题:如果手机价格低于2000,并且能分期付款,那么我就买
float price=1999f;boolean fenqi=False; if(price<2000&&fenqi==True){//注意这里的等号和赋值运算符是不一样的 System.out.println("我购买。"); }
例题:如果手机价格低于2000,并且能分期付款,并且零首付,那么我就买
float price=1999f;boolean fenqi=False;float firstPay=0f; if(price<2000 && fenqi==True && firstPay==0){//注意这里的等号和赋值运算符是不一样的 System.out.println("我购买。"); }
import java.util.Scanner; public class happy09 { public static void main(String[] args) { // TODO Auto-generated method stub float price ;boolean fenqi;boolean firstpay; System.out.println("老板,请问手机多少钱?"); Scanner sc = new Scanner(System.in); price = sc.nextFloat(); System.out.println("老板,请问支不支持分期?"); fenqi = sc.nextBoolean(); System.out.println("老板,请问支不支持零首付?"); firstpay = sc.nextBoolean(); if(price <=1000 && fenqi == true && firstpay == true) { System.out.println("小Case!"); }else { System.out.println("太贵了,买不起~"); } } }
练习:如果手机价格低于2000,并且能分期付款;或者手机品牌是苹果的,那么我就买 练习:如果手机价格低于于2000,或者能分期付款;满足这一条件的同时,并且手机品牌是苹果的,那么我就买
if语句的嵌套
if语句的嵌套说的是,在已有的if语句里嵌套新的if语句。
如上一题里的“如果手机价格低于2000,并且能分期付款,那么我就买”也可以这么写:
float price=1999f;boolean fenqi=False; if(price <2000){ if(fenqi==True){ System.out.println("我购买。"); }else{ System.out.println("我不买。"); } }else { System.out.println("我不买。"); }
例题:输入一个数,判断它是否是偶数和是否能被3整除
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"); } }
Java练习题
1.完成‘猜数字’游戏的改进版,使玩家能连续多次输入
2.用if+逻辑运算符完成以下语句:
如果手机价格低于2000,那么我就买 如果手机价格低于2000,或者能分期付款,那么我就买 如果手机价格低于2000,并且能分期付款,那么我就买 如果手机价格低于2000,并且能分期付款,并且零首付,那么我就买 如果手机价格低于2000,并且能分期付款;或者手机品牌是苹果的,那么我就买 如果手机价格低于2000,或者能分期付款;满足这一条件的同时,并且手机品牌是苹果的,那么我就买
3.练习:应用if嵌套结构计算上一节中的例题:
当接收用户的输入时,如果监测指数小于100,就输出“空气质量很好,请自由活动!否则的话如果监测指数小于150,输出“空气质量轻度污染,请加强防护”,否则的话如果监测指数小于200,输出“空气中度污染,敏感人群留在室内”,否则的话就输出,“空气严重污染,所有人群留在室内”
练习题答案
计1 徐洁和苗璐瑶同学提供。
1.猜数字:
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); } } }
2. 手机购买:
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买"); } } }
3.空气质量:由计2 周浩同学提供
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 空气质量很好,请自由活动!
返回 Java程序设计