文章目录
- 引言
- 一、顺序控制
- 二、分支控制(if,else,switch)
- 2.1 if 单分支
- 2.2 if 双分支
- 2.3 if 多分支
- 2.4 if 嵌套分支
- 2.5 switch分支结构
- 2.6 switch和if的比较
- 三、循环控制(for,while,dowhile,多重循环)
- 3.1 for循环控制
- 3.2 while循环控制
- 3.3 do..while循环控制
- 3.4 多重循环控制
- 四、break
- 五、continue
- 六、return
- 七、课后题
- 7.1 九九乘法表
- 7.2 经典打印金字塔
- 7.3 break练习
- 八、细节知识
- 8.1 使用boolean的赋值表达式作为if的条件语句
- 8.2 switch的细节知识
- 8.3 break细节知识
引言
- 在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句
- 顺序控制
- 分支控制
- 循环控制
一、顺序控制
二、分支控制(if,else,switch)
2.1 if 单分支
2.2 if 双分支
2.3 if 多分支
2.4 if 嵌套分支
2.5 switch分支结构
- switch的执行流程图
注意:如果case的程序块最后没有break
则跳过其后的case判断直接按顺序执行其后的代码块
,这种现象称之为 穿透
- switch的细节讨论
2.6 switch和if的比较
三、循环控制(for,while,dowhile,多重循环)
3.1 for循环控制
- 基本介绍:听其名知其意,就是让你的代码可以循环的执行.
- 基本语法
public class For01{
public static void main(String[] args){
// 使用for循环控制
for(int i = 1;i <= 10;i++){
System.out.println("你好,韩顺平教育"+i);
}
}
}
-
for循环流程图
-
for循环控制的注意事项和细节说明
public class ForDetail{
public static void main(String[] args){
int i = 1; // 循环变量初始化,申明在此处可在循环代码块外部被使用
for(;i <= 10;){
System.out.println("Hello,韩顺平教育" + i);
i++;
}
System.out.println("i=" + i); // 11
for(;;){ // 表示无限循环,死循环
}
}
}
3.2 while循环控制
-
基本语法
-
while循环流程图
public class While01{
public static void main(String[] args){
int i = 0; // 循环变量初始化
while(i<10){
System.out.println("你好,韩顺平" + i);// 执行语句
i++; // 循环变量迭代
}
System.out.println("退出while,继续..");
}
}
- while循环的注意事项和细节说明
3.3 do…while循环控制
-
基本语法
-
do … while循环流程图
public class DoWhile01{
public static void main(String[] args){
int i = 1; // 循环变量初始化
do{
// 循环执行语句
System.out.println("你好,韩顺平教育" + i);
i++;
}while(i<=10);
}
}
- do … while的注意事项和细节说明
3.4 多重循环控制
四、break
-
基本介绍
-
break注意事项和细节说明
五、continue
-
基本介绍
-
细节案例分析和说明
六、return
- 基本介绍
七、课后题
7.1 九九乘法表
import java.util.Scanner;
public class Test{
public static void main(String[] args){
for(int i = 1;i<=9;i++){
for(int j = 1;j<=i;j++){
System.out.print(j + "*" + i + "=" + (i*j) + '\t');
}
System.out.print("\n");
}
}
}
7.2 经典打印金字塔
public class Test{
public static void main(String[] args){
// 实心三角
int layer = 6;
for(int i = 0;i<layer;i++){
for(int j = 0;j < 2 * layer - 1;j++){
if(j >= layer - 1 - i && j <= layer - 1 + i){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.print("\n");
}
// 空心三角
int layer = 6;
for(int i = 0;i<layer;i++){
for(int j = 0;j < 2 * layer - 1;j++){
if(j == layer - 1 - i || j == layer - 1 + i || i == layer - 1){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.print("\n");
}
}
}
7.3 break练习
import java.util.Scanner;
public class Test{
public static void main(String[] args){
// 练习题2
String userName;
String password;
Scanner scanner = new Scanner(System.in);
int times = 3; // 剩余机会
for(;times>0;){
System.out.print("请输入用户名:");
userName = scanner.next();
System.out.print("请输入密码:");
password = scanner.next();
if(userName.equals("丁真") && password.equals("666")){
System.out.println("登录成功!");
break;
}else{
times--;
System.out.println("用户名或密码错误!!!,还剩" + times + "次机会");
}
}
}
}
八、细节知识
8.1 使用boolean的赋值表达式作为if的条件语句
8.2 switch的细节知识
注意:如果case的程序块最后没有break
则跳过其后的case判断直接按顺序执行其后的代码块
,这种现象称之为 穿透
8.3 break细节知识
- Java中使用break跳出循环时,可以指定为各层指定标签,并使用break直接跳出指定标签层的循环