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语句案例:
示例代码:
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");}
示例代码:
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("感谢您的应用, 再见!"); }}