如何将if语句转换为switch语句?

时间:2016-04-12 00:03:52

标签: java

如何将这个if语句转换为switch语句,考虑到我在这里使用了两个变量,我试图解决它而不能正常工作

int child;
char gender;
int temp;
child=console.nextInt();
gender=console.next().charat(0);
if(gender=='m' && children>=4)
  temp =1;
else if(gender=='m' && children<4)
  temp =2;
else if(gender=='f' && children<4)
  temp =3;
else
  temp=4;
}

这是我的代码

   int children;
    double temp;
    char gender;
    children=console.nextInt();
    switch(children , gender )
    {
      case < 4, 'm':

        temp=1;
      break;

      default : salary=600;
    }

2 个答案:

答案 0 :(得分:2)

首先应该看看The switch Statement

switch语句基本上是针对每个案例评估一个条件。您可以使用直通条件,但这是很多其他代码。

例如,像......

switch (gender) {
    case 'm':
        temp = 0;
        if (children >= 4) {
            temp += 1;
        } else {
            temp += 2;
        }
        break;
    case 'f':
        temp = 2;
        if (children >= 4) {
            temp += 2;
        } else {
            temp += 1;
        }
        break;
}

会生成与if语句相同的结果

如果您更喜欢使用纯switch语句,则可以执行类似......

的操作
switch (gender) {
    case 'm':
        temp = 0;
        switch (children) {
            case 0:
            case 1:
            case 2:
            case 3:
                temp += 2;
                break;  
            default:
                temp += 1;
        }
        break;
    case 'f':
        temp = 2;
        switch (children) {
            case 0:
            case 1:
            case 2:
            case 3:
                temp += 1;
                break;
            default:
                temp += 2;
        }
        break;
}

Java的switch语句不支持范围:(

答案 1 :(得分:1)

开关(性别){

unsigned long long

}