Java 的程序逻辑控制

首页 / 新闻资讯 / 正文

在程序开发的过程之中一共会存在三种程序逻辑:顺序结构、分支结构、循环结构,对于之前所编写的代码大部分都是顺序结构的定义,即:所有的程序将按照定义的代码顺序依次执行。

if 分支结构主要是针对于关系表达式进行判断处理的分支操作。对于分支语句主要有三类的使用形式,使用的关键字:if、else。

switch 是一个开关语句,它主要是根据内容来进行的判断,需要注意的是 switch 中可以判断的只能够是数据(int、char、枚举、String),而不能使用逻辑判断。

举例:

  public static void main(String[] args) {         int ch=2;         switch (ch){             case 2:                 System.out.println("设置的内容是2。");             case 1:{                 System.out.println("设置的内容是1。");             }             default:{                 System.out.println("没有内容满足。");             }         }      }      /**       * 输出结果:       * 设置的内容是2。       * 设置的内容是1。       * 没有内容满足。       */      }

switch 语句进行设计的时候,如果你在每一个 case 后面没有追加 break 语句,那么会在第一个匹配的 case 之后继续执行,一直到全部的 switch 中后续代码执行完毕或者遇见 break。

举例:

    public static void main(String[] args) {         int ch=2;         switch (ch){             case 2:                 System.out.println("设置的内容是2。");                 break;             case 1:{                 System.out.println("设置的内容是1。");                 break;             }             default:{                 System.out.println("没有内容满足。");                 break;             }         }      }      /**       * 输出结果:       *设置的内容是2。       */

所谓的循环结构指的是某一段代码被重复执行的处理操作,在程序之中提供有while 语句来实现循环的定义,该语句有两类使用形式:

while 循环:

    public static void main(String[] args) {          int sum = 0;// 保存最终的计算总和          int num = 1;//进行循环控制          while (num <= 100) { //循环的执行条件              sum += num; //累加              num++; //修改循环条件          }          System.out.println(sum);//5050        }

do...while 循环:

    public static void main(String[] args) {          int sum = 0;// 保存最终的计算总和          int num = 1;//进行循环控制          do { //循环的执行条件              sum += num; //累加              num++; //修改循环条件          } while (num <= 100);          System.out.println(sum);//5050        }

while 循环是先判断后执行,而 do...while先执行一次后判断。开发中能见到 do...while循环的几率几乎为1%,99%的情况下首选的肯定是 while 循环。

for 循环也是一种常规的使用结构。

举例:

    public static void main(String[] args) {          int sum = 0;// 保存最终的计算总和          for (int i = 0; i <= 100; i++) {              sum += i; //累加          }          System.out.println(sum);//5050      }

对于 while 和 for 循环的选择只有一个参考标准:

1. 在明确确定循环次数的情况下优先选择 for 循环;

2. 在不知道循环次数但是直到循环结束条件的情况下使用 while 循环;

在循环语句定义的时候还有两个控制语句:break、continue

1. break 主要的功能是退出整个循环结构

举例:

    public static void main(String[] args) {          for (int i = 0; i <10 ; i++) {              if (i==3){                  break;              }              System.out.print(i+" "); //0 1 2          }      }

2. continue 严格来讲只是结束当前的一次调用(结束当前循环)

举例:

    public static void main(String[] args) {          for (int i = 0; i <10 ; i++) {              if (i==3){                  continue;              }              System.out.print(i+" "); //0 1 2 4 5 6 7 8 9          }      }

当执行到了 continue 的时候就表示当前的语句之后后续代码不再执行,而直接进行后续的判断处理。

在一个循环语句之中嵌套其它的循环语句就称为循环嵌套处理,循环嵌套层次越多时间复杂度就越高,那么下面通过循环的嵌套观察两个简单的程序。

举例“:打印乘法口诀表

   public static void main(String[] args) {          for (int i = 1; i <= 9; i++) {              for (int j = 1; j < 10; j++) {                  if (j > i) {                      break;                  }                  System.out.print(j + "*" + i + "=" + (i * j) + " ");              }              System.out.println();          }      }

举例:打印三角形

   public static void main(String[] args) {          for (int i = 0; i <= 9; i++) {              for (int j = 0; j < 9 - i; j++) {                  System.out.print(" ");              }              for (int j = 0; j < 2 * i + 1; j++) {                  System.out.print("*");              }              System.out.println();          }      }

Top