Java if语句的应用(二)
来自CloudWiki
三目运算符
同样的普通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("我购买。"); }
练习:如果手机价格低于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.猜数字:
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买"); } } }
返回 Java程序设计