1. 顺序结构
1.1 开始——步骤A——步骤B——步骤C——结束
2. 选择结构
2.1 判断语句1——单if语句
if(关系表达式){
语句体;
}
*判断关系表达式为true还是false,如果true执行语句体;如果false则不执行语句体,直接结束。
2.2 判断语句2——if…else(2选1)
if(关系表达式){
语句体1;
} else {
语句体2;
}
- 首先判断关系表达式看其结果是true还是false;
- true的话执行语句体1, false的话执行语句体2;
- 最后结束
2.3 判断语句3——if…else if…else(多选1)
if(判断条件1){
语句体1;
} else if (判断条件2) {
语句体2;
}
…
} else if (判断条件n) {
语句体n;
} else {
语句体n+1;
}
*首先判断条件1是true还是false,如果true,执行语句体1,然后直接结束;如果是false, 看判断条件2,如果是true 直接执行语句体2,然后结束,如果是false,看执行条件3,重复。。
最后的else会处理不符合所有条件的情况
例子
三元运算符和标准的if-else对比
题目:取两个数字当中的最大值
public class CompareTest{
public static void main(string[] args){
int a=10;
int b=20;
//首先使用三元运算符
int max = a>b ? a : b ;
System.out.println (“最大值:”+max);
//使用今天的if-else
int max;
if (a>b){
max =a;
}else{
max =b;
}
System.out.println (“最大值:”+max);
}
}
3.1 选择语句——switch
switch (表达式){
case 常量1:
语句体1;
break;
case 常量2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
*表达式 就是被检测量;
*其次,和case依次比较,一旦有对应的值,就执行相应的语句,在执行的过程中,遇到break就会结束。
*default和else作用类似,没有满足的case就直接走default.
*case后面是常量,要注意
注意事项:1. 多个case后面的数值****不可以重复;
2. switch后面小括号只能是下面数据类型
(byte, short, char, int) String字符串,enum枚举
3. 前后顺序可以颠倒,break可以省略,匹配了哪一个case就从哪一个位置向下执行,直到遇到了break。
3. 循环结构
基本组成部分:1. 初始化语句,在循环开始最初执行,只做一次
2. 条件判断:成立,循环继续,不成立,退出
3. 循环体:重复要做的事情内容
4. 步进语句;每次循环后都要进行的扫尾工作
3.1 for 循环
格式: for(初始化表达式1;布尔表达式2;步进表达式4){
循环体3;
}
流程:1234—234—234…2不满足为止。
3.2 while循环
标准格式:while(条件判断){
循环体
}
扩展格式:
初始化语句1;
while(条件判断2){
循环体3
步进表达式4
}
流程:1234—234—234…2不满足为止。
3.3 do-while循环
标准格式:
do {
循环体
} while (条件判断); //最后有个分号
扩展格式:
初始化语句1
do{
循环体3
步进表达式4
}while(布尔表达式2); //最后有分号
流程:1342-342-342…2不满足为止。
*******三种循环的区别
- 如果条件判断从来没满足过,那么for循环和while循环会执行0次,但是do-while至少会执行一次
- for循环的变量在小括中定义,只有循环内部才可以使用,while和do-while循环出来以后仍可以使用(变量作用域的问题)
***break 关键字的用法
3. 可以用在switch语句当中,一旦执行,整个switch语句立刻结束
4. 还可以用在循环语句中,一旦执行,整个循环语句立刻结束,打断循环。
5. 关于循环的选择,凡是次数确定的场景多有for循环,否则用while循环。
***continue 的用法
6. 一旦执行,立刻跳过当前次循环剩余内容,马上开始下一次循环。
例子:
3.4 嵌套循环
例子
练习:
题目 求出1到100之间的偶数和?
public class HundredEvenSum1{
public static void main(String [] args){
int sum = 0 // 定义在外面
for(int i=1;i<=100;i++){
if (i%2 ==0){
sum += i;
}
}
System.out.println("结果是:" + sum);
}
}
// while 循环去实现
public class HundredEvenSum2{
public static void main(String [] args){
int sum = 0;
int i =1;
while (i<=100){
if (i%2 == 0){
sum +=i;
}
}
System.out.println("总和为:" +sum)
}
}