选择结构与分支结构
-
基本if选择结构
语法:
if(布尔表达式){
//代码块
}
执行流程:
-
对布尔表达式进行判断
- 结果为true,则先执行代码块,再执行后续代码
3. 结果为false,则跳过代码块,直接执行后续代码块
- 结果为true,则先执行代码块,再执行后续代码
-
-
if else选择结构
语法:
if(布尔表达式) {
//代码块1
} else {
//代码块2
}
执行流程:
- 对布尔表达式进行判断
- 结果为true,则先执行代码块1,再退出整个结构,执行后续代码
- 结果为false,则先执行代码块2,再退出整个结构,执行后续代码
-
多重if选择结构
语法:
if(布尔表达式1){
//代码块1
}else if(布尔表达式) {
//代码块2
}else if(布尔表达式) {
//代码块3
}else {
//代码块4
}
执行流程:
- 表达式1为true,则执行代码块1,再退出整个结构
- 表达式2为true,则执行代码块2,再退出整个结构
- 表达式3为true,则执行代码块3,再退出整个结构
- 以上均为false,则执行代码块4,再退出整个结构
注意:相互排斥,有一个为true,其他均不再执行
适用区间判断,但要保证条件顺序(从大到小,从小到大)
-
嵌套if选择结构
语法:
if(外层表达式) {
if(内层表达式) {
//内层代码块1
} else {
//内层代码块2
} else {
//外层代码块
}
执行流程:
当外层条件满足时,再判断内层条件
注意:
一个选择结构中,可嵌套另一个选择结构
嵌套格式正确的情况下,支持任意组合
-
分支结构
语法:
switch(变量 | 表达式){
case 值1:
逻辑代码1;
case 值2:
逻辑代码2;
case 值n:
逻辑代码n;
default:
未满足时的逻辑代码
}
可判断的类型:
byte、short、int、char、String(JDK7+)
执行流程:
如果变量中的值等于值1,则执行逻辑代码1.
如果变量中的值等于值2,则执行逻辑代码2.
如果变量中的值等于值3,则执行逻辑代码3.
如果变量中的值没有匹配的case值时,执行default中的逻辑代码.
注意:当匹配的case执行后,不会自动退出整个结构,而是继续向下执行
break关键字可在匹配的case执行后,跳出整个结构,适用等值判断
-
局部变量
概念:声明在方法内部的变量,必须先赋值再使用。
作用范围:定义行开始到所在的代码块结束
注意:多个变量,在重合的作用范围内,不可出现重名(命名冲突)
-
总结
- 基本if选择结构:if(){}
- if else 选择结构:if() {} else{}
- 多重if选择结构:if() {} else if() {} else if() {} else{}
- 嵌套if选择结构:if() { if() {} }
- switch分支结构:switch(){}
- 局部变量:声明在方法内部的变量,必须先赋值再使用
Scanner 控制台输入
语法:导包 import 包名.类名; 在声明包语句和声明类之间
使用流程:
导入:import java.util.Scanner;
声明:Scanner input = new Scanner(System.in);
作业
2.(运算符)有如下代码:
int a = 5;
int b = (a++) + (--a) + (++a);
执行完之后,b的结果?
答:执行流程:
第一行代码:5的值赋值给a;
第二行代码:等号右边:
(a++):a首先赋值为5参与运算后,a自增1变为6;
(--a): a为6首先自减1变为5,参与运算;
(++a):a为5参与运算,再自增1.
b = 5 + 5 + 6 = 16
3.(基本类型的运算)一家商场在举行打折促销.......
答:
I.由于price为short类型,乘以8除以10之后为int类型不能够赋值给short类型的realPrice
II. 如果直接进行整除除法计算的话,结果为整除的商,应改为:double realPrice = price * 0.8;
4.(表达式)int n,请用表达式表示n的个位数,十位数,百位数
答:
int a = n % 10; //n 的个位数
int b = n / 10 % 10; //n 的十位数
int c = n / 100; //n 是百位数
5.(表达式)inta,b;请用表达式判断b是不是a的因子
答:
a % b ;//如果a % b为0,说明b是a的因子,反之,则不是
6.(if语句)某项查询执行之后,n条结果,单页显示m条记录,第i页显示第几条到第几条?
答:
第i页显示第(i-1)*m+1条到第(i<=n/m)?m * i:n条
7.(if语句)
8.(switch语句)
9.(if语句)