day03-基本流程
字数
765 字
阅读时间
4 分钟
一、三种执行顺序
- 顺序结构
- 分支结构
- 循环结构
二、分支结构
- if
- switch
- 通过比较值相等来判断分支 格式:
Java
switch(表达式)
{
case 值1:
执行代码;
break;
case 值2:
执行代码;
break; // 执行完该分支的代码后,通过break跳出switch分支结构
case ....
....
default: // 与所有case值都无法匹配,则进入default
执行代码; // 此处不用break是因为这里已经是最后一种情况了,执行结束后也会退出switch选择了
}
各自的适用场景
- if 在功能上远远比switch强大
- 区间条件时使用if
- 使用值匹配时使用switch(格式良好,性能良好,代码优雅)
- 因为if 会一个一个往下判断完所有else if 和else,但switch会同时判断所有匹配,若有一个匹配则直接进入分支,效率也更高
switch 的注意事项和穿透性应用
1. 表达式类型只能是byte、short、int、char,JKD5开始支持枚举,JDK7开始支持String,不支持double,float。long
因为double,float在计算机中无法给出精确值,在计算机中可能会是无穷多位的,而long不允许是因为数值范围太大
2. case 给出的值不允许重复,且只能是字面量,不能是变量
3. 正常使用switch时,不要忘记写break,否则会出现穿透现象
即:执行了某一个分支匹配后,由于没有写break,则会向下穿透下一个case分支并执行其代码,直到遇到下一个break后才会退出
穿透性的应用:如果有多个case分支所需要执行的执行代码语句相同,则可利用该穿透性简化代码,如:case 1,case 3, case 4的执行代码相同,均为System.out.println("Hello");
则代码书写如下:
switch(a)
{
case 1:
case 3:
case 4:
System.out.println("Hello");
break;
case 2:
System.out.println("GG");
break;
default:
System.out.println("End");
}
三、循环结构
三种循环 :
- for
- while
- do...while do while循环是先执行再判断,if和while是先判断再执行
Java
do while 写法:
// 先执行一次 do,再进入 while 判断
int i = 0;
do
{
System.out.println("Hello World!!!");
i ++;
}
while(i < 3);
// do 后面的循环体语句必定能执行一次
Java
// 死循环写法:
for(;;)
{
System.out.println("Hello World");
}
while(true)
{
System.out.println("Hello World");
}
do
{
System.out.println("Hello World");
}
while(true);
Java
// 输出后换行:System.out.println();
// 输出后不换行:System.out.print();
三、跳转关键字
- break:跳出最近的一重循环
- continue:跳过当次执行,进入循环的下一次执行
四、获得随机数
Java
// random() 会给出一个 [0, 1) 的小数
// 写法1
int num = (int) (Math.random() * 100) + 1;
// 写法2
Random r = new Random();
int num = r.nextInt(100) + 1;