您可以在其他条件语句中使用条件语句吗?

问题描述 投票:-3回答:2

我的问题很简单,如果无法实现相同的效果,下面的代码是否可以工作?

int day = 5; 
    String dayString; 

    switch (if (day > 0) { 
    case 1: 
        dayString = "Monday"; 
        day++;
        break; 
    case 2: 
        dayString = "Tuesday"; 
        day++;
        break; 
    case 3: 
        dayString = "Wednesday"; 
        day++;
        break; 
    case 4: 
        dayString = "Thursday"; 
        day++;
        break; 
    case 5: 
        dayString = "Friday"; 
        day++;
        break; 
    case 6: 
        dayString = "Saturday"; 
        day++;
        break; 
    case 7: 
        dayString = "Sunday"; 
        day++;
        break; 
    default: 
        dayString = "Invalid day"; 
        day++;
        break; 
    } 
    System.out.println(dayString); 

输出应该是星期五,基本上我的问题是,您是否可以在相应语句的参数内放入if语句,while语句,while语句,for语句或do语句或do语句或其他语句。

java if-statement switch-statement
2个回答
0
投票

上面的代码将不起作用...该代码中存在语法错误。您不能在switch的花括号内添加if条件...它期望一个变量来求值...这些条件是使用case语句给出的...要获得星期五作为输出,只需将变量“ day”放在开关括号内即可,例如this-> switch(day)


0
投票

Java的语法具有许多不同的结构。这里特别相关的是expressionsstatements

表达式是具有值的东西。声明是做某事的指令。

if是一个语句。它的一般语法为:

if (expression) statement

{}也是一种语句,这就是为什么您可以使用花括号包围要执行的代码的原因。

[expression必须是boolean类型。

switch也是一个语句。它的一般语法为:

switch (expression) {
  // ...
}

因为开关需要在括号中使用表达式,所以不能在其中使用语句。

© www.soinside.com 2019 - 2024. All rights reserved.