JavaSE学习笔记Day03

JavaSEDay03 总结笔记 01-switch语句

  • 格式 :
switch(将要匹配的值){ case 值1: 语句体1; break; case 值2: 语句体2; break; case 值3: 语句体3; break; ... default: 语句体n+1; break; }

  • 执行流程 :
1. 拿着switch () 中的数据, 跟case给出的数据逐个进行匹配, 匹配成功, 就执行对应的语句体,再由break, 结束掉整个的switch语句. 2. 给出的所有case, 全部匹配失败, 将会执行default

  • 注意事项 :
1. case后面的值不能重复 2. case后面的值只能是常量, 不能是变量 3. switch语句, () 中可以接收的类型 1). 基本数据类型: byte short char int 2). 引用数据类型: jdk5开始可以是枚举, jdk7开始可以是String字符串 4. 如果省略了break, 将会开启case穿透现象

  • switch语句案例:
    JavaSE学习笔记Day03
    文章图片

  • 示例代码:
    import java.util.Scanner; public class SwitchDemo2 { /* 需求: 键盘录入一个数值, 代表星期 (1~5)打印工作日, (6~7)打印休息日情况: 发现多个case中, 存在重复的代码jdk14的新特性: switch语句中, case允许编写多个值, 中间要用逗号隔开------------------------------------------------------------if语句和switch语句的使用选择 :if : 适用于范围的判断 switch : 适用于固定值的匹配 */ public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数:"); int week = sc.nextInt(); switch (week) { case 1, 2, 3, 4, 5: System.out.println("工作日"); break; case 6, 7: System.out.println("休息日"); break; default: System.out.println("您的输入有误!"); break; } } }

02-for循环语句
  • 目标 : 为什么要学习循环 ?
  • 回答 : 我们的代码逻辑, 有些时候需要重复的执行很多次, 就应该使用循环
  • 格式 :
for(初始化语句; 判断条件; 条件控制语句){ 循环体语句; }初始化语句 : 定义变量, 用这个变量来控制循环 判断条件 : 决定循环是否需要继续 循环体语句 : 要重复执行的代码逻辑 条件控制语句 : 改变控制循环的变量

  • 执行流程 :
1. 执行初始化语句, 在整个循环过程中只执行一次 2. 执行判断条件, 看其返回结果是true, false false : 循环结束 true : 进入第三步 3. 执行循环体语句 4. 执行条件控制语句 5. 回到2继续for(int i = 1; i <= 5; i++){ System.out.println("itheima"); }

  • 【JavaSE学习笔记Day03】示例代码:
    public class ForTest7 { /* 需求: 使用*号, 在控制台打印5行直角三角形* ** *** **** ********** **** *** ** *1. 打印5行5列矩形 2. 改进为直角三角形 */ public static void main(String[] args) { // 外循环: 控制行数 for(int i = 1; i <= 5; i++){ // 内循环: 控制列数 for(int j = 1; j <= i; j++){ System.out.print("*"); } System.out.println(); }System.out.println("-----------------------"); for(int i = 5; i >= 1; i--){ for(int j = 1; j <= i; j++){ System.out.print("*"); } System.out.println(); } }

03-while循环语句
  • 格式 :
初始化语句; while(判断条件){ 循环体语句; 条件控制语句; }

1. 执行初始化语句, 在整个循环过程中只执行一次 2. 执行判断条件, 看其返回结果是true, false false : 循环结束 true : 进入第三步 3. 执行循环体语句 4. 执行条件控制语句 5. 回到2继续

  • 注意 : while循环, 千万别忘了条件控制语句.
  • 示例代码:
    public class WhileTest1 { /* 需求: 在控制台打印出所有的水仙花数, 要求使用while实现. */ public static void main(String[] args) { int i = 100; while (i <= 999) {int ge = i % 10; int shi = i / 10 % 10; int bai = i / 100; if(ge*ge*ge + shi*shi*shi + bai*bai*bai == i){ System.out.println(i); }i++; } } }

04-do...while循环语句 (了解)
  • 格式 :
初始化语句; do { 循环体语句; 条件控制语句; }while(判断条件);

1. 执行初始化语句 2. 执行循环体语句 3. 执行条件控制语句 4. 判断条件, 看其返回结果是true, false false : 循环结束 true : 回到2继续.特点: 无论判断条件是否满足, 都至少执行一次循环体.

05-三种循环的对比
  • for, while : 先判断, 后执行
  • do...while : 先执行, 后判断
for循环 : 用于控制循环的那个变量, 因为归属于for的语法结构当中, 在循环结束后, 无法继续使用for (int i = 1; i <= 5; i++) {}// System.out.println(i); 编译出错while循环 : 用于控制循环的那个变量, 不归属于while的语法结构, 在循环结束后, 可以继续使用的.int i = 1; while(i <= 5){ System.out.println("itheima"); i++; }System.out.println(i); // 正常使用

  • 结论 : for能够实现的需求, while都能实现, 反之也是一样.
  • 三种循环的死循环写法
    //没有判断条件就是一直执行 for(; ; ){ System.out.println("停不下来了~"); } --------------------------------------------//条件只要是boolean:true就会一直执行下去 while(true){ System.out.println(1); } --------------------------------------------do { System.out.println(1); }while(true);

06-跳转控制语句
  • break : 结束 (循环, switch)
    • break只能在循环, 和switch当中使用
  • continue : 跳过 (循环)
    • continue只能在循环中使用
  • 共同的注意事项 : break, continue 下面不允许写代码, 因为执行不到
  • 示例代码:
    public class ContinueDemo1 { /* continue : 跳过 注意: 只能在循环中用break, continue 共同的注意事项 : 这俩东西, 下面不允许写代码, 因为执行不到. */ public static void main(String[] args) { for (int i = 1; i <= 80; i++) { if (i == 3 || i == 7 || i == 11) { continue; } System.out.println("老师正在给第" + i + "名同学发冰棍儿~"); } } }

  • 细节 :
    • 如果break | continue 遇到了循环嵌套, 默认只能操作到自己所在的那一层循环
    • 想要操作指定层的话, 可以加入循环标号
07-Random产生随机数
1. 找符咒import java.util.Random; 2. 召唤精灵Random r = new Random(); 3. 指挥精灵产生随机数20 ~ 60; // 0 ~ 40 int num = r.nextInt(41) + 20;

import java.util.Random; import java.util.Scanner; public class RandomTest { /* 需求: 实现猜数字小游戏1. 使用Random, 产生随机数(1~100)作为要猜的那个数据(randomNum) 2. 使用Scanner, 键盘录入用户猜测的数据(scNum) 3. 比对注意: 如果死循环, 没有出口, 下面是不允许写代码的, 因为执行不到. */ public static void main(String[] args) { Random r = new Random(); Scanner sc = new Scanner(System.in); // 1. 使用Random, 产生随机数(1~100)作为要猜的那个数据(randomNum) int randomNum = r.nextInt(100) + 1; while(true){ // 2. 使用Scanner, 键盘录入用户猜测的数据(scNum) System.out.println("请输入:"); int scNum = sc.nextInt(); // 3. 比对 if (scNum > randomNum) { System.out.println("猜大了"); } else if (scNum < randomNum) { System.out.println("猜小了"); } else { System.out.println("恭喜, 猜对了!!!"); break; } }System.out.println("感谢您的使用, 再见!"); } }

    推荐阅读