06.程序的控制流
程序的控制流
java中三种控制结构:顺序结构、循环结构、选择结构
Java中包括三种循环结构:while循环、do/while循环、for循环
两种选择结构: if结构、switch结构
while
while( 布尔表达式 ) {
//循环内容
} //while格式
do while
do {
//循环内容
} while( 布尔表达式 ); //while格式
for
for(初始化; 布尔表达式; 更新循环控制变量) {
//循环内容
}
- 执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句
- 检测布尔表达式的值。如果为true,循环体被执行。如果为false,循环终止
- 执行循环体后面的语句
- 执行一次循环后,更新循环控制变量
- 再次检测布尔表达式,循环执行上面的过程
-
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语句中的变量类型只能为String、byte、short、int或者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 }
上面的程序:
- 使用了
while结构来循环读入用户输入 - 使用了
if/else结构来分支处理用户的各种命令 - 使用了
break语句来跳出循环 - 使用了
continue语句来结束一次循环
最后在循环外部,程序退出之前,调用了scanner.close()将输入扫描器关闭。这些代码你都弄明白了,Java程序中的控制结构你就基本理解了。
浙公网安备 33010602011771号