选择结构
**选择结构 **和循环结构可以称为是界定一个语言到底是否是编程语言的标准。
1.了解流程控制语句
流程控制语句:实现对程序的执行流程进性控制的一种语句。
- 顺序流程:程序默认就是一种流程语句,自上而下执行。
- 选择结构:分支
- 循环结构:重复
2.掌握基础if选择结构
选择结构的原因:
1.使用三元运算符只能解决简单的判断情况
2.如果出现了复杂的业务处理我们需要更多的解决方案。
基础if选择结构的语法:
//条件表达式的结果必须是true或false
if(条件表达式){ //如果条件成立那么执行xxx
//xxx
}
使用逻辑运算符实现复杂的if处理:
/*
* 需求:
* 如果数学成绩大于90分,语文成绩大于80分 可以得奖
* 或者
* 如果数学成绩考了100分,语文成绩只需要大于70分 也可以得奖
*/
public class Demo3 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// 提示输入成绩
System.out.print("请输入数学成绩:");
double SXScore = input.nextDouble();
System.out.print("请输入语文成绩:");
double YWScore = input.nextDouble();
// 伪代码:(数学成绩 > 90 && 语文成绩 > 80) || (数学成绩 == 100 && 语文成绩 > 70)
// 套语法
/*if((SXScore > 90 && YWScore > 80) || (SXScore == 100 && YWScore > 70)) {
System.out.println("一套三年高考五年模拟");
}*/
boolean flag1 = SXScore > 90 && YWScore > 80;
boolean flag2 = SXScore == 100 && YWScore > 70;
if(flag1 || flag2) {
System.out.println("一套三年高考五年模拟!");
}
// 反之
if(!(flag1 || flag2)) {
System.out.println("抄三遍");
}
}
}
3.掌握互斥if选择结构
if(条件表达式){
// 条件成立执行内容
}eles{
//条件不成立执行的内容
}
4.掌握多重if选择结构
if(条件表达式1){
//成立代码
}else if(。。。){
//成立代码
}else if(....){
//...
}else{ //可以省略
}
注意事项:
-
多重if中的else if必须配合if使用,不能单独出现
-
多重if中个添加else代码块
-
多重if中代码是自上而下执行判断,只要有一个条件满足,其余就不再执行(范围大的放在上方)
5.掌握嵌套if选择结构(非java的if必修语法)
if(条件表达式1) {
//处成立代码
if(条件表达式2) {
//成立代码
}else {
//不成立的代码
}
}else {
//条件1不成立的代码
}
- 嵌套if可以无限嵌套,只要需求需要则可以继续编写
- 嵌套if建议最好不要超过3层,层级越多则容易导入代码困难
- 嵌套if,随意嵌套if语法(基础if 互斥if 多重if)
6.掌握switch选择结构(前期控制台阶段用的比较多)
swiitch(表达式){
case 常量1:
break;
case常量2:
break;
default:
break;
注意
- switch实现的功能和多重if一样,但是switch只能处理等值判断情况。(无法实现范围判断)
- switch中break语句必须添加,否则会出现case穿透性。
- switch中的表达式,只允许出现整数int(byte short),字符串String,枚举类型Enum。
- switch中的case后接的是常量(例如:1 2 3 “星期一”…固定值<死值>)。
- switch中建议添加default语句!
switch严格讲性能比多重if要好一些。
为什么使用循环?
使用循环的原因:因为内容都重复性的内容,所以我们需要将实现方案简化。
循环: 转圈,重复,重复性的做某件事
1.掌握while(当…的时候)循环结构(一直用)
// 循环条件
while(条件表达式){ // (如果)当条件成立 我就执行...
// 条件成立..
// 循环操作/循环体
}
**循环结构的组成: **
- 初始化循环的变量(用于表示条件用的)
- 循环条件
- 循环操作
- 循环出口(更新循环变量)
2.掌握do-while循环结构(前期常用)
// do 做....
do{
// 循环操作
// 循环出口
}while(循环条件);
**while和do-while的区别: **
- 相同点:都可以实现循环结构
- 不同点:
- **执行次序: **
- while循环是先判断条件然后再执行循环
- do-while循环是先执行循环然后再判断条件
- **初始值条不满足: **
- while循环如果初始值布满足,那么就不会执行循环操作
- do-wile循环无论是否满足,都至少会执行一次!
- **执行次序: **
3.掌握for循环结构
for(初始化循环变量;循环条件;循环出口){
// 循环操作
}
4.理解各种循环结构的使用场景
while循环和do-wjile循 环能干一样的事,只要是循环都可以实现,无非是简单与否或思维通常的问题。
for循环 ** 一般用于固定次数 ** 的循环方式,简洁。
while循环无论什么时候用的都多多。 for循环仅仅用于一些固定次数。
5.掌握代码调试(debug)
1.掌握程序调试
- 盯(读代码,构想代码运行的结果)
- 通过输出语句来打印内容
- 通过debug工具
- 断点(break point):程序中断(暂停)的位置
- 变量表(variables):展示在当前方法内的局部变量(再debug是经常观察它)
- 再预测可能出现的位置左侧双击,增加断点
- 通过debug as方式运行程序它会自动运行到断点位置然后暂停等待你的下一步指令,暂停的这一行目前处于将要执行还未执行的状态。
- F6(Step Over)掌握表示执行当前的代码切换到下一行
- F8(Resume)掌握 快速放行到下一个断点位置
- F5(Step into)目前了解表示进入到要执行的方法内
- 观察变量表等信息发现问题解决问题
6.掌握多重循环,break和continue的方法
1.掌握Java二重循环(2层嵌套循环)
需求:打印一些图形
多重循环语法
多重循环指的就是循环嵌套,但是一般嵌套的循环也就2层所以多重循环又被称为二重循环。
你能想的到的循环结构可以随意嵌套。
多重循环:最外层的被称为外层循环,嵌套循环被称为内层循环。
外层循环执行一次,内部循环会执行一遍。
2.使用跳转语句控制程序流程
break
:(中断)switch中有
- 再switch中是用于判断的
- 再循环中是用于结束循环,多重循环的时候break之会结束当前循环。
continue:
(继续)只能出现再循环中