If-else 双选择结构
语法结构:
当布尔表达式为真时,执行语句块1,否则,执行语句块2。也就是else部分
流程图:
如图中所示,条件运算符有时候可用于代替if-else
判断闰年的小案例
根据用户输入的年份,判断该年是平年还是闰年
分析:1.获取用户输入的年份;scanner
* 2.判断该年是平年还是闰年?
* 闰年的判断条件:能被4整除并且不能被100整除,或者能被400整除
if-else if-else多选择结构
语法结构:
当布尔表达式1为真时,执行语句块1;否则,判断布尔表达式2,当布尔表达式2为真时,执行语句块2;否则,继续判断布尔表达式3······;如果1~n个布尔表达式均判定为假时,则执行语句块n+1,也就是else部分
实际操作:
switch多选择结构
switch语句会根据表达式的值从相匹配的case标签处开始执行,一直执行到break语句处或者是switch语句的末尾。如果表达式的值与任一case值不匹配,则进入default语句
当等值判断的情况才能使用switch,而当做区间判断的时候,不能使用switch
break的作用是跳出switch结构,否则会出现case穿透,case可以穿透,利用其可以穿透的特性可以简化代码。
例如:
语法结构:
流程图:
switch语句会根据表达式的值从相匹配的case标签处开始执行,一直执行到break语句处或者是switch语句的末尾。如果表达式的值与任一case值不匹配,则进入default语句
循环结构
循环结构主要分为两种类型:
1.当型
当布尔表达式条件为true时,反复执行某语句,当布尔表达式的值为false时才停止循环,比如:while与for循环。
2.直到型
先执行某语句, 再判断布尔表达式,如果为true,再执行某语句,如此反复,直到布尔表达式条件为false时才停止循环,比如do-while循环。
while循环
在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。
语法结构:
流程图:
实际操作:求1到100之间的累加和
注意:这里的自增量就是让循环能够结束的重要因素,可避免陷入死循环。
操作实例2:计算100--1000之间的水仙花数
注意:print后面的ln起到的是换行的作用,如果去掉,就可以让结果横向显示
do-while循环
do-while循环结构会先执行循环体,然后再判断布尔表达式的值,若条件为真,执行循环体,当条件为假时结束循环。do-while循环的循环体至少执行一次。
语法结构:
do-while总是保证循环体至少会被执行一次
流程图:
操作实例:计算1———100之间的奇数和
统计闰年的个数
for循环
for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。for循环在第一次反复之前要进行初始化,即执行初始表达式;随后,对布尔表达式进行判定,若判定结果为true,则执行循环体,否则,终止循环;最后在每一次反复的时候,进行某种形式的“步进”,即执行迭代因子。
流程:先由初始化部分输出一个赋值后的变量,然后进行条件判断,如果为true则进入循环体,然后执行迭代因子后回到条件判断再次进行判断,知道判断结果为false,结束循环。
语法结构:
流程图:
操作实例:计算1—100之和
1.无论在初始化还是在步进部分,语句都是顺序执行的。
2.尽管初始化部分可设置任意数量的定义,但都属于同一类型。
3.约定:只在for语句的控制表达式中写入与循环变量初始化,条件判断和迭代因子相关的表达式。
初始化部分、条件判断部分和迭代因子可以为空语句,但必须以“;”分开
操作:打印100遍--->"我是最棒的"
此外,对应以上的循环结构,以下有三种情况可会让循环结构进入死循环状态: