在 Java 的 void 方法中,return 关键字有什么作用?

2022-08-31 12:27:54

我正在查看路径查找教程,我注意到一个方法(类,第126行)中的一个语句:returnvoidPathTest

if ((x < 0) || (y < 0) || (x >= map.getWidthInTiles()) || (y >= map.getHeightInTiles())) {
    return;
}

我是Java的新手。谁能告诉我为什么它在那里?据我所知,不允许使用 void 方法。return


答案 1

它只是在此时退出方法。一旦执行,其余的代码将不会执行。return

例如。

public void test(int n) {
    if (n == 1) {
        return; 
    }
    else if (n == 2) {
        doStuff();
        return;
    }
    doOtherStuff();
}

请注意,编译器足够聪明,可以告诉您无法访问某些代码:

if (n == 3) {
    return;
    youWillGetAnError(); //compiler error here
}

答案 2

你可以有一个void方法,你不能返回任何值(如 中所示),这就是为什么他们称之为void方法。有些人总是用 return 语句显式结束 void 方法,但这不是强制性的。不过,它可以用来提前离开函数:returnreturn 5;

void someFunct(int arg)
{
    if (arg == 0)
    {
        //Leave because this is a bad value
        return;
    }
    //Otherwise, do something
}