java中的if else 的替换写法,除了switch 语句
时间: 2023-10-28 10:05:54 浏览: 117
除了使用`switch`语句,Java中还可以使用`if else`的替代写法是使用`Map`。具体做法是将不同条件下的代码块封装成为不同的`Runnable`对象,将这些`Runnable`对象以`key-value`的形式存储在`Map`中,然后根据条件从`Map`中获取对应的`Runnable`对象并执行即可。
示例如下:
```java
Map<Boolean, Runnable> map = new HashMap<>();
map.put(true, () -> {
// 如果条件为true,执行这里的代码块
});
map.put(false, () -> {
// 如果条件为false,执行这里的代码块
});
boolean condition = true; // 假设这是一个if else语句中的条件表达式
map.get(condition).run(); // 根据条件获取对应的Runnable对象并执行
```
需要注意的是,这种替代写法只适用于`if else`语句中的两个分支,如果有多个分支,那么使用`Map`的写法就过于繁琐了,此时还是应该使用`if else`或`switch`语句。
相关问题
ifelse的替换写法
在很多编程语言中,ifelse可以用三目运算符(ternary operator)进行替换,例如在Python中:
```
value = x if condition else y
```
这行代码的意思是:如果condition为True,那么value的值为x,否则value的值为y。
另外,在许多编程语言中,还可以使用switch语句来替换ifelse,例如在Java中:
```
switch (variable) {
case value1:
// code block
break;
case value2:
// code block
break;
default:
// code block
}
```
这个语句的意思是:如果variable的值等于value1,执行第一个代码块;如果variable的值等于value2,执行第二个代码块;否则执行default代码块。
lua if else写法
Lua的if else写法可以根据条件来执行不同的代码块。在Lua中,if语句的写法如下:
if condition then
-- 如果条件成立,则执行这里的代码
else
-- 如果条件不成立,则执行这里的代码
end
其中,condition是一个条件表达式,可以是一个变量或者逻辑判断。如果条件成立,则执行if代码块中的代码;如果条件不成立,则执行else代码块中的代码。在if语句中,else部分是可选的,可以省略。
例如,参考中的例子,如果num小于0,则输出"num 比 0小!";否则,输出"num 比 0大!"。这个例子中使用了if else的写法来根据条件判断执行不同的代码块。
另外,Lua中还有其他的条件语句,如elseif和switch语句,可以根据具体的需求选择适合的条件语句来编写代码。
阅读全文