Java 如何跳过if语句转到下一个if语句

Java 如何跳过if语句转到下一个if语句,java,Java,是否可以跳过一个if语句并在该if语句中执行另一个if语句 if(...){ A code. }else if(...){ B. Call to C. }else if(...){ C code. }else(...){ D code. } 例如,如果我在包含A的if语句中,并且条件发生变化,从而执行B,那么我将如何调用C中的代码,而在B else if语句中调用 EDIT=忘了说除了一个if语句之外,我的if语句还返回了一个名为Dice[]的自定义对象数组。我

是否可以跳过一个if语句并在该if语句中执行另一个if语句

if(...){
    A code.
}else if(...){
    B. Call to C.
}else if(...){
    C code.
}else(...){
    D code.
}
例如,如果我在包含A的if语句中,并且条件发生变化,从而执行B,那么我将如何调用C中的代码,而在B else if语句中调用

EDIT=忘了说除了一个if语句之外,我的if语句还返回了一个名为Dice[]的自定义对象数组。我已经实现了以下解决方案,现在得到一个返回语句错误

public Die[] ifA(){
A
}

public void ifB(){
ifC(); ifD();
}
public Die[] ifC(){
C
}
public Die[] ifD(){
D
}

public Die[] roll(){

if(...){ return ifA();
}else if(...){ifC();ifD();
}else if(...){return ifC();    
}else(...){return ifD();
}

}
我只是在roll()方法的末尾得到一个返回错误。当然,我不应该这样做,因为我使用了else{}块,因此如果没有执行if/else if语句,那么else将不得不运行,不是吗


EDIT#2=刚刚为未返回值的方法找到了一个变通方法。谢谢大家的意见。使我的代码更加简洁易懂

您可以将
A代码
B代码
C代码
D代码
放在各自的方法中,然后在
B
if语句中调用
C代码

比如说

public void doA() {
    //Do what would happen in A
}
public void doB() {
    //Do what would happen in B
}
public void doC() {
    //Do what would happen in C
}
public void doD() {
    //Do what would happen in D
}
对于if-else块

if (...) {
    doA();
} else if (...) {
    doB();
    doC();
} else if (...) {
    doC();
} else {
    doD();
}

为c代码创建一个方法

if(...){
    A code.
}else if(...){
    B
    cCode();
}else if(...){
    cCode();
}else(...){
    D code.
}


private void cCode() {
   ...
}

显然,其他两个答案更为清晰,但这只是另一条出路

int condition = 2;
while(true) {
    if(condition == 1){
        System.out.println(1);

    }else if (condition == 2){
        System.out.println(2);
        condition = 3;
        continue;

    }else if (condition == 3){
        System.out.println(3);

    }

    break; //if continue gets called it will skip this
}

您可能希望先格式化代码…而不是跳过将
C code
作为一个模块,这样您就可以在
B
语句或
C
语句中调用它,除非您将它们全部更改为单个
if
语句,以便通过“调用C”检查所有类似情况你的意思是制作一个名为
doC()
的方法,并在第二个和第三个
中调用它吗?如果
,请使用方法来完成任务。感谢您的输入。到目前为止,我已经做了一切,我只是得到一个返回错误。我可能忘了说我的if语句除了一个之外都返回了一些东西。现在我已经完成了您的步骤,我得到了一个返回错误,但不确定返回什么。我已经将我以前的if语句放在它的单个方法中,并将if-else块放在一个方法中。我将编辑我的帖子,这样你就可以看到我的意思了。在大多数
doX()
方法之后,你缺少了一些分号。你可以更改此方法并删除
其他的
s,以避免出现while循环并
继续