一、while
while循坏是当条件为true时会执行循坏,否则则不执行 。
public static void main(String[] args) {
int i=0;
while (i<5){
i++;
System.out.println(i);
}
}
//输出 1 2 3 4 5
从上面可知,当i为5的时候则会跳出循坏。
二、do while
do while循坏和while的区别是不管条件是否为真,都会执行一次。
public static void main(String[] args) {
int i = 0;
do {
i++;
System.out.println(i);
} while (i > 5);
}
//输出 1
从上面可知,dowhile循坏是一定会执行一次,所以输出1,然后判断while的条件为false,所以不继续执行循坏。
三、 for循坏的多种写法
1、for i
语法:for(初始值;表达式;自增)
public static void main(String[] args) {
for (int i=0;i<5;i++){
System.out.println(i);
}
}
//输出 0 1 2 3 4
该for循坏的执行顺序是:先执行int i=0;然后判断i<5;如果为true则执行代码块,然后执行i++;然后再判断i<5,然后执行代码块,以此类推,直到i<5时为false才结束循坏。
2、foreach
语法:for (数据类型 变量名:需要迭代的变量)
public static void main(String[] args) {
List<Integer> list=new ArrayList<>();
list.add(1);
list.add(2);
for (Integer integer : list) {
System.out.println(integer);
}
}
//输出 1 2
3、for( ; ; )
for (;;) {
System.out.println(1);
}
// 将会无限输出1
4、迭代器
public static void main(String[] args) {
List<Integer> list=new ArrayList<>();
list.add(1);
list.add(2);
// 开始遍历
for(Iterator itr = list.iterator(); itr.hasNext();){
System.out.println(itr.next());
}
}
//输出 1 2
四、stream
public static void main(String[] args) {
List<Integer> list=new ArrayList<>();
list.add(1);
list.add(2);
list.stream().forEach(System.out::println);
}
//输出 1 2
或者可以写成list.forEach(System.out::println);
五、跳出循坏
1、continue
continue是跳出此次循坏,执行下一次循坏
public static void main(String[] args) {
for (int i = 0; i <2 ; i++) {
if(i==0){
continue;
}
System.out.println(i);
}
}
//输出 1
2、break
break是结束循坏
public static void main(String[] args) {
for (int i = 0; i <2 ; i++) {
if(i==0){
break;
}
System.out.println(i);
}
}
//无输出
3、跳出嵌套循坏
跳出嵌套循坏是要在要跳出的循坏前面设置标志位,然后跳出的时候加上标志位。
public static void main(String[] args) {
flag:for (int i = 0; i <2 ; i++) {
for (int j=0;j<3;j++){
if(i==0){
break flag;
}
System.out.println(i);
}
}
}