如果使用switch语句,如何使用&&运算符?

时间:2019-07-12 15:08:22

标签: java android if-statement switch-statement

在开关的情况下如何使用&&?我想将此if-else转换为switch-case。请帮助我,我尝试了很多选择,但没有任何作用。

if( bpay <= 90000 &&  bpay >= 85000 )
{
System.out.println("You Job is General Manager");
}

if( bpay <= 84999 && bpay >= 75000 )
{
 System.out.println("Your Job is Manager" );
}

if ( bpay <= 74999 && bpay >= 65000 )
{
System.out.println("Your Job is Assistant Manager ");
}
if ( bpay <= 64999 && bpay >= 55000 )
{
System.out.println("Your Job is Accoutant");
}
if( bpay <= 54999 && bpay >= 40000 )
{
System.out.println("Your Job is Clerk");
}
if( bpay < 40000 )
System.out.println("You Job is Security Incharge");

4 个答案:

答案 0 :(得分:1)

这在Java中是不可能的。 Switch旨在识别独特的情况。

P.S-既然您正在使用android,请尝试Kotlin。 您可以使用when(基本上是switch but with superpowers)在kotlin中实现。 例如:

when(bpay) {
  in 40000..55000 -> println("Your Job is Clerk")
  in 55000..65000 -> println("Your Job is Accoutant")
  //Similarly for the rest
}

答案 1 :(得分:1)

不能。 Java语言不支持此功能。它可能适用于其他人,但不适用于此。大小写必须是整数,字符串或枚举。这不是布尔语句

答案 2 :(得分:0)

切换大小写不适用于范围,而是适用于完全匹配或常数值。

因此,您不能将其转换为大小写转换,您必须在此处使用if-else

答案 3 :(得分:0)

如上所述,这是不可能的。而是使用if-else-if

if ( bpay <= 90000 &&  bpay >= 85000 ) {
    System.out.println("You Job is General Manager");
} else if( bpay <= 84999 && bpay >= 75000 ) {
    System.out.println("Your Job is Manager" );
} else if ( bpay <= 74999 && bpay >= 65000 ) {
    System.out.println("Your Job is Assistant Manager ");
} else if ( bpay <= 64999 && bpay >= 55000 ) {
    System.out.println("Your Job is Accoutant");
} else if( bpay <= 54999 && bpay >= 40000 ) {
    System.out.println("Your Job is Clerk");
} else if( bpay < 40000 ) {
    System.out.println("You Job is Security Incharge");
}
相关问题