流程控制语句
-
默认情况下,程序一般都是从上往下依次运行每一行代码,但是这样并不能满足我们所有的开发需求
比如:我们需要当某个条件满足时我们去做另外的事,不满足我们就不做
-
实际开发中的需求
我们需要根据不同的条件执行不同的代码或者重复执行某一段代码
为方便我们控制程序的运行流程,Java提供了3种流程结构,不同的流程结构可以实现不同的运行流程
这三种流程结构分别是:顺序,选择,循环三种基本控制结构
- 顺序结构:默认的流程结构,按照书写顺序从上至下执行每一行代码
- 选择结构:对给定的条件进行判断,再根据判断结果决定执行哪一行
- 循环结构:在给定条件成立的情况下,反复执行某一段代码
选择结构之if
-
单if语句
如果条件表达式为真,执行语句块1,否则不执行
-
if…else语句
如果条件表达式为真,则执行语句块1,否则执行语句块2
-
if…else if…else语句
如果条件表达式为真,则执行语句块1,
否则判断条件表达式2,如果为真则执行语句块2,
否则判断条件表达式3……若所有条件表达式都不满足,则会执行最后一个else语句块
-
注意点
如果只有一条语句时,if后面的大括号可以省略
;分号也是一条语句,空语句
if else是一个整体,else匹配if的时候匹配离它最近的一个if
if语句可以嵌套使用
-
if语句与三元运算
-
常规操作:
从键盘输入一个整数,判断其是否是偶数,如果是偶数就输出YES
求出不及格(60分以下),良好(>=60 <90),优秀(>=90)
接收用户输入的一个整数月份,根据月份输出对应的季节
从键盘输入一个年份,判断是否是闰年,如果是就输出YES
从键盘输入3个整数,排序后输出
选择结构之switch
-
语法格式、语句特点
switch(条件表达式){ case 表达式1: 语句1; break; case 表达式2: 语句2; break; case 表达式n: 语句n; break; default: 语句n+1; break; }
计算条件表达式的值,并逐个与case后面表达式的结果值比较
当条件表达式的值与某个表达式的值全等时,执行其后的语句,并且不会再与其他表达式case进行比较
如果条件表达式的值与所有case后的表达式均不相同时,则执行default后的语句
-
注意事项
switch只要匹配一次,其他的都会失效,包括default
在case语句最后增加break语句,使每次执行之后均可跳出switch语句,从而避免输出不应有的结果
default的位置问题,default可以省略,可以写在switch语句中的任意位置
-
char在switch中的使用
-
字符串在switch中的使用
循环结构
循环结构是程序中一种很重要的结构,其特点是在给定条件成立时,反复执行某程序段,直到条件不成立为止
-
循环语句while
while(条件表达式){ 语句1; 语句2; … }
2、执行流程:
判断表达式是否为真,如果为真执行后面大括号中的内容
执行完毕再次判断条件表达式是否为真,如果为真执行后面大括号中的内容
一直重复上述过程,直到条件不成立时结束while循环
3. 构成循环结构的几个条件
循环控制条件(条件表达式):循环退出的主要依据,来控制循环到底什么时候退出
循环体(while后的大括号):循环过程中重复执行的代码
循环结束语句(递增、递减、break等):能够让循环条件为假的依据
-
while循环特点:
如果while中的条件一开始就不成立,那么循环体中的语句永远不会执行
循环体中如果只有一条语句,则可以省略大括号
-
whlie循环练习题
打印1~100的数
打印1~100的偶数和
循环语句其他特性
-
break关键字
跳出switch语句
跳出单层循环语句
break后的语句永远不会执行
-
continue关键字
结束本次循环,进入下一次循环
continue后的语句永远不会执行
无法用于switch中
-
循环注意点
死循环:条件表达式永远为真,循环永远无法结束,我们称之为死循环
循环结构之do-while
-
语法
do{ 语句1; 语句2; … }while(条件);
-
特点
循环体无论如何都会执行一次
-
练习
打印1~100的数
打印1~100的偶数和
循环结构之for
- for循环
for循环语句最为灵活,不仅可以作用于循环次数已经确定的情况,
而且还可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句
-
语法
for(初始化表达式;循环条件表达式;循环后的操作){ 执行语句 }
- for循环开始时,会先执行初始化表达式,而且在整个循环过程中,执行性一次初始化表达式
- 接着判断循环条件表达式是否为真,如果条件为真,就会执行循环体中的语句
- 循环体执行完毕后,接下来会执行循环后的操作表达式
- 执行完循环后操作表达式,然后再次判断循环条件表达式是否为真,如果条件为真,则继续执行循环体中的语句
- 重复上述过程,直到条件不成立就结束for循环
-
for循环和while循环该如何选择
一般情况下while和for循环可以互换,但是如果执行完毕之后就不需要使用循环中的增量,那么使用for会更适合
课后作业
-
求1…100的和
-
用两种方式实现:输入一个分数,输出对应的级别(>=90 优秀,>=60 及格、不及格)
- 三元运算符
- if判断
-
九九乘法口诀输出:双层循环
-
实现菱形打印
-
打印100~1000的水仙花数
水仙花数:严格来讲是指一个3 位数 ,它的每个位上的数字的 3 次幂之和等于它本身。(例如:1的3次方+ 5的3次方 + 3的3次方 = 153)
-
找出2~100中的素数
素数分析:比1大的整数中,除了1和它本身以外,不再能够被别的数整除,这种整数叫做质数或素数,如157