程序控制结构(一)

1、程序流程控制介绍

在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句。

  1. 顺序控制
  2. 分支控制
  3. 循环控制

2、顺序控制

在这里插入图片描述

3、分支控制 if-else

3.1分支控制 if-else 介绍

让程序有选择的的执行,分支控制有三种:

  1. 单分支 if
  2. 双分支 if-else
  3. 多分支 if-else if -…-else
3.1.1 单分支

在这里插入图片描述

public class If01 {
//编写一个 main 方法
	public static void main(String[] args) {
	//编写一个程序,可以输入人的年龄,如果该同志的年龄大于 18 岁
	//则输出 "你年龄大于 18,要对自己的行为负责,送入监狱"
	
	//思路分析
	//1. 接收输入的年龄, 应该定义一个 Scanner 对象 
	//2. 把年龄保存到一个变量 int age
	//3. 使用 if 判断,输出对应信息
	//应该定义一个 Scanner 对象
	Scanner myScanner = new Scanner(System.in); 
	System.out.println("请输入年龄"); 
	//把年龄保存到一个变量 int age
	int age = myScanner.nextInt();
	//使用 if 判断,输出对应信息 
	if(age > 18) {
		System.out.println("你年龄大于 18,要对自己的行为负责,送入监狱"); 
	}
	System.out.println("程序继续...");
	} 
}

在这里插入图片描述

3.1.2 双分支

在这里插入图片描述

public class If02 {
	//编写一个 main 方法
	public static void main(String[] args) {
	//编写一个程序,可以输入人的年龄,如果该同志的年龄大于 18 岁
	//则输出 "你年龄大于 18,要对
	//自己的行为负责, 送入监狱"。否则 ,输出"你的年龄不大这次放过你了."
	
	//思路分析
	//1. 接收输入的年龄, 应该定义一个 Scanner 对象 
	//2. 把年龄保存到一个变量 int age
	//3. 使用 if-else 判断,输出对应信息
	//应该定义一个 Scanner 对象
	Scanner myScanner = new Scanner(System.in);
	 System.out.println("请输入年龄"); 
	 //把年龄保存到一个变量 int age
	int age = myScanner.nextInt();
	//使用 if-else 判断,输出对应信息
	if(age > 18) {
		System.out.println("你年龄大于 18,要对自己的行为负责,送入监狱"); 
	} else {//双分支
		System.out.println("你的年龄不大这次放过你了"); 
	}
	System.out.println("程序继续...");
	} 
}

在这里插入图片描述

3.1.3 多分支

在这里插入图片描述
多分支的流程图(重要!)

在这里插入图片描述

4、 嵌套分支

4.1 基本介绍

在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支的结构称为内层分支外面的分支结构称为外层分支。

4.2 基本语法

在这里插入图片描述

5、switch 分支结构

5.1 基本语法

在这里插入图片描述

5.2 流程图

在这里插入图片描述

5.3 快速入门

public class Switch01 {
	//编写一个 main 方法
	public static void main(String[] args) {
	/*
	案例:Switch01.java 请编写一个程序,
	该程序可以接收一个字符,比如:a,b,c,d,e,f,g 
	a 表示星期一,b 表示星期二 ... 
	根据用户的输入显示相应的信息.
	要求使用 switch 语句完成
		思路分析
	1. 接收一个字符 , 创建 Scanner 对象
	2. 使用 switch 来完成匹配,并输出对应信息 代码
	*/
	Scanner myScanner = new Scanner(System.in); 
	System.out.println("请输入一个字符(a-g)");
	char c1 = myScanner.next().charAt(0);
	//在 java 中,只要是有值返回,就是一个表达式 
	switch(c1) {
		case 'a' :
		     System.out.println("今天星期一,猴子穿新衣");
			 break; 
		case 'b' :
			System.out.println("今天星期二,猴子当小二");
			break; 
		case 'c' :
			System.out.println("今天星期三,猴子爬雪山..");
			break; 
		//.....
		default: 
			System.out.println("你输入的字符不正确,没有匹配的");
	}
	System.out.println("退出了 switch ,继续执行程序"); 
	}
}

5.4switch 注意事项和细节讨论

在这里插入图片描述

5.6switch 和 if 的比较

  1. 如果判断的具体数值不多,而且符合byte、short、int、char,enum[枚举],String这6种类型。虽然两个语句都可 以使用,建议使用 swtich 语句。
  2. 其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广

6、for 循环控制(!!!)

6.1 基本语法

在这里插入图片描述

  1. for 关键字,表示循环控制
  2. for 有四要素: (1)循环变量初始化(2)循环条件(3)循环操作(4)循环变量迭代
  3. 循环操作 , 这里可以有多条语句,也就是我们要循环执行的代码
  4. 如果 循环操作(语句) 只有一条语句,可以省略 {}, 建议不要省略

6.3 for 循环执行流程分析

在这里插入图片描述

6.4 注意事项和细节说明

  1. 循环条件是返回一个布尔值的表达式
  2. for(;循环判断条件;) 中的初始化和变量迭代可以写到其它地方,但是两边的分号不能省略。
  3. 循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开。

7、while 循环控制

7.1 基本语法

在这里插入图片描述

7.2while 循环执行流程分析

在这里插入图片描述

7.3 注意事项和细节说明

  1. 循环条件是返回一个布尔值的表达式
  2. while 循环是先判断再执行语句

8、do…while 循环控制

8.1 基本语法

循环变量初始化;
do{
循环体(语句);
循环变量迭代;
}while(循环条件);

8.2 注意事项

  1. do while 是关键字
  2. 也有循环四要素, 只是位置不一样
  3. 先执行,再判断,也就是说,一定会至少执行一次
  4. 最后有一个分号 ;

8.3 do…while 循环执行流程分析

在这里插入图片描述

8.4 注意事项和细节说明

  1. 循环条件是返回一个布尔值的表达式
  2. do…while 循环是先执行,再判断, 因此它至少执行一次

9、多重循环控制(难点! 重点!)

9.1 介绍

  1. 将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for,while,do…while均可以作为外层循环和内层循环。 【建议一般使用两层,最多不要超过 3 层, 否则,代码的可读性很差】
  2. 实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内 层循环,才可结束外层的当次循环,开始下一次的循环[听不懂,走案例]
  3. 设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n次。
    在这里插入图片描述
    本博客引用韩顺平老师Java课程
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值