目录
顺序结构 (系统默认流程)
顺序程序默认流程
分支结构
if(3种格式)
程序
根据判定的结果(真或假)决定执行某个分支的代码
默认流程
程序默认流程
顺序
![](https://i-blog.csdnimg.cn/blog_migrate/5500b33957b4b1e6dad51e3777147fb2.png)
顺序
结构
执行流程:
顺序
① 首先判断条件表达式的结果,如果
为true执行语句体
,
为 false 就不执行语句体
。
结构
顺序
注意事项:
结构
⚫
if 语句中,
如果大括号控制的只有一行代码,则大括号可以省略不写
。
顺序
结构
switch分支
结构
⚫
也是匹配条件去执行分支
,
适合做值匹配的分支选择,结构清晰,格式良好
。
![](https://i-blog.csdnimg.cn/blog_migrate/6a89a07e29460efc89234dd4896074e8.png)
1. switch
分支的格式、执行流程是怎么样的?
2. if
、
switch
分支各自适合做什么业务场景?
⚫
if其实在功能上远远强大于switch。
⚫
if适合做区间匹配。
⚫
switch适合做:值匹配的分支选择、代码优雅。
switch分支注意事项:
① 表达式类型
只能是byte、short、int、char
,JDK5开始支持枚举,JDK7开始支持String、
不支持double、float、long
。
② case给出的值不允许重复,且只能是字面量,不能是变量。
③ 不要忘记写break,否则会出现穿透现象
switch的穿透性
⚫
如果代码执行到没有写
break
的
case
块
,执行完后将直接进入下一个
case
块执行代码(
而且不会进行任何匹配
),直
到遇到
break
才跳出分支,这就是
switch
的穿透性。
![](https://i-blog.csdnimg.cn/blog_migrate/92db3078221f1a4102c9b4ea1a0f195d.png)
循环结构
for 循环
⚫
控制一段代码反复执行很多次
![](https://i-blog.csdnimg.cn/blog_migrate/2c6b47ae9cb3013b4dbab21328fb9e2b.png)
for循环案例1
for循环案例2
for循环案例3
public class 水仙花数 {
/*
* 需求:在控制台输出所有的“水仙花数”,水仙花数必须满足如下2个要求:
1. 水仙花数是一个三位数
2. 水仙花数的个位、十位、百位的数字立方和等于原数
*/
public static void main(String[] args) {
int count=0;
for(int i=100;i<=999;i++) {
int a=i%10;
int b=i/10%10;
int c=i/100%10;
if(a*a*a+b*b*b+c*c*c==i) {
System.out.println(i);
count++;
}
}//for
System.out.println("水仙花个数:"+count);
}
}
while循环
while循环案例
public class while案例珠穆朗玛峰 {
/*
* 世界最高山峰是珠穆朗玛峰(8848.86米=8848860毫米), 假如我有一张足够大的纸,
* 它的厚度是0.1毫米。请问,折叠多少次,可以折成珠穆朗玛峰的高度。
*/
public static void main(String[] args) {
double peakHeight = 8848860; // 山峰高度
double paperThickness = 0.1; // 纸张厚度
int ans = 0;
while (paperThickness < peakHeight) {
paperThickness *= 2;
ans++;
}//while
System.out.println(ans);
}
}
do-while循环
三种循环的区别
死循环
循环嵌套
跳转关键字:break、continue
break和continue的拓展知识点
案例技术:随机数Random类
Random的使用
import java.util.Random;
public class 随机数Random {
public static void main(String[] args) {
Random r = new Random();
int number = r.nextInt(10);
System.out.println(number);
System.out.println("------------------------------------");
//65~100 =》(0~35) +65 范围35,从65开始
for (int i = 1; i <= 35; i++) {
int number2 = r.nextInt(36) + 65;
System.out.print(number2 + " ");
}
}
}
猜数字游戏
import java.util.Random;
import java.util.Scanner;
public class 猜数字游戏 {
public static void main(String[] args) {
Random r=new Random();
int number=r.nextInt(100);
Scanner sc=new Scanner(System.in);
while(true){
int i=sc.nextInt();
if(i<number){
System.out.println("过小");
}else if(i>number){
System.out.println("过大");
}else {
System.out.println("猜对了");
break;
}
}//while
}
}