java,break语句,无论是否满足条件,都会跳出for循环?

2024-07-11 23:38:14
推荐回答(5个)
回答1:

break:跳出当前循环。

当arrays[i] == number条件不满足时,if里面的表达式为false,所以if中的语句不会被执行,相当于这次循环什么也没做,只对i加了1。


把你的代码改成下面这样:

package test;

public class Test01 {
public static void main(String[] args) {
int i; // 指定变量出现的位置
//int number = 45; //定义要查找的变量
int number = 110;
int[] arrays = { 23, 45, 2, 8, 67, 258, 94, 1, 18, 45, 1250 };
for (i = 0; i < arrays.length; i++) { // 遍历数组元素
if (arrays[i] == number) { // 如果第i个元素的值与number变更的值相等
System.out.println("您要查找的" + number + "是数组的第" + (i + 1) + "个元素");
break; // 中止循环,跳出for语句
}
}
}
}

如果执行了break,则上面的print语句也会执行。不知这样你能不能理解?

回答2:

你的break语句是写在if条件成立之后那就是条件满足才执行啊,当满足arrays[i] == number条件时,执行break语句,跳出for循环

回答3:

首先,break就是用来结束整个循环体的,在你的代码中,仅当arrays[i] == number时,即找到了目标number时,才会break跳出循环,否则将一直循环到结束。

回答4:

你i的作用域只在for循环内,所以你这样写不行。除非i在for循环之前定义。

回答5:

这样和你说吧,如果你的程序里if(arrays[i] == number)时,执行的不是break语句,
而直到当i=arrays.length前都没有满足arrays[i]=number,for循环也会结束,
因为for(i=0;i而当i比如i=1时,arrays[1]=number,for循环立即结束,这样i=2……直到i=arrays.length都不会执行。