如何在switch / case上声明执行?

时间:2016-09-26 10:57:04

标签: java android android-studio

我是Java的新手 请帮忙!

我需要申报" chk"为了让开关知道去哪里。

我怎么能声明这样的东西才能让开关知道我需要检查所有4个输出并相应地显示它们,而不仅仅是输出1:

CheckBox chk = (CheckBox) findViewById(R.id.chk1);
switch (chk.getId()) {
    case R.id.chk1:
        findViewById(R.id.output1).setVisibility(visible);
        break;
    case R.id.chk2:
        findViewById(R.id.output2).setVisibility(visible);
        break;
    case R.id.chk3:
        findViewById(R.id.output3).setVisibility(visible);
        break;
    case R.id.chk4:
        findViewById(R.id.output4).setVisibility(visible);
        break;
}

1 个答案:

答案 0 :(得分:1)

开关声明

与if-then和if-then-else语句不同,switch语句可以有许多可能的执行路径。交换机使用byte,short,char和int原始数据类型。它也适用于枚举类型(在枚举类型中讨论),String类和一些包含某些基本类型的特殊类:Character,Byte,Short和Integer(在Numbers和Strings中讨论)。

以下代码示例SwitchDemo声明了一个名为month的int,其值表示月份。代码使用switch语句显示月份的名称,基于月份的值。

public class SwitchDemo {     public static void main(String [] args){

    int month = 8;
    String monthString;
    switch (month) {
        case 1:  monthString = "January";
                 break;
        case 2:  monthString = "February";
                 break;
        case 3:  monthString = "March";
                 break;
        case 4:  monthString = "April";
                 break;
        case 5:  monthString = "May";
                 break;
        case 6:  monthString = "June";
                 break;
        case 7:  monthString = "July";
                 break;
        case 8:  monthString = "August";
                 break;
        case 9:  monthString = "September";
                 break;
        case 10: monthString = "October";
                 break;
        case 11: monthString = "November";
                 break;
        case 12: monthString = "December";
                 break;
        default: monthString = "Invalid month";
                 break;
    }
    System.out.println(monthString);
}

}