前言
前面已经学习了java的基本语法,现在学习一下,java的流程控制语句
一、顺序结构
顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
执行流程图:
二、分支结构
1.if语句格式1
格式:
if (关系表达式) {
语句体;
}
执行流程
①首先计算关系表达式的值
②如果关系表达式的值为true就执行语句体
③如果关系表达式的值为false就不执行语句体
④继续执行后面的语句内容
流程图:
2.if语句格式2
格式:
if (关系表达式) {
语句体1;
} else {
语句体2;
}
执行流程:
①首先计算关系表达式的值
②如果关系表达式的值为true就执行语句体1
③如果关系表达式的值为false就执行语句体2
④继续执行后面的语句内容
流程图:
3.if语句格式3
格式:
if (关系表达式1) {
语句体1;
} else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
执行流程
①首先计算关系表达式1的值
②如果值为true就执行语句体1;如果值为false就计算关系表达式2的值
③如果值为true就执行语句体2;如果值为false就计算关系表达式3的值
④…
⑤如果没有任何关系表达式为true,就执行语句体n+1。
流程图:
4.switch语句格式
格式:
switch (表达式) {
case 1:
语句体1;
break;
case 2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
格式说明:
表达式
取值为:byte,short,int,char;jdk5以后可以是枚举,jdk7以后可以是String。
case
后面跟的是要与表达式比较的值。
break
表示中断,结束的意思,用来结束switch语句。
default
表示所有情况都不匹配的时候,执行该处的内容,和if语句中的else类似。
执行流程:
首先计算出表达式的值。
然后和case依次比较,一旦有对应的值,就执行相应的语句体,在执行中遇见break就结束。
最终,如果没有case值与之对应,则致信default语句体部分,然后结束。
注意:
在default部分的break是可以省略不写的。
如果switch中得case,没有对应break的话,则会出现case穿透的现象。
case穿透现象是指在运行完语句体之后,没有break,他会不判断下一个case,直接执行下面的语句体,直到遇见break停止,或者走完整个switch语句结束。
三、循环结构
循环结构的特征1.重复做某件事情.2具有明确的开始和停止标志。
1.循环结构的组成
初始化语句: 用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样。
条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去。
循环体语句: 用于表示循环反复执行的内容,简单说就是循环反复执行的事情。
条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去。
2.循环体对应的语法
初始化语句: 这里可以是一条或者多条语句,这些语句可以完成一些初始化操作
条件判断语句:这里使用一个结果值为boolean类型的表达式,这个表达式能决定是否执行循环体。例如:a<3
循环体语句: 这里可以是任意语句,这些语句将反复执行。
条件控制语句:这里通常是使用一条语句来改变变量的值,从而达到控制循环是否继续向下执行的效果。常见i++,i--这样的操作。
3.for循环语句
格式:
for (初始化语句;条件判断语句;条件控制语句) {
循环体语句;
}
执行流程:
①执行初始化语句
②执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续
4.while循环语句
格式:
初始化语句;
while (条件判断语句) {
循环体语句;
条件控制语句;
}
执行流程:
①执行初始化语句
②执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续
5.do…while循环语句
格式:
初始化语句;
do {
循环体语句;
条件控制语句;
}while(条件判断语句);
执行流程:
① 执行初始化语句
② 执行循环体语句
③ 执行条件控制语句
④ 执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
⑤ 回到②继续
6.三种循环的区别
for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)。
do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)。
for循环与while循环的区别:
条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了。
条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用。
7.死循环
for(;;){}
while(true){}
do {} while(true);
8.跳转控制语句
break
用在循环中,基于条件控制,终止循环体内容的执行,也就是说结束当前的整个循环。
continue
用在循环中,基于条件控制,跳过某次循环体内容的执行,继续下一次的执行
注意 continue只能在循环中进行使用!
9.循环嵌套
在循环中继续定义循环。
整个内循环就相当于外循环的一个语句体。
内循环执行完成后外循环才会继续循环。
最终结论:外循环循环一次,内循环循环一圈。
四、Random
作用:可以生成一个随机数
使用步骤:
1导包
import java.util.Random;
2创建对象
Random r = new Random();
3获取随机数
int num = r.nextInt(10);
注意:10代表的是一个范围,如果括号写10,产生的随机数就是0-9,括号写20,参数的随机数则是0-19。
总结
以上就是今天要讲的内容,本文仅仅简单介绍了流程控制语句,还是要仔细学习这部分内容。