boolean flag = true
flag没有特定的含义,但是我们一般将它作为标记使用。比如设立判断条件,或者作为跳出循环的依据。flag可以定义为bool,也可以定义为int,或者可以定义为数组等,根据需要各取所需。
1.找出101-200之间的所有素数
一开始定义flag为true。
当i不是素数时,把flag转换为false,跳出当前循环,判断是否输出。
当i为素数时,直接判断是否输出。
public class findS {
public static void main(String[] args) {
//1.定义一个循环,找到101-200之间的全部数据
for (int i = 101; i <201 ; i++) {
//信号源:标记
boolean flag = true; //一开始认为当前数据是素数
//2.判断当前遍历的数据是否为素数,
for (int j = 2; j <i/2 ; j++) {
if(i%j==0){
flag = false;
break;
}
}
//3.根据判定的结果选择是否输出这个数据,是则输出
if(flag){
System.out.println(i+"\t");
}
}
}
}
2.冒泡排序
加入flag进行判断,如果上次没有发生交换,说明数组已经有序,跳出循环。
public static void bubbleSort(int[] nums) {
for (int i = 0; i < nums.length - 1; i++) {
boolean flag = false;
for (int j = 0; j < (nums.length - 1 - i); j++) {
if (nums[j] > nums[j + 1]) {
int temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
flag = true;
}
}
if (!flag) {
break;
}
}
}