Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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 void方法中的Return语句_Java - Fatal编程技术网

Java void方法中的Return语句

Java void方法中的Return语句,java,Java,我有以下返回void的方法,我需要在另一个也返回void的方法中使用它。 我能做以下事情吗 public void doSomething(){} public void myMethod() { return doSomething(); } 谢谢你的评论,但让我更具体一点 如果发生了什么事情,我只做一些事情,否则我会做其他事情 public void doSomething(){} public void myMethod() { for(...) if

我有以下返回void的方法,我需要在另一个也返回void的方法中使用它。 我能做以下事情吗

public void doSomething(){}

public void myMethod()
{
    return doSomething();
}
谢谢你的评论,但让我更具体一点

如果发生了什么事情,我只做一些事情,否则我会做其他事情

public void doSomething(){}

public void myMethod()
{
    for(...)
        if(somethingHappens)
        {
            doSomething();
            return;
        }

    doOtherStuff();
}
我是否可以编写
returndosomething(),而不是上面的代码在if语句中?

否,只需执行以下操作:

public void doSomething() { }

public void myMethod()
{
    doSomething();
}
或在第二种情况下:

public void doSomething() { }

public void myMethod()
{
    // ...
    if (somethingHappens)
    {
        doSomething();
        return;
    }
    // ...
}

“归空”意味着什么也不归。如果您想从
myMethod
的主体中“跳出”,请使用
return编译器不允许写入
返回void(“表达式的非法开始”)或
返回doSomething()(“无法从结果类型为void的方法返回值”)。我理解返回方法调用的“void”或“void result”似乎是合乎逻辑的,但这样的代码会产生误导。我的意思是大多数读了
的程序员都会返回doSomething()
会认为有东西要返回。

void函数不会/不能返回任何这样的东西。只需调用函数。

否,在Javavoid函数中不需要返回。相反,请执行以下操作:

public void myMethod(){
    doSomething();
}

如果你愿意的话,你可以在doSomething()之后加上一个return,但正如我所说,这是没有必要的。

你要么像其他人指出的那样使用doSoemthing,要么

public (insert data type like int, double, string, etc) myMethod()
{
     return doSomething();
}
如果dosomething返回一个int

// if you wanted to take 2 numbers and add them

public void myMethod()
{
    valueOfX+Y = doSomething();
}

public int doSomething()
{
    x = 2;
    y = 2;
    return X+Y;
}
希望你能把它清理干净

  • 条件
    (某些事情发生)
    实际上取决于
    doSomething()
    做了什么
  • doSomething()
    是一种可以修改的方法

你应该考虑让它返回<代码>布尔(或任何合适的类型)值,它告诉CALLY方法是否发生。

然后,代码看起来有点像这样:

public boolean doSomething() {
    // internal working
    if (internalCondition) {
         // something done here
         return true;
    }
    // not done ;
    return false;
}

public void myMethod()
{
    for(...)
        if (doSomething())
        {
            return;
        }
    // didn't hit 'doSomething() == true'
    doOtherStuff();
}

另外,确保你的资本化正确
Return
应该是
Return
Public
应该是
Public
。请查看我的更新答案。当您使用void时是否可以返回一些内容?如果我在
void
函数中使用
Return
作为if语句,它只会离开(跳出)该函数!