目录:
- if判断语句
- if…else判断语句
- if…else if 判断语句
- if嵌套语句
- switch多条件分支语句
一、if判断语句
if相当于如果,()里的内容是判断条件。
格式:
if(判断条件){
//如果符合判断条件则运行这里的代码,也就是说可以在这里写很多符合判断条件的代码块。
}
二、if…else判断语句
if…else语句,指的是如果符合if判断条件则运行if判断条件下的代码,如果不符合if判断条件则运行else里的代码,else相当于否则。
格式:
if(判断条件){
//如果符合判断条件则运行这里的代码,也就是说可以在这里写很多符合判断条件的代码块。
}else{
if判断条件不符合则运行该处的代码。
}
例题:
1、从控制台输入一个数,判断是否是奇数并输出。
import java.util.Scanner;
public class Example02 {
public static void main(String[] args) {
Scanner scanner2 = new Scanner(System.in);
System.out.print("请输入一位整数:");
int i = scanner2.nextInt();
if (i % 2 == 0) {
System.out.println("您输入的是偶数\t" + i);
} else {
System.out.println("您输入的是奇数\t" + i);
}
}
}
输出结果:
2、从控制台输入一个数字和一个字符串(当做密码)作为系统登录指标,如果这个数字被3整除,并且密码为"abc123"则输出“登录成功”,否则输出“登录失败”。
import java.util.Scanner;
public class Example03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入数字:");
int a = scanner.nextInt();
System.out.print("请输入密码:");
String i = scanner.next();
if ("abc123".equals(i) && a % 3 == 0) {
System.out.println("登陆成功");
} else {
System.out.println("登录失败");
}
}
}
输出结果:
注:在Java中,字符串比较要用equals来进行比较,而不用**==**。
三、if…else if判断语句
if…else if语句和上面的类似,就是多了一个判断而已,具体格式为:
if(判断条件1){
//如果符合判断条件1则运行这里的代码
}else if(判断条件2){
//如果不符合判断条件1且符合判断条件2则运行这里的代码
}
例题:
1、从控制台输入顾客的购物金额,最后打印其实际付款金额,购物享受折扣:顾客购物如果超过200元则打8折,超过500元7折,超过1000元5折,200以内不打折。
import java.util.Scanner;
public class Example03 {
public static void main(String[] args) {
Scanner scanner3 = new Scanner(System.in);
System.out.print("请输入商品价格:");
double i = scanner3.nextDouble();
if (i > 1000) {
System.out.println("打5折,您需要支付" + i * 0.5 + "元");
} else if (i > 500) {
System.out.println("打7折,您需要支付" + i * 0.7 + "元");
} else if (i > 200) {
System.out.println("打8折,您需要支付" + i * 0.8 + "元");
} else {
System.out.println("购买金额少于200元,没有优惠,您需要支付" + i + "元");
}
}
}
运行结果:
2、输入三个整数,如果这三个整数都相等,那么输出“这三个数相等”。否则再判断这三个数之和是否大于1000,如果大于1000输出“这三个数之和大于1000”否则输出“这三个数之和不大于1000。
import java.util.Scanner;
public class Example05 {
public static void main(String[] args) {
Scanner scanner5 = new Scanner(System.in);
System.out.print("请输入第1个数:");
int i = scanner5.nextInt();
System.out.print("请输入第2个数:");
int j = scanner5.nextInt();
System.out.print("请输入第3个数:");
int k = scanner5.nextInt();
if (i == j && j == k) {
System.out.println("这三个数相等");
} else if ((i + j + k) > 1000) {
System.out.println("这三个数之和大于1000");
} else {
System.out.println("这三个数之和不大于1000");
}
}
}
运行结果:
四、嵌套if语句
嵌套if语句,顾名思义就是在if判断语句里面再嵌套一个if语句,有点套娃的感觉。
if(判断条件1){
//如果符合判断条件1则运行这里的代码
if(判断条件2){
//如果符合判断条件2则运行这里的代码
}
}
例题:
1、从控制台输学生的体育成绩以及性别,如果成绩大于85且是女子,则进入女子组,否则进入男子组,如果成绩低于85则输出继续努力。
import java.util.Scanner;
public class Test03 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入学生的体育成绩:");
double score = input.nextDouble();
System.out.print("请输入学生的性别:");
String gender = input.next();
if (score > 85) {
if (gender.equals("女")) {
System.out.println("恭喜你,进入女子组");
} else {
System.out.println("恭喜你,进入男子组");
}
} else {
System.out.println("继续努力");
}
}
}
五、switch多条件分支语句
格式:
switch (表达式){
case 值1:
//表达式==值1情况下运行的代码
break;
case值2:
//表达式==值2情况下运行的代码
break;
case值3:
//表达式==值3情况下运行的代码
break;
default:
//默认情况下,即前面都没有匹配情况下运行的代码
break;
}
例题:
使用switch实现:(参考图片)请输入消费金额:240是否参加优惠换购活动:
1: 满50元,加2元换购百事可乐饮料一瓶
2: 满100元,加3元换购500ML可乐一瓶
3: 满100元,加10元换购5公斤面粉
4: 满200元,加10元换购1个电饭锅
5: 满200元,加20元可换购爽肤水一瓶
0: 不换购请选择:2本次消费总金额:253.0元成功换购:500ML可乐一瓶
import java.util.Scanner;
public class Example05 {
public static void main(String[] args) {
Scanner scanner5 = new Scanner(System.in);
System.out.print("请输入消费金额:");
double money = scanner5.nextDouble();
System.out.println("是否参加优惠换购活动");
System.out.println("1:满50元,加2元换购百事可乐饮料一瓶");
System.out.println("2:满100元,加3元换购500ML可乐一瓶");
System.out.println("3:满100元,加10元换购5公斤面粉");
System.out.println("4:满200元,加10元换购1个电饭锅");
System.out.println("5:满200元,加20元可换购爽肤水一瓶");
System.out.println("0:不换购");
System.out.print("请选择:");
int i = scanner5.nextInt();
switch (i) {
case 1:
if (money >= 50 && money < 100) {
System.out.println("本次消费总金额:" + (money + 2) + "元");
System.out.println("成功换购:百事可乐饮料一瓶");
} else {
System.out.println("您消费的金额不够,不能换购这个商品,请从新选择");
}
break;
case 2:
if (money >= 100 && money < 200) {
System.out.println("本次消费总金额:" + (money + 3) + "元");
System.out.println("成功换购:500ML可乐一瓶");
} else {
System.out.println("您消费的金额不够,不能换购这个商品,请从新选择");
}
break;
case 3:
if (money >= 100 && money < 200) {
System.out.println("本次消费总金额:" + (money + 10) + "元");
System.out.println("成功换购:5公斤面粉");
} else {
System.out.println("您消费的金额不够,不能换购这个商品,请从新选择");
}
break;
case 4:
if (money >= 200) {
System.out.println("本次消费总金额:" + (money + 10) + "元");
System.out.println("成功换购:1个电饭锅");
} else {
System.out.println("您消费的金额不够,不能换购这个商品,请从新选择");
}
break;
case 5:
if (money >= 200) {
System.out.println("本次消费总金额:" + (money + 20) + "元");
System.out.println("成功换购:爽肤水一瓶");
} else {
System.out.println("您消费的金额不够,不能换购这个商品,请从新选择");
}
break;
case 0:
System.out.println("不换购");
break;
default:
System.out.println("您输入的有误,请从新输入:");
break;
}
}
}