手记

Java技术之流程控制

Java技术之流程控制

块作用域

  • 块(即复合语句):是指一对大括号括起来的若干条简单的Java语句.
  • 块确定了变量的作用域
  • 一个块可以嵌套在另一个块中
 int n;
 ...
 {
     int k;
     ...
 }//k仅作用域为块中
    int n;
    ...
    public static void main(String[] args) {
       int k;
       int n;//错误,不能两个块中声明相同的变量名
       ...
    }

条件语句

//单条语句
if(condition)statement
//多条语句
if(condition)
{
    statement1;
    statement2;
    ...
}

if(condition) statement1 else statement2

使用块(有时候称为复合语句)可以在Java程序结构中原本只能放置一条(简单)语句的地方放置多条语句

    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        if (a > b) {
            System.out.println("a>b");
        } else if (a < b) {
            System.out.println("a<b");
        } else {
            System.out.println("a=b");
        }
    }

循环

while(condition) statement
do statement while(condition)
public static void main(String[] args) {
        //1,2,3,4...100
        int i = 1;
        boolean is = true;
        while (is) {
            if (i == 100) {
                System.out.println(i++);
                is = false;
            } else {
                System.out.println(i++);
            }
        }

        System.out.println("---------------------------------");

        i = 1;
        is = true;
        do {
            if (i == 100) {
                System.out.println(i++);
                is = false;
            } else {
                System.out.println(i++);
            }
        } while (is);
    }

确定循环

for循环语句是支持迭代的一种通用结构,利用每次迭代之后更新的计数器或类似的变量来控制迭代次数

    public static void main(String[] args) {
        //1,2,3,4...100
        for (int j = 1; j <= 100; j++) {
            System.out.println(j);
        }
    }

多重选择:switch语句

public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入今天是星期几?");
        int nextInt = scanner.nextInt();
        switch (nextInt) {
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            case 7:
                System.out.println("星期日");
                break;
            default:
                System.out.println("输入错误,范围只能1-7");
        }

        System.out.println("----------------------------------");
        
        //如果不输入break,那么其和其后的语句都会被执行
        //所以一定要注意,合理使用break
        switch (nextInt) {
            case 1:
                System.out.println("星期一");
            case 2:
                System.out.println("星期二");
            case 3:
                System.out.println("星期三");//例如输入3,结果却是后续语句全给执行了 星期三,星期四,星期五,星期六,星期日,输入错误,范围只能1-7
            case 4:
                System.out.println("星期四");
            case 5:
                System.out.println("星期五");
            case 6:
                System.out.println("星期六");
            case 7:
                System.out.println("星期日");
            default:
                System.out.println("输入错误,范围只能1-7");
        }
    }

中断流程控制语句

break;语句和countinue语句

以下例子可以对比两个关键字的区别

    public static void main(String[] args) {
        for (int i = 0; i < 100; i++) {
            if (i == 10) {
                System.out.println("跳过了10,但不影响程序的运行");
                continue;
            } else {
                System.out.println(i);
            }

            //当continue后不会执行以下语句
            if (i == 30) {
                break;//30就结束循环
            }
        }
    }

不过即使逻辑中不包含break;语句和countinue语句,也是可以实现完整的逻辑的,这两个是可选的

0人推荐
随时随地看视频
慕课网APP