06.程序的控制流

程序的控制流

java中三种控制结构:顺序结构、循环结构、选择结构

Java中包括三种循环结构:while循环、do/while循环、for循环

两种选择结构: if结构、switch结构


 

while

while( 布尔表达式 ) {
	//循环内容
}                                       //while格式

 

do while

do {
	//循环内容
} while( 布尔表达式 );                      //while格式

for

for(初始化; 布尔表达式; 更新循环控制变量) { //循环内容 }
  1. 执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句
  2. 检测布尔表达式的值。如果为true,循环体被执行。如果为false,循环终止
  3. 执行循环体后面的语句
  4. 执行一次循环后,更新循环控制变量
  5. 再次检测布尔表达式,循环执行上面的过程
  6. String[] sentences = {"hello", "thank u", "thank u very much"};
    for (int index = 0; index < sentences.length; index++) {
        System.out.println(sentences[index]);
    }

    我们可以采用如下方式进行简化:

    String[] sentences = {"hello", "thank u", "thank u very much"};     
    for (String sentence : sentences) {
        System.out.println(sentence);
    }//叫什么来着忘了

 

whitch

int sum = 0;
for(int i = 0; i <= 100; i++) {
    int result = i % 2;
    switch (result) {
        case 0:
          sum += i;
          break;
   //     case 1:
     //     break;
default:
System.out.println("worinima"); } }
  • switch语句中的变量类型只能为Stringbyteshortint或者char
  • case语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
  • switch语句可以包含一个default分支,该分支必须是switch语句的最后一个分支。default在没有case语句的值和变量值相等的时候执行。default分支不需要break语句。
default就是当变量的取值不在上面任何一个case的情况下,语句要做处理,其实也是一种case,只不过就是指“除了指定的几个case以外的其他情况”,如上就会出现50个worinima。


break

break也可以以跳出当前循环


 

continue

continue用于在循环控制结构中,让程序立刻跳转到下一次循环

1。在for循环中,continue语句使程序立即跳转到控制变量更新语句。

2.在while或者do/while循环中,程序立即跳转到布尔表达式的判断语句。

int sum = 0;
for(int i = 0; i <= 100; i++) {
    if (i % 2 == 1) {
        continue;  // 如果是奇数,则立刻跳转到下一次循环,不做累加
    }
    sum += i;
}                                                       //累加到一百的continue形式

 

return

return也表示无条件分支,它包含两种用途:

  • return后面跟一个值或者变量,指定一个方法的返回值
  • 单独的return;语句,后面不跟任何值或者变量,表示退出当前方法
    1 int sum = 0;
    2         for(int i = 1; i <= 100; i++) {
    3             if (i % 4 == 0) {
    4                break/return;  // 如果是奇数,则立刻跳转到下一次循环,不做累加
    5             }
    6             sum += i;
    7             System.out.println(sum);
    8         }
    9         System.out.println(sum);

     比如break输出两个6  如果是return  只会输出一个6,因为i=4时候函数结束了,不会往下边执行了


 

总结

接下来我们来设计一下博客应用,让它可以管理博客。

用户可以输入以下命令:

命令功能
create 创建博客
list 显示博客列表
show 显示博客内容
delete 删除博客
exit 推出程序

我们这里通过各种控制结构,先把代码骨架建立起来,具体的功能,我们后面再来逐一实现。

 1 package com.tianmaying;
 2 
 3 import java.util.Scanner;
 4 
 5 public class BlogApp {
 6     public static void main(String[] args) {
 7         Scanner scanner = new Scanner(System.in);
 8         while (true) { // 1
 9             String command = scanner.next();
10             System.out.println(command);
11 
12             if (command.equals("exit")) { // 2
13                 break; // 3
14             } else if (command.equals("create")) {
15                 // 处理创建博客的逻辑
16             } else if (command.equals("list")) {
17                 // 处理显示博客列表的逻辑
18             } else if (command.equals("show")) {
19                 // 处理显示博客内容的逻辑
20             } else if (command.equals("delete")) {
21                 System.out.println("开始删除,请稍后");// 处理删除博客的逻辑
22             } else {
23                 continue; // 4
24             }
25         }
26         scanner.close();
27     }
28 }

 

上面的程序:

  1. 使用了while结构来循环读入用户输入
  2. 使用了if/else结构来分支处理用户的各种命令
  3. 使用了break语句来跳出循环
  4. 使用了continue语句来结束一次循环

最后在循环外部,程序退出之前,调用了scanner.close()将输入扫描器关闭。这些代码你都弄明白了,Java程序中的控制结构你就基本理解了。

 

posted on 2018-01-29 22:18  婴儿学步  阅读(138)  评论(0)    收藏  举报