• Java学习笔记五——流程控制


    分支结构

      Java提供了两种常见的分支控制结构:if语句和switch语句。

    if语句

      if语句使用布尔值布尔表达式(表达式结果为布尔值),if语句有3中形式:

      第一种形式:

            if (5 > 3) {
                System.out.println("5 > 3");
            }

      第二种形式:

            if (5 > 3) {
                System.out.println("5 > 3");
            }
            else{
                System.out.println("5 < 3");
            }

      第三种形式:

            if (5 > 3) {
                System.out.println("5 > 3");
            }
            else if(5 > 4){
                System.out.println("5 > 4");
            }
            else{
                System.out.println("5 < 3 and 5 < 4");
            }

      我们看下面一个例子:

            int age = 45;
            if (age <= 20) {
                System.out.println("年轻人");
            }
            else if(age > 20 && age < 40){
                System.out.println("青年人");
            }
            else if(age >= 40 && age < 60){
                System.out.println("中年人");
            }
            else{
                System.out.println("老年人");
            }

      这个是if语句的应用,结果当然是青年人,没有问题。

      但是,如果分支非常多的话,这样写就很麻烦,所以就出现了下面的switch语句。

    switch语句

      switch语句由一个控制表达式和多个case标签组成。switch语句后面的控制表达式的数据类型可以是:byte、short、char、int四种基本类型,枚举类型java.lang.String类型(从java7才允许)。总共6种。

      例子:

            String season = "夏天";
            switch (season) {
            case "春天":
                System.out.println("春雨沥沥");
                break;
            case "夏天":
                System.out.println("夏日炎炎");
                break;
            case "秋天":
                System.out.println("秋风瑟瑟");
                break;
            case "冬天":
                System.out.println("东雪皑皑");
                break;
            default:
                System.out.println("四季不分");
                break;
            }

      注意:每一个case语句后面都要有一个break,当控制表达式的值不等于任何一个case后面的值时,会进入default分支。

      当然,也有一些情况case后面时不需要break的。看下面的例子:

            char score = 'B';
            switch (score) {
            case 'A':
            case 'B':
                System.out.println("及格");
                break;
            case 'C':
            case 'D':
                System.out.println("不及格");
                break;
            default:
                System.out.println("成绩输入错误");
                break;
            }

      当score是A或B时,都是及格,当是C或D时,都是不及格。

    循环结构

    while语句

      结构如下:

            while (expression) {
                statement;
            }

      其中,expression的结果必须是布尔值。while循环每次执行循环体(statement)之前,都要对expression求值,若值为true,才会进入循环体,否则while循环结束。

      例子:

            int count = 0;
            while (count <= 10) {
                System.out.println(count);
                count++;
            }
            System.out.println("count已结大于10了,现在为11");

      程序打印11次count后,执行最后一句。

    do while循环

      do while循环和while循环的区别在于:while循环线判断循环条件,如果条件为真才执行循环体。do while循环是先执行循环体,再判断循环条件,如果循环体为真,则再执行循环体,如此往复。

      结构如下:

            do {
                statement;
            } while (condition);

      将上面的例子重写:

            int count = 0;
            do {
                System.out.println(count);
                count++;
            } while (count <= 10);
            System.out.println("count已结大于10了,现在为11");

    for语句

      结构如下:

            for(语句1;语句2;语句3){
                循环体
            }

      其执行顺序:

    1. 先执行语句1,并且只执行一次
    2. 执行语句2,语句2 是条件控制语句,结果为布尔值,若为false,循环结束,不会执行语句3和循环体了。
    3. 若语句2的结果为true,则执行循环体
    4. 执行循环体后,会执行语句3
    5. 再执行语句2,如此往复,重复2345

      例子:

            int c = 0;
            for (int i = 0; i < 10; i++,c++) {
                System.out.println("执行循环体"); //打印了10次
            }
            System.out.println(c); //10

      如下语句是合法的,只不过是死循环:

            for(;;){
                System.out.println("我是死循环");
            }

      也就是说语句1、语句2、语句3不是必须的,这个可以根据情况而定。

    控制循环语句

    break语句

      break语句作用是跳出当前循环,如下:

            int c = 0;
            for(;;c++){
                if(c > 10){
                    break;
                }
                System.out.println("我不是死循环");
            }

      本来for语句构成了死循环,但是现在加了break,就不是死循环了,当c>10 时,就会执行break,跳出for循环。

      break 可以用在任何循环语句中,也会用在switch语句中。

    continue语句

      continue语句不会跳出当前循环,只是忽略本次循环。

      例子:

            int c = 0;
            while(c < 10){
                c++;
                if(c == 5){
                    continue;
                }
                System.out.println("执行循环体");
            }

      本来回打印10次”执行循环体“,但是当c等于5时,忽略了本次循环,下面的语句都不会执行了,直接进行下次循环,所以少打印了一次,最后只打印了9次。

  • 相关阅读:
    基于MQTT协议进行应用开发
    shell ss命令
    组播基本概念、IGMP、IGMP监听学习笔记
    关于Android的HAL的一些理解
    Android HAL层与Linux Kernel层驱动开发简介
    YPBPR_PC下图像有毛刺或者水纹干扰的处理办法
    CHAKRA3 UART2
    实际用户ID和有效用户ID (三) *****
    svn使用svnsync实现双机热备
    pyspider介绍及安装
  • 原文地址:https://www.cnblogs.com/gq2blog/p/6112006.html
Copyright © 2020-2023  润新知