目录
5 程序的运行顺序
顺序结构:从程序开始到程序结束
分支结构:在顺序结构基础上,根据条件进行选择执行方向
循环结构:在顺序结构基础上,根据条件进行多次执行相同的或相似的代码。
5.1分支结构
分支结构:根据条件的成立与否选择执行方向。
(1)if分支结构
if格式:
语句1
if(条件表达式){
代码块//条件成立时,执行的逻辑
}
语句2
执行逻辑:执行完语句1后,碰到if,一定会执行条件表达式,结果为true,就执行代码块,
然后再执行语句2;结果为false,就跳过代码块,执行语句2。
if-else格式:
if(条件表达式){
代码块1//条件成立时,执行此代码块
}else{
代码块2//条件不成立时,执行此代码块
}执行逻辑:当程序执行if时,一定会执行条件式进行判断结果为true,就执行代码块1;
结果为false,跳过代码块1,执行代码块2;
if-else if 格式:
if(条件1){
代码块1:
}else if(条件2){
代码块2:
}else if(条件3){
代码块3:
}else{
}执行逻辑:程序执行到if时,一定会执行条件1,进行判断
结果为true,执行代码块1;
结果为false,执行条件2,进行判断;
结果为true,执行代码块2;
结果为false,执行条件3,进行判断
………
循环
(2)switch-case语句
格式:
switch(整数表达式){
case value1:代码块;[break;]
case value2:代码块;[break;]
……
[default:代码块n;]---------------------[]表示内部可有可无 break:有打断,毁掉,跳出,结束的含义
}
执行逻辑:
当程序遇到switch关键字时,计算表达式的值,然后匹配case后的值,然后执行对
应的分支逻辑。如果此分支有break就结束分支结构,如果此分支没有break就继续
执行下一条分支逻辑,直到遇到break或default或全部执行完后续的所有分支。
5.2循环结构
当重复执行相同的代码或者是相似的代码时需要使用循环结构。
循环三要素:
1)循环变量的声明:用于控制循环次数的循环因子
2)循环条件:用于判断是否执行相同或相似内容(循环体)的条件
3)循环变量的改变方向:向着循环结束的方向改变。
(1)for循环
语法:
for(变量的声明和初始化;循环条件;变量的改变方向){
循环体;}
执行逻辑:
程序遇到for时,一定执行变量的声明和初始化,然后执行循环条件的判断
如果为false,会跳过循环结构,执行后续代码。
如果为true,执行循环体,然后再执行变量的改变
再执行循环条件的判断……直到条件不满足跳出循环
(2)while循环
语法:
while(循环条件){
循环体
}执行逻辑:
当程序遇到while时一定执行循环条件,如果判断结果为false,
就结束循环结构执行后续代码,如果判断结果为true,就执行
循环体,然后再执行判断循环条件……直到条件不满足跳出循环
(3)do-while循环
语法;
do{
循环体
}while(循环条件);执行逻辑:当程序执行遇到do关键字时,一定先执行一次循环体,然后再判断循环条件,如果条件
为false,结束循环结构,执行后续代码,如果条件为true,再执行一次循环体,然后
再判断………直到条件不满足跳出循环
三种循环结构的比较:
while/do-while:适合不知道循环次数的循环
for:适合知道循环次数的逻辑
while/for:一般先判断条件,再执行循环体
do-while:一定先执行一次循环体,再判断条件小技巧:什么时候用while,什么时候用do-while
某些逻辑可以翻译成如下:当……就执行……:适合使用while
做……直到……:适合使用do-while
附加:
引用类型之
Math类和Scanner类
Math:是一个数学类型,此类型中有很多方法即功能
如:
Math.random():功能是随机产生一个[0,1)区间内的任意浮点数。
范围:0.0~0.9999999999999999999999999;
double num = Math.random();
Scanner:是一个开启键盘输入的类型,此类型中有很多方法。
如:可以扫描键盘输入的整数,浮点数,布尔类型,字符串
nextInt():扫描整数
nextDouble():扫描浮点数
nextFloat():
nextBoolean():扫描布尔类型
next():扫描字符串
nextLine():扫描字符串
使用步骤:
(1)导包
import java.util.Scanner; (导出java工具包中的util中的Scanner)
(2)新建对象
Scanner scan = new Scanner(System.in);
(3)使用功能
int num = scan.nextInt(); (键盘接收键盘输入的整数并存入num)