java数组:如何在java中处理数组条件

java数组:如何在java中处理数组条件,java,arrays,loops,for-loop,Java,Arrays,Loops,For Loop,或者这样看起来会很好吗?? for(int i=0; i<Cnt; i++) { if (i==0) { // some code } else if(i==1) { // some code } } for(int i=0;i尝试使用开关功能 对于(int i=0;i 开关(i){情况1:断路 //等等 } 尝试使用开关功能 对于(int i=0;i 开关(i){情况1:断路 //等等 } 这是最好的要求。当你超过3个条件检查

或者这样看起来会很好吗??

for(int i=0; i<Cnt; i++) {
    if (i==0) {
        // some code 
    }
    else if(i==1) {
    // some code 
    }
}

for(int i=0;i尝试使用开关功能

对于(int i=0;i 开关(i){情况1:断路

//等等

}


尝试使用开关功能

对于(int i=0;i 开关(i){情况1:断路

//等等

}

这是最好的要求。当你超过3个条件检查,你可以去开关

for (int i=0; i<Cnt; i++) {
    String str = Bag[0].value ;
    String str22 = Bag[1].value     
}
这是最好的要求。当你超过3个条件检查,你可以去开关

for (int i=0; i<Cnt; i++) {
    String str = Bag[0].value ;
    String str22 = Bag[1].value     
}

好的,我也会提倡使用一些开关函数,我的代码结构如下

   switch (i) {
            case 0:
                System.out.println("i value"+i);

                break;
            case 1:
                System.out.println("i value"+i);

                break;
            case 2:
                System.out.println("i value"+i);

                break;
            case 3:
                System.out.println("i value"+i);

                break;
            case 4:
                System.out.println("i value"+i);

                break;

        }
public操作(int[]数字){
对于(int i=0;i
另一个值得注意的是,如果这个switch语句将变得非常大,那么它不是您可以使用策略模式来避免此类代码的最佳解决方案。但是,它确实取决于数组中保存的内容,int可能表示其他内容(例如枚举值的值)在这一点上,你可以转换为一个强类型的案例,并对该案例有一个行为。这个问题是一个软件工程的问题,实际上取决于收到的内容的范围。如果你只打算有3个案例,有一个论点说简单的开关是最好的,因为它就是这样,简单


我没有内联切换的原因是为了使该方法更容易进行单元测试,而无需进入循环,这意味着每种情况都可以单独测试,当您更改它时,您不必担心意外修改循环代码…它的整洁度

好的,我还主张使用某种切换函数,一种d将按如下方式构造我的代码

   switch (i) {
            case 0:
                System.out.println("i value"+i);

                break;
            case 1:
                System.out.println("i value"+i);

                break;
            case 2:
                System.out.println("i value"+i);

                break;
            case 3:
                System.out.println("i value"+i);

                break;
            case 4:
                System.out.println("i value"+i);

                break;

        }
public操作(int[]数字){
对于(int i=0;i
另一个值得注意的是,如果这个switch语句将变得非常大,那么它不是您可以使用策略模式来避免此类代码的最佳解决方案。但是,它确实取决于数组中保存的内容,int可能表示其他内容(例如枚举值的值)在这一点上,你可以转换为一个强类型的案例,并对该案例有一个行为。这个问题是一个软件工程的问题,实际上取决于收到的内容的范围。如果你只打算有3个案例,有一个论点说简单的开关是最好的,因为它就是这样,简单


我没有内联切换的原因是为了使该方法更容易进行单元测试,而无需输入循环,这意味着每个案例都可以单独测试,当您更改它时,您不必担心意外修改循环代码…它的整洁度

您必须使用
切换案例
,因为

public void fooOperation(int[] numbers) {
    for(int i=0; i < numbers.length; i++) { 
        handleValue(i);
    }
}

public void handleValue(int value)  {
    switch(i) {
        case 1:
            // some code
            break;
        case 2:
            // some code
           break;
        default:
            break;
    }
}
条件评估一次
具有足够的灵活性,可以构建达夫的设备之类的东西
而且它执行速度更快(通过跳转/查找表)*

Ex:-

1:- Cleaner code. Code with multiple chained if/else if ... looks messy and is 
difficult to maintain - switch gives    cleaner structure.

您必须使用开关盒,因为

public void fooOperation(int[] numbers) {
    for(int i=0; i < numbers.length; i++) { 
        handleValue(i);
    }
}

public void handleValue(int value)  {
    switch(i) {
        case 1:
            // some code
            break;
        case 2:
            // some code
           break;
        default:
            break;
    }
}
条件评估一次
具有足够的灵活性,可以构建达夫的设备之类的东西
而且它执行速度更快(通过跳转/查找表)*

Ex:-

1:- Cleaner code. Code with multiple chained if/else if ... looks messy and is 
difficult to maintain - switch gives    cleaner structure.

直接获取数组的长度,
Bag.length
,而不是在另一个变量中复制该信息。直接获取数组的长度,
Bag.length
,而不是在另一个变量中复制该信息。