顺序结构:
代码从上往下,逐行依次执行。是程序执行的默认结构
分支结构:
程序在某一个节点遇到了多种向下执行的可能性,根据条件,选择一个分支继续 执行。
循环结构:
某一段代码需要被重复执行多次。
一、顺序流程
顺序结构的程序设计是最简单的,只要按照问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。
二、分支流程控制
1、分支结构的概念
对于要先做判断再选择的问题我们要使用分支结构。分支结构的执行是依据一定的条件选择执
行路径,而不是严格按照语句出现的物理顺序。分支结构的程序设计方法的关键在于构造合适 的分
支条件和分析程序流程,根据不同的程序流程选择适当的分支语句。分支结构适合于带有 逻辑或关
系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据 程序流程写出
源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。
2、流程控制
分支 if-else 的使用
分支 - if :
if语句有四中种使用形式:
if(条件){…}
if (/* 条件判断 true or false */) {
// 条件结果为true执行大括号以内的语句
}
/*执行流程: 代码运行到if分支结构,
首先判断if之后的条件是否为true,如果为true,
执行大括号 里面的语句,如果为false直接执行大
括号之外的语句, */
示例1:java成绩如果大于60,奖励一颗糖
//成绩如果大于60 给奖励
int score = 10;
if(score>60){
System.out.println("给颗糖");
}
if(条件){…}else{…}
if (condition) {
// 代码段1
}else {
// 代码段2
}
/*
逻辑: condition是一个boolean类型的变量, 或者一个boolean结果的表达式. 如果condition
的值为true, 则代码段1执行, 否则, 代码段2执行
*/
举例:成绩大于60分合格,否则不合格
if (score >= 60) {
System.out.println("成绩及格了!");
}else {
System.out.println("成绩不及格!");
}
if(条件){…}else if(条件){…}else{…}
if (condition1) {
// 代码段1
}else if (condition2) {
// 代码段2
}else {
// 代码段3
}
/*
逻辑: 先判断condition1, 如果condition1成立, 执行代码段1; 如果condition1不成立, 再判断
condition2, 如果condition2成立, 执行代码段2, 否则执行代码段3
*/
举例 : 成绩小于60的合格,合格中的小于80分为良,否则为优
if (score < 60) {
System.out.println("成绩不及格!");
}else if (score < 80) {
System.out.println("良!");
}else {
System.out.println("优!");
}
if(条件){ if(条件){...} } else {...}
if(条件1) {
if(条件2) {
// 代码块1
} else {
//代码块2
}
} else {
//代码块3
}
举例:
如果成绩大于
90
如果是男生 送个女朋友, 如果是女生送个男朋友,小于90的什么都不送。
if(score>90){
if(c=='男'){
System.out.println("给送个女朋友");
}else{
System.out.println("给送个男朋友");
}
}else{
System.out.println("什么都没有送哦");
}
分支 switch-case 的使用
![](https://img-blog.csdnimg.cn/20210515125513762.png)
switch的基础语法
switch(表达式expr){//int,byte,short,char,enum,String
case const1:
statement1;
break;
case const2:
statement2;
break;
… …
case constN:
statementN;
break;
default:
statement_dafault;
break;
}
程序逻辑:
检测某一个变量的值, 从上往下依次与每一个case进行校验、匹配 如果变量的值和某一个case
后面的值相同,
则执行这个
case
后的语句 如果变量的值和每一个case
都不相同,则执行
default
后的语句
switch
的语法规则
1.
表达式
expr
的值必须是下述几种类型之一:
byte
、
short
、
int
、
char
、
enum(
枚举
)
;
java7
之后可以是
String
。
1. case
子句中的值
const
必须是常量值
(
或
final
的变量
)
,
case
中的值不能是一个范围
2.
所有
case
子句中的值应是不同的
,
否则会编译出错;
3. default
子句是可选的(不是必须的)
4. break
语句用来在执行完一个
case
分支后使程序跳出
switch
语句块;否则会继续执行下去
举例:
int i=1;
switch(i){
case 1:
System.out.println("Hello World!");
break;
case 2:
System.out.println("Hello World!2");
break;
case 3:
System.out.println("Hello World3");
break;
default:
System.out.println("Haaaa");
break;
}
switch的穿透性:
指的是, 当switch的变量和某一个case值匹配上之后, 将会跳过后续的case或者default的
匹配,直接向后穿透
![](https://img-blog.csdnimg.cn/20210515130623966.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0N5QXVyb3Jh,size_16,color_FFFFFF,t_70)
为了杜绝穿透, 可以使用关键字 break:
![](https://img-blog.csdnimg.cn/20210515130656873.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0N5QXVyb3Jh,size_16,color_FFFFFF,t_70)
三、循环流程结构
1、循环结构的概念
循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。它由循环体中
的条件,判断继续执行某个功能还是退出循环。根据判断条件
,
循环结构又可细分为以下两种形
式
:
先判断后执行的循环结构和先执行后判断的循环结构
.
循环结构可以看成是一个条件判断语
句和一个向回转向语句的组合。
2、循环结构的三要素
循环结构的三个要素:循环变量、循环体和循环终止条件
3、循环控制
for循环
![](https://img-blog.csdnimg.cn/20210515131252651.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0N5QXVyb3Jh,size_16,color_FFFFFF,t_70)
//实操代码
for(int i=0; i< 10; i++){
System.out.println("当前循环变量的值是" + i);
}
/*
第一步:执行 int i=0;
第二步:执行 i<10;(此时 i值为0) 结果为true,所以程序继续执行第三步
第三步:执行 System.out.println("当前循环变量的值是" + i); 打印输出
第四步:执行 i++ (执行后 i值为 1)
第五步:执行(回到第二步执行)i<10;
(此时 i值为1) 表达式结果依然为 true,所以程序
继续(执行三到五步,直到某次第二步的语句结果为false ,程序结束) */
while循环
![](https://img-blog.csdnimg.cn/20210515131923387.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0N5QXVyb3Jh,size_16,color_FFFFFF,t_70)
while语句由关键字 while 小括号 大括号 以及相关语句组成 基本格式如下:
while(条件表达式){
循环体
}
条件表达式:循环终止的判断条件语句(相当于for循环的 表达式2),
要求为布尔表达式, 也就是结果为真或假值 比如 i < 10; 循环体:n行循环要执行的语句
// 初始化部分
int count = 0;
// 2循环条件
while(count<5){
//3循环体
System.out.println("我爱编程");
//4更新循环变量
count++;
}
do-whil循环
![](https://img-blog.csdnimg.cn/20210515132723869.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0N5QXVyb3Jh,size_16,color_FFFFFF,t_70)
do-whilh的基本语法
//do-while语句由 do关键字 大括号 while关键字 小括号号和相关语句组成
//基本格式如下:
do{
//循环体
}while(条件表达式);
do-while循环的特点和注意事项
1.do-while循环为先执行后判断,也就是先执行一次循环体中的代码,
然后再检查条件表达 式,所以do-while循环至少会执行一次
2.其它特点和while循环一样
while 和 do-while的区别
1.while 先执行循环条件,然后在执行循环体,一句话:先判断,再执行
2.do/while 先执行循环体 然后在执行循环条件,一句话:先执行,再判断
当第一次 就不满足循环条件的情况下
while
循环不能执行循环体
, do while
可以执行
多重循环
多重循环的基本概念:
1.概念:多重循环就是指 在循环内嵌套其它循环,和选择语句嵌套类似,嵌套几层就是几重循
环,最常见的为双重和三重
2.
说明:外层循环执行一次,它的内层循环执行一轮(也就是内循环正常循环一遍结束)
多重循环的执行流程:
第一步
:
从外层循环开始执行 先执行一次进入循环体(里面包括内层循环)
第二步
:
遇到内层循环,开始正常执行,直到内循环循环结束
第三步
:
继续外循环的下一次循环(回到第一步)
break和continue的使用
break:
1.作用:break语句用于终止某个语句块的执行
2.用法:如果是循环中,作用为跳出所在的循环,如果是在switch语句中,则为跳出所在的 switch语句
3.其它说明:使用Lable标签实现跳出指定的循环
continue:
1.
作用:跳过本次循环,执行下一次循环(如果有多重循环,默认继续执行离自己最近的循
环)提前终止本次循环
2.
使用:只能在循环结构中使用
3.
其它说明:使用
Label
标签改变继续执行的循环