java 分支结构

文章对比了Java和Python中处理条件分支的不同方式。在Java中,使用if-else和switch语句,而Python没有switch,但可以通过if-elif-else、字典映射或函数映射来实现类似功能。文章还提到了Javaswitch语句的限制和Python的替代策略。
摘要由CSDN通过智能技术生成

在这里插入图片描述
上面的是java的分支语句,如果是python

a = 12

if a < 12:
    print(1)
elif a < 42:
    print(2)
else:
    print(3)

如果是java

package com.ithema.spedkey;

public class demo642 {
    public static void main(String[] args) {
        int a = 12;
        if (a < 12){
            System.out.println(1);
        } else if(a < 42) {
            System.out.println(2);
        } else {
            System.out.println(3);
        }

    }
}

在这里插入图片描述

package com.ithema.spedkey;

public class demo643 {
    public static void main(String[] args) {
        String weekday = "周四";
        switch (weekday){
            case "周一":
                System.out.println("今天周一");
                break;
            case "周二":
                System.out.println("今天周二");
                break;
            case "周三":
                System.out.println("今天周三");
                break;
            case "周四":
                System.out.println("今天周四");
                break;
            default:
                System.out.println("其他时间");
        }
    }
}

在这里插入图片描述

注意事项
在这里插入图片描述
1、表达式不支持double、float、long这些类型
2、case的值不允许重复出现,只能是字面量,不能是变量。
3、不要忘记写break,否则会出现执行多个语句,也就是穿透。

package com.ithema.spedkey;

public class demo644 {
    public static void main(String[] args) {
        int month = 7;
        switch (month) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                System.out.println(month + "月是31天!");
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                System.out.println(month + "月是30天");
                break;
            case 2:
                System.out.println("月闰年是29,否则28天");
                break;
            default:
                System.out.println("数据有误");
        }
    }
}

在 Python 中没有与 Java 中的 switch 语句直接等价的结构。但是,你可以使用一些替代方案来实现类似的功能。下面是一些在 Python 中实现条件分支的常见方法:

使用 if-elif-else 语句:

def switch_case(argument):
    if argument == 1:
        # 执行某些操作
    elif argument == 2:
        # 执行某些操作
    elif argument == 3:
        # 执行某些操作
    else:
        # 执行默认操作

使用字典映射:

def switch_case(argument):
    case_dict = {
        1: lambda: some_function(),
        2: lambda: some_other_function(),
        3: lambda: another_function()
    }
    case_dict.get(argument, lambda: default_function())()

在这个例子中,字典 case_dict 将每个 case 映射到相应的函数。然后通过调用字典的 get 方法获取相应的函数并执行。

使用函数映射:

def case_1():
    # 执行某些操作

def case_2():
    # 执行某些操作

def case_3():
    # 执行某些操作

def default_case():
    # 执行默认操作

def switch_case(argument):
    case_func = {
        1: case_1,
        2: case_2,
        3: case_3
    }
    case_func.get(argument, default_case)()

这个例子中,每个 case 对应一个函数。通过将 case 的值与相应的函数进行映射,然后调用相应的函数来实现类似 switch 的功能。

这些是在 Python 中实现条件分支的常见方法,虽然没有直接的 switch 语句,但通过这些方法可以灵活地实现类似的功能。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高山莫衣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值