Java流程控制之循环语句

java forEach中退出循环 java退出循环的语句_System

while循环

java forEach中退出循环 java退出循环的语句_System_02

  • 计算1+2+3+…+100=?
package struct;

public class WhileDemo03 {
    public static void main(String[] args) {
        // 计算1+2+3+...+100=?
        int i = 0;
        int sum = 0;    // 计算总和
        while (i <= 100){   // 停止循环的条件
            sum = sum +i;
            i++;    // 每次循环i+1
        }
        System.out.println(sum);    // 输出结果5050
    }
}
  • 死循环
package struct;
public class WhileDemo02 {
    public static void main(String[] args) {
        while (true){   // 当循环条件为true时,程序会无限循环运行
        }
    }
}

do…while循环

java forEach中退出循环 java退出循环的语句_java_03

package struct;

public class DoWhileDemo02 {
    public static void main(String[] args) {
        int a = 0;  // 定义变量 a = 0
        while (a < 0){  // 循环条件a < 0
            System.out.println(a);
            a++;
        }
        System.out.println("----------------");
        do {    // do.while循环,无论是否符合判断条件,都会先执行一次在判断条件
            System.out.println(a);
        }while (a < 0);
    }
}

For循环

java forEach中退出循环 java退出循环的语句_整除_04

  • 计算0到100之间的奇数和偶数的和
package struct;

public class ForDemo02 {
    public static void main(String[] args) {
        int oddSum = 0; // 定义奇数的初始值
        int evenSum = 0;    // 定义偶数的初始值
        for (int i = 0; i < 100; i++) {
            if (i % 2 != 0) { // 用if语句判断变量i能否被2整除
                oddSum += i;
            } else {
                evenSum += i;
            }
        }
        System.out.println("奇数的和为:" + oddSum);
        System.out.println("偶数的和为:" + evenSum);
    }
}
  • 循环输出1-1000之间能被5整除的数,并且每行输出3个
package struct;
public class ForDemo03 {
    public static void main(String[] args) {
        // 用while或for循环输出1-1000的之间能被5整除的数,并且每行输出3个
        for (int i = 0; i <= 1000; i++) {
            if (i % 5 ==0){
                System.out.print(i + "\t");
            }
            if (i% (5 * 3) == 0){   // 当i能被15整除的时候则换行
                System.out.println(); // 输出空串实现换行
                // System.out.print("\n"); 也可以实现换行
            }
        }
        // println 输出完换行
        // print 输出完不换行
    }
}
  • 九九乘法表
package struct;
public class ForDemo04 {
    public static void main(String[] args) {
        // 九九乘法表
        for (int j = 1; j <= 9; j++) {  // 定义变量j作被乘数
            for (int i = 1; i <= j; i++) {  // 定义变量i作乘数
                System.out.print(j + "*" + i + "="+(j * i) + "\t"); // 每执行一次在输出后加上间隔
            }
            System.out.println(); // 换行
        }
    }
}

break

break是强制退出循环,不执行循环中的剩余语句,可用在任何循环语句的主体部分;

java forEach中退出循环 java退出循环的语句_整除_05

package struct;
public class BreakDemo {
    public static void main(String[] args) {
        int i = 0;
        while (i < 100){
            i++;
            System.out.println(i);
            if (i == 30){   // 当循环到30时,退出此代码块
                break;
            }
        }
    }
}

continue

continue语句在循环语句中用作跳过当前循环体中尚未执行并返回到判断语句继续执行;

java forEach中退出循环 java退出循环的语句_整除_06

package struct;

public class ContinueDemo {
    public static void main(String[] args) {
        int i = 0;
        while (i < 100){
            i++;
            if (i % 10 == 0){
                System.out.println();
                continue;   // 当if判断条件成立时,则停止循环并返回到while继续循环
            }
            System.out.print(i);
        }
    }
}

goto关键字

java forEach中退出循环 java退出循环的语句_i++_07

package struct;

public class GotoDemo {
    public static void main(String[] args) {
        int count = 0;
        outer:for (int i= 101; i < 150; i++){   // 在for循环前加入 outer标签
            for (int j = 2; j< i/2; j++){
                if (i % j ==0){
                    continue outer; // 语句结束时在控制语句后加上 outer标签,则会跳回上一个标签处
                }
            }
            System.out.print(i + " ");
        }
    }
}

打印三角形

package struct;

public class TestDemo {
    public static void main(String[] args) {
    // 打印三角形
        for (int i = 1; i <= 5; i++){   
            for (int j = 5; j >= i; j--){
                System.out.print(" ");
            }
            for (int j = 1; j <= i; j++){
                System.out.print("*");
            }
            for (int j = 1; j < i; j++){
                System.out.print("*");
            }
            System.out.println();
        }
    }
}