public class TestMax{
public static void main(String[]args){
int[]array={12,34,234};
int max=array[0]; //将索引为0的值赋值最值
for(int i=1;i<array.length;i++){
if(array[i]>max){
max=array[i];
}
}
System.out.println("max:"+max);
}
}
输出结果是:
max:234
我的问题是:for循环里嵌套了一个if 或者一个for,如果满足里面的那个if和for的条件,外部的循环会停止吗。另外,如果把 System.out.println("max:"+max); 放在if的代码块里,输出结果又变成了:
max:34
max:234
正常来说,你的if里面的语句判断成功,在没有break 和 continue 的情况下是不会跳出来的,如果你要是把你的输出语句放入if里面的话,那就是每一次判断成立都会有输出的哟
循环结束要么break要么continue,满足条件break会直接跳出循环,向下继续执行代码,continue会跳出本次循环,在这次循环里continue后面的代码就不执行了。max=234,是你先定义max=array[0]也就是12,你的数组长度为3,你定义i从1开始,循环的条件是i<array.length(数组长度也就是3),那么循环会执行两次i为1和2的时候执行,每次执行都在进行if判断,第一次执行max为12,array[1]为34,max值被替换为34,第二次执行max值为34,array[2]为234,你把输出语句放进if里面,那就是每次进if就会输出max的值。