Java学习笔记之-----【选择结构】附例题

本文详细介绍了Java中的选择结构,包括if判断语句、if...else语句、if...else if语句、嵌套if语句以及switch多条件分支语句,并提供了多个示例进行解释说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录:

  1. if判断语句
  2. if…else判断语句
  3. if…else if 判断语句
  4. if嵌套语句
  5. 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);
        }
    }
}

输出结果:
题目1输出结果
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");
        }
    }
}

运行结果:
运行结果2

四、嵌套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 (表达式){
	case1:
	//表达式==值1情况下运行的代码
	break;
	case2:
	//表达式==值2情况下运行的代码
	break;
	case3:
	//表达式==值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;
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值