java基础第三章------流程控制

1流程控制结构

Java中有三种流程控制结构:顺序结构、选择结构、循环结构

顺序结构:顺序结构指的是程序自上而下一次执行的每条语句,中没有任何的判断和跳转,前面所有的结构都是顺序结构

选择结构:

选择结构根据判断条件的结果来执行不同的代码.Java提供if控制语句、switch语句来实现选择结构

循环结构:

根据判断条件来重复执行某块代码。Java提供、while语句,do-while语句、for语句来实现循环结构

1.if控制语句

if语句的语法格式如下:

if(表达式){

语句块

}

if是java中的关键字

表达式是布尔类型的表达式,其结果是true或false

 

执行步骤:

1.对表达式的结果进行判断

2.如果表达式是真(true),执行语句块

3.如果表达式是假(f

1)使用if语句实现单分支处理

if语句由条件表达式和紧随其后的语句组成,如果if条件表达式后面有多个语句,千万别忘记在多个语句的前后添加一对花括号

注意:

if(表达式){

语句块1;

语句块2;

}

示例1

需求:

请实现如果成绩大于等于60分,就输出“成绩合格,考试通过”;

分析:

从需求上看,条件判断就是大于等于60分

if(成绩>=60){

输出出成绩;考试通过

}

 

实现步骤:

1为了保存成绩的变量score变量赋值

2.使用if语句判断成绩是否大于等于60,如果大于等于60,则输出信息“成绩及格,通过考试”

(2)使用if-else语句实现双分支处理

if-else语句的语法如下:

if(表达式){

语句块

}else{

语句2

}

 

当表达式为true时,执行语句块1;

表达式为false时,执行语句块2

注意:

1.if-else语句由if和紧随其后的else组成

2.else语句不能单独使用,它必须是if语句的一部分,与最近的if语句配对使用

示例2:

 报错

(3).使用多分支if语句实现多分支处理

当多个条件判断时,需要使用多分支语句来解决

多分支if语句的语法格式:

if(表达式1){

语句块1

}else if(表达式2){

语句块2

}else{

语句块3

}

 

多分支语句的执行步骤:

1.对表达式1的结果进行判断

2.如果表达式1的结果为true,则执行语句块1,否则判断表达式2的值

3.如果表达式2的结果为true,则执行语句块2,否则执行语句块3.

注意:

不论多分支if语句中由多少个条件表达式,只会主席那个符合条件的一个,如果没有符合条件的,则才执行else子句中的语句。

示例3

需求:

如果成绩大于等于90分,且小于等于100分,输出“A级”;否则如果大于等于80分,输出“B级”

否则如果大于等于70分,输出“C级”;否则大于等于60分,输出“D级”,低于60分,输出“无所谓无惧”

 

 

实现步骤:

1.保存成绩的变量,变量赋值

2.使用多分支if语句进行判断

注意:

1.在上述的if控制语句中,条件表达式必须是布尔类型的,这是java与c语言和C++的不同之处

2.嵌套if控制语句:

在if控制语句中包含一个或者多个if控制语句,称之为嵌套if控制语句,嵌套if控制语句可以通过外层语句和内层语句的协作,来增强程序的灵活性

嵌套if控制语句的语法格式如下:

if(表达式1){

if(表达式2){

语句1

}else{

语句2

}

}else{

if(表达式3){

语句3

}else{

语句4

}

}

 

嵌套if控制语句的执行过程:

1.对表达式1进行结果判断

2.如果表达式的结果为true,再判断表达2的结果判断。如果表达式2的结果为true,则执行语句1;否则。再判断表达式2的值

3.如果表达式1的结果为false,对表达式3的结果进行判断,如果表达3的结果为true,则执行语句3;

否则,判断表达式4的值

示例4:

需求:

请实现如果今天是周六或者周日,则外出开黑,如果气温再30度以上,去游泳;否则就去爬山

如果今天不是周六或者周日,就要工作·,如果天气好,去客户单位谈业务;否则就在公司上网查资 料。

 

分析:

1.外层的if控制语句来判断是否是工作日

2.内层的if控制语句判断天气状况

实现的步骤:

1.使用if控制语句判断今天是否是周日或者周六

2.如果是周六或者周日,那么进一步去判断气温是否在30度以上

3.如果不是周六周日,那么去判断天气是否好

3.switch语句

java中还提供了switch语句来实现多分支的选择结构,它和多分支if语句结构,在某些情况下,可以相互替换

switch语句语法的格式:

switch(表达式){

case常量1:

语句

break;

case常量2:

语句

break;

........

default:

语句;

break;

}

switch、case、break、default都是java中的关键字

switch的表达式只能是字符型、枚举型、整数型

case用于表达式匹配

default是选择的,当其他不匹配时,执行default

 

注意:

如果case后没有break语句,程序将会继续向下执行,直到遇到break语句或switch语句结束

switch语句执行的步骤:

1.计算switch语句中的表达式的值

2.将计算结果从上至下依次和case常量值进行做比较

3.如果相等就执行该常量后的代码块,遇到break语句后,结束

4.如果与任何case后的常量值都不匹配,就执行default中语句。

示例5:

 

解析:

3.2.1循环结构

Java中循环控制语句:while循环、do-while循环、for循环。循环结构的特点,在给定的条件成立时,反复执行某一段程序,直到条件不成立为止

循环语句的主要的作用:

反复执行某一段程序,直到不满足一定的条件为止:把循环分为3部分:

1.初始化部分:设置循环的初始状态

2.循环体:重复执行的代码

3.循环的条件:判断循环的条件,例如使用"i<100"判断循环的次数是否达到100次

1.while循环

while循环的语法格式:

变量的初始化

while(循环条件){

循环体

}

while也是java中的关键字,小括号的内容是循环条件

循环条件是一个布尔表达式,它的值是true或false

大括号中的语句统称为循环操作,或者叫循环体

 

注意:

while语句是先执行判断循环条件,再执行循环体

如果第一次判断循环条件为false(假),循环将一次不执行

while语句的执行步骤:

1.首先对循环条件的结果进行判断,如果为真,则执行循环语句

2.执行完毕后,继续对循环条件进行判断,如果为真,继续执行

3.如果结果是假(false),跳出循环语句,去执行后面的语句

示例6

需求:

实现:

1+2+3+.....+100的求和计算

实现步骤:

1.首先定义一个变量sum,代表总和,初始值为0;

2.定义循环变量i;依次取1~100之间的每个数,初始值为1

3.当i<=100时,重复进行加法操作,将sum+i的值再赋给sum,每次相加后,将i的值递增

4.当i的值变成101时,循环条件为false,则退出循环,并输出最终的结果

 

2.do-while循环

do-while循环语句的语法格式如下:

变量初始化

do{

循环体

}while(循环条件)

1.do-while以关键字do开头

2.大括号括起来的就是循环体

3.最后while关键字和紧随其后小括号括起来的就是循环条件

 

do-while语句执行的步骤:

1.首先执行循环体

2.执行完毕后,对循环条件的结果进行判断

3.如果结果为真,则继续执行循环体,否则,终止循环,执行后面的语句

注意:

do-while先执行循环体,再执行循环条件,所以循环体至少执行依次,这点和while循环相反

示例7

 

 

两个结果一致

实现步骤:

1.和while语句基本相同,先定义变量sum和变量i并赋值

2.然后执行循环

3.差别是先执行循环体,再判断循环条件,与while语句相反

3.for循环

for循环的语法格式如下:

for(表达式1;表达式2;表达式3){

循环体

}

或者更直观的表示为:

for(变量的初始化;循环条件;修改循环变量的值){

循环体

}

1.for循环以关键字for开头

2.大括号括起来的是循环体

3.表达式1;表达式2;表达式3,分别用来实现变量的初始化,判断循环条件和修改循环变量的值

 

for语句的执行步骤:

1.首次执行表达式1,一般进行变量初始化的操作

2.然后执行表达式2,即对循环条件进行判断

3.如果结果为,则执行循环体

4.循环语句执行完毕后执行表达式3,改变循环的变量的值,再次执行表达式2;

如果结果是真,继续循环

5.如果结果是假,终止循环,执行后面的语句

注意:

1.无论循环多少次,表达式1只执行1次

2.for语句和while语句功能相似,都是先判断条件再执行,只是采用了不同的语法格式

示例8

需求:

输入一个学生的姓名和他五门课的成绩,求出平均值,输出结果

 

实现步骤:

1.获得键盘输入一名学生的名字

2.获得键盘输入这名学生的5门课的成绩,因为5门课,也就是固定了循环次数5次,首选for循环

循环操作接收该学生的每门课的成绩,并累加,以获得5门课的总成绩

3.求出平均分在控制台上输出结果

4.多重循环

多重循环指一个循环体中再包含一个循环语句,又称之为嵌套循环。循环语句内可以嵌套多层循环,同时不同的循环语句可以相互嵌套

多重循环的语法格式:

while(循环条件1){

循环语句1

for(循环条件2){

循环语句2

}

}

1.这是while循环语句和for循环语句嵌套的例子,其中while循环称之为外层循环,for循环称之为内层循环,因为是两层循环,称为二重循环

2.该二重循环执行的过程:外层while循环每循环依次,内层for循环就从头到尾完整的执行一遍

示例9

需求:

计算若干个学生每人5门课程的平均分

1.循环接收一个学生的5门课成绩,求出平均分

2.使用多重循环

 

分析:

在上述需求中,外循环一次处理一个学生的姓名和录入平均分计算,内循环处理每个学生的5门课成绩,也就是说,外循环每执行一次,内循环执行5次

5.循环的对比

1.语法格式的不同

2.执行的顺序不同:

(1).while循环:先判断循环条件,再主席那个循环体,如果条件不成路,退出循环

(2).do-while循环:先执行循环体,再判断循环条件,循环体至少执行一次

(3).for循环:先执行变量初始化部分,再判断循环条件,然后执行循环体,最后进行循环变量的计算

如果条件不成立,跳出循环

3.适用的场景不同:

在解决问题的时候,对于循环次数确定的情况下,我们使用for循环,对于循环次数不确定的情况下,通常选用while和do-while循环

3.2.2跳转语句

Java语言中支持3种类型的跳转语句:continue语句、return语句,break;使用这些语句,可以把控制转移到循环甚至程序的其他地方。

1.break语句

作用:在循环种终止当前循环,在switch语句中终止switch语句

示例10

需求:

请实现输出数字1-10,若遇到4的倍数程序自动退出

 

示例11

需求:

用户输入字符串并进行显示,直到输入“bye”为止,请使用break语句实现

注意:

Java中判断两个字符串是否相等,用equals()判断两个字符串的值是否相等,用“==”比较判断内存地址是否相等

示例12:

2.continue语句

作用:

强制循环提前返回,也就是让循环跳过本次循环中剩余代码,然后进入下次循环

注意:

示例14:

需求:

实现输出1-10中非4的倍数的输出

分析:

执行程序,将输出“1,2,3,4,5,6,7,8,9,循环结束”。结果中应该没有4和8

2.当i=4,i=8,满足条件,执行continue语句并没有终止整个循环,而是终止本次循环,不再执行

continue语句后的输出语句

 

 

注意:

在while循环和do-while循环中,continue执行完毕后,程序将直接判断循环条件,如果为true,则继续下次循环,否则,终止循环,而在for循环中continue使用程序先跳转到循环变量计算部分,然后再判断循环条件(理解为终止本次循坏)

3.return语句

alse),则跳过该语句块

跳出了整个语句块;

如果是break

还会输出“0000”

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值