01-switch语句
-
格式
switch(将要匹配的值){ case 值1: 语句体; break; case 值2: 语句体; break; case 值3: 语句体; break; ... default: 语句体n+1; break; }
-
执行流程 :
-
拿着 switch () 当中, 将要匹配的值, 跟case 后面给出的选项, 逐个进行匹配
-
匹配成功就执行对应的语句体, 然后由 break 语句结束整个的switch语句.
-
-
如果给出的所有case, 全部匹配失败, 就会执行最后的 default.
-
-
注意事项 :
-
switch语句 () 中可以接收的类型
-
基本数据类型 : byte short char int
-
引用数据类型 : jdk5版本开始可以是枚举, jdk7版本开始可以是String字符串.
-
-
case 后面给出的值, 不能重复
-
case 后面给出的值, 只能是常量, 不能是变量.
-
如果switch语句中, 省略了break语句, 将会开启case穿透现象.
-
02-for循环
-
格式
for(初始化语句; 判断条件; 条件控制语句){ 循环体语句; }
-
执行流程
-
执行初始化语句, 初始化语句在整个循环中只执行一次
-
执行判断条件, 看其返回结果是true, false
-
false : 循环直接结束
-
true : 进入第三步了
-
-
执行循环体语句
-
执行条件控制语句
-
回到2继续.
-
-
注意事项 :
-
() 和 {} 之间不要写分号
-
for 循环 {} 中所定义的变量, 在每一轮循环结束后, 都会从内存中消失
-
for 循环 () 中所定义的变量, 在整个循环结束后, 会从内存中消失
-
03-while循环
-
格式
初始化语句; while(判断条件){ 循环体语句; 条件控制语句; }
-
执行流程
-
执行初始化语句, 初始化语句在整个循环中只执行一次
-
执行判断条件, 看其返回结果是true, false
-
false : 循环直接结束
-
true : 进入第三步了
-
-
执行循环体语句
-
执行条件控制语句
-
回到2继续.
04-do...while循环
-
格式
初始化语句; do { 循环体语句; 条件控制语句; }while(判断条件);
-
执行流程
-
执行初始化语句
-
执行循环体语句
-
执行条件控制语句
-
执行判断条件, 看其返回结果是true, false
-
false, 循环结束
-
true ,回到2继续.
-
-
-
特点: 无论判断条件是否满足, 都至少会执行一次循环体.
05-三种循环的区别
(for, while) 和 (do...while) 区别: for循环和while循环, 先判断, 后执行. do...while循环, 先执行, 后判断.
for : 内部控制循环的变量, 因为归属于for循环的语法结构, 在循环结束后, 就无法使用. for(int i = 1; i <= 10; i++){ } System.out.println(i); // 编译错误 while : 内部控制循环的变量, 不归属于while循环的语法结构, 在循环结束后, 可以继续使用. int i = 1; while(i <= 10){ i++; } System.out.println(i); // 没有错误
-
注意 : 其实for循环和while循环本质来讲没什么区别
int i = 1; for(; i <= 10; i++){ } System.out.println(i);
-
结论
-
for 循环能够实现的需求, while都能实现
-
while 循环能够实现的需求, for也都能实现.
-
06-跳转控制语句
-
break : 可以结束循环, 也可以结束switch语句.
-
注意 : 只能在循环和switch语句当中进行使用.
-
-
continue : 可以跳过某次循环, 继续下一次循环
-
注意 : 只能在循环当中进行使用.
-
-
注意事项 :
-
如果涉及到了循环的嵌套, break 和 continue 只能操作自己所在的那一层循环
-
想要操作指定层的话, 可以使用循环标号.
-
-
public class LoopDemo2 { // 标号 public static void main(String[] args) { lo: for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 3; j++) { if (j == 2) { break lo; } System.out.println("HelloWorld"); } } }
07-无限循环
for(;;){}
while(true){ }
do{ }while(true);
-
无限循环当中, 如果没有break语句, 下面的代码是不能执行的.
-
使用场景 :
-
如果不明确循环次数, 可以使用无限循环.
-
08-Random产生随机数
-
找符咒 (导包)
import java.util.Random;
-
召唤精灵 (创建对象)
Random r = new Random();
-
指挥精灵干活 (调用对象的方法)
int num = r.nextInt(10); // 0~9