Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java If代码结构_Java_If Statement - Fatal编程技术网

Java If代码结构

Java If代码结构,java,if-statement,Java,If Statement,我知道基本的if语句结构,但这让我很困惑 public void setHandleName(String handle){ if(handle.length() < 10){ return; } handleName = handle; } if语句应该在哪里 if(true){ //do stuff; } 对不起,我的解释含糊不清,英语不是我的母语。 任何帮助都将不胜感激! 谢谢 它不返回任何内容(如void返回类型所示)。它将handle

我知道基本的if语句结构,但这让我很困惑

public void setHandleName(String handle){
    if(handle.length() < 10){
        return;
    }

    handleName = handle;
}
if语句应该在哪里

if(true){ //do stuff; }
对不起,我的解释含糊不清,英语不是我的母语。 任何帮助都将不胜感激!
谢谢

它不返回任何内容(如
void
返回类型所示)。它
handleName
的值设置为
handle
,但仅当
handle.length()
大于或等于10时。如果
handle.length()
小于10,它将只
从该方法返回
,而不执行任何操作。

它不返回任何内容(如
void
返回类型所示)。它
handleName
的值设置为
handle
,但仅当
handle.length()
大于或等于10时。如果
handle.length()
小于10,它将只
从方法返回
,不再执行任何操作

当handle.length()大于10时,它返回值

不,没有。它从不返回任何值,方法的类型为
void
。如果名称长度至少为10个字符,则设置
handleName
实例字段(如果名称长度小于10个字符,则不设置)

,当handle.length()小于10时,它不应该返回值吗

否,
if
清楚地显示“如果句柄长度小于10,则返回”,这是在设置
handleName
之前<代码>返回立即退出该功能,绕过随后可能出现的任何代码

为什么这个if语句正好相反

if(false){ //do stuff; }
if(false){ //do stuff; }
因为在这种情况下,逻辑在
if
块中;在第一个示例中,在
if
块之后,
提前返回
s(绕过函数的其余部分)。也就是说,您的第一个示例是:

if (!condition) {
    return;
}
doSomething();
但你的第二个例子是

if (condition) {
    doSomething();
}
以下是第一个示例的注释版本:

public void setHandleName(String handle){ // Accept a `handle` string parameter
    if(handle.length() < 10){             // If the length of `handle` is less
                                          // than 10, enter the block
        return;                           // Leave this method immediately, without
                                          // doing anything else
    }                                     // This is the end of the conditional bit

    handleName = handle;                  // Set `handleName` to `handle`
}
当handle.length()大于10时,它返回值

不,没有。它从不返回任何值,方法的类型为
void
。如果名称长度至少为10个字符,则设置
handleName
实例字段(如果名称长度小于10个字符,则不设置)

,当handle.length()小于10时,它不应该返回值吗

否,
if
清楚地显示“如果句柄长度小于10,则返回”,这是在设置
handleName
之前<代码>返回立即退出该功能,绕过随后可能出现的任何代码

为什么这个if语句正好相反

if(false){ //do stuff; }
if(false){ //do stuff; }
因为在这种情况下,逻辑在
if
块中;在第一个示例中,在
if
块之后,
提前返回
s(绕过函数的其余部分)。也就是说,您的第一个示例是:

if (!condition) {
    return;
}
doSomething();
但你的第二个例子是

if (condition) {
    doSomething();
}
以下是第一个示例的注释版本:

public void setHandleName(String handle){ // Accept a `handle` string parameter
    if(handle.length() < 10){             // If the length of `handle` is less
                                          // than 10, enter the block
        return;                           // Leave this method immediately, without
                                          // doing anything else
    }                                     // This is the end of the conditional bit

    handleName = handle;                  // Set `handleName` to `handle`
}

这是否使代码实际执行的操作更清晰

public void setHandleName(String handle){
    if(handle.length() >= 10){
        handleName = handle;
    }
    // otherwise handleName is not set, and the method exits
    // nothing is returned because the method is 'void'
}

请注意,
if(false){//do stuff;}
永远不会“do stuff”

这是否使代码实际上在做什么更清楚

public void setHandleName(String handle){
    if(handle.length() >= 10){
        handleName = handle;
    }
    // otherwise handleName is not set, and the method exits
    // nothing is returned because the method is 'void'
}

请注意,
if(false){//do stuff;}
从不执行任务您的方法的返回类型为void,因此在任何情况下都不会返回任何内容。它正在有条件地更新
handleName
。您的方法的返回类型为void,因此在任何情况下都不会返回任何内容。它正在有条件地更新
handleName