这是来自codingbat的问题:
给定一个int数组,如果数组中前4个元素之一是9,则返回true。数组长度可能小于4.
public boolean arrayFront9(int[] nums) {
int i = 0;
for(i=0;i<4; i++) {
if(nums[i]==9) return true;
}
return false;
}
示例输出:
arrayFront9({1,2,9,3,4})将返回true。
为什么这不总是返回false?如果首先运行for循环并为第3个索引返回true,但是对于第4个(最后一个索引检查)则返回false,那么for循环是否应该返回false?或者在找到9后循环退出?还有一个&#34;返回false;&#34;在for循环之后的行,为什么这不会自动覆盖for循环输出的任何值?我的理解是Java一次执行一行代码,因此它会读取返回false并返回false,因为它是最后一行代码。
答案 0 :(得分:2)
执行return
语句时,会立即退出当前方法。
答案 1 :(得分:0)
一旦for
循环到达array
中的第3个元素(即9 return
true
,它将break
并for
{{1}}循环并停止执行其后的内容