在Java中使用for循环时如何实现return语句?

How to implement a return statement when using a for loop in Java?

我正在创建一个方法,如果它存在于数组中,return 将变量 elt 赋给它。如果数组中不存在,我需要return null.

问题是,我正在使用 for 循环中的 if 语句检查数组中每个项目中的变量 elt。我不认为我可以在 for 循环中的 if 语句末尾放置 return 语句,因为每次执行 if 语句时,潜在的 return 值都会不同。我认为每次 for 循环循环时都会产生一个新的 return 值。为了解决这个问题,我创建了一个名为 exist 的布尔临时变量。如果为真,该方法将 return 变量 elt。如果为假,它将 return 为空。我正在使用的代码如下。

public T remove(T elt) {
        boolean exist;

        for (int i=0; i<data.length; i++) {
            if (data[i] == elt) {
                data[i] = null;
                size--;
                exist = true;
                System.out.println(exist);

                for (++i; i < data.length; i++) {
                    data[i-1] = data[i];
                }
            }
        }
        if (exist = true)
            return elt;
        else
            return null;
    }

我的问题是,有没有办法在不使用临时变量的情况下将 return 语句塞进方法中?

没有必要使用一个额外的变量。您可以直接从 for 循环 return 。而不是写 exist = truereturn elt 并在最后 而不是

if (exist = true)
            return elt;
        else
            return null;

只需写 return null 这样,如果 elt 不存在,它将 return 为空。

您几乎可以在任何地方放置 return 语句。

要回答您的问题,您可以在内部 for 循环之后放置一个 return,如下所示:

public T remove(T elt) {

    for (int i=0; i<data.length; i++) {
        if (data[i] == elt) {
            data[i] = null;
            size--;
            System.out.println(exist);

            for (++i; i < data.length; i++) {
                data[i-1] = data[i];
            }

            return elt;
        }
    }

    return null;
}