From 4710a08356b844f802525be2fbc09f3148601a90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E5=8B=87=E6=96=8C?= <1761144610@qq.com> Date: Fri, 2 Dec 2022 22:22:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=9C=E4=B8=9A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../switch if.md" | 238 ++++++++++++++++++ 1 file changed, 238 insertions(+) create mode 100644 "19 \345\275\255\345\213\207\346\226\214/switch if.md" diff --git "a/19 \345\275\255\345\213\207\346\226\214/switch if.md" "b/19 \345\275\255\345\213\207\346\226\214/switch if.md" new file mode 100644 index 0000000..53fec72 --- /dev/null +++ "b/19 \345\275\255\345\213\207\346\226\214/switch if.md" @@ -0,0 +1,238 @@ +字符串的比较 + +字符串不能直接比大小,判断是否相等要用equals + +如 + +```java +if(a.equals(b)){//判断a是否等于b + 条件 +} +``` + +## switch ## + +switch支持字符串的判断(它只不支持布尔) + +switch(判断条件){ + +​ case 1: + +​ 命令1 + +​ break; + +... + +default: + +​ 命令 + +break; + +} + +default://默认,在前面都不达成的时候使用默认的. + +```java +//使用switch判断周一到周五的工作日和休息日,x=星期 +import java.util.Scanner; + +public class s1 { + public static void main(String[] args) { + //创建扫描器Scanner + Scanner sc=new Scanner(System.in); + System.out.println("请输入星期几"); + int x= sc.nextInt(); + //用switch来判断是什么日 + switch (x){ + case 1: + case 2: + case 3: + case 4: + case 5: + System.out.println("工作日"); + break; + case 6: + case 7: + System.out.println("休息日"); + break; + default://默认就是前面都不满足时使用 + System.out.println("错误星期"); + break;//结尾打一个停止不亏反正问题不大 + } + } +} + +``` + +## 作业 ## + +打车 + +```java +import java.util.Scanner; + +public class a2 { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入您要坐的车型"); + String car = sc.next(); + System.out.println("请输入公里数"); + int a = sc.nextInt(); + if (a <= 3) { + switch (car) { + case "夏利": + System.out.println("夏利车型三公里以内3元"); + break; + case "富康": + System.out.println("富康车型三公里以内4元"); + break; + case "桑塔纳": + System.out.println("桑塔纳车型三公里以内5元"); + break; + } + } + if (a > 3) { + switch (car) { + case "夏利": + System.out.println(3 + (a - 3) * 2.1); + break; + case "富康": + System.out.println(4 + (a - 3) * 2.4); + break; + case"桑塔纳": + System.out.println(5 + (a - 3) * 2.7); + } + } + } +} +``` + + + +日期 + +```java +import java.util.Scanner; + +public class q { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("今天是几月"); + int yue = sc.nextInt(); + System.out.println("今天是几日"); + int day = sc.nextInt(); + System.out.println("今年的年份"); + int nian = sc.nextInt(); + if (nian > 3000 && nian < 0) { + System.out.println("请重新输入"); + } else if (nian % 4 == 0 && nian % 100 != 0 || nian % 400 == 0) { + switch (yue) { + case 1: + System.out.println("今天是今年的" + (day + 1)); + break; + case 2: + System.out.println("今天是今年的" + (31 + 1 + day)); + break; + case 3: + System.out.println("今天是今年的" + (31 + 28 + 1 + day)); + break; + case 4: + System.out.println("今天是今年的" + (31 + 28 + 31 + 1 + day)); + break; + case 5: + System.out.println("今天是今年的" + (31 + 28 + 31 + 30 + 1 + day)); + break; + case 6: + System.out.println("今天是今年的" + (31 + 28 + 31 + 30 + 31 + 1 + day)); + break; + case 7: + System.out.println("今天是今年的" + (31 + 28 + 31 + 301 + 31 + 30 + day)); + break; + case 8: + System.out.println("今天是今年的" + (31 + 28 + 31 + 30 + 31 + 30 + 31 + 1 + day)); + break; + case 9: + System.out.println("今天是今年的" + (31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 1 + day)); + break; + case 10: + System.out.println("今天是今年的" + (31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 1 + day)); + break; + case 11: + System.out.println("今天是今年的" + (31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 1 + day)); + break; + case 12: + System.out.println("今天是今年的" + (31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 1 + day)); + break; + default: + System.out.println("超出重新输入"); + break; + } + } else { + switch (yue){ + case 1: + System.out.println("今天是今年的" + (day)); + break; + case 2: + System.out.println("今天是今年的" + (31 + day)); + break; + case 3: + System.out.println("今天是今年的" + (31 + 28 + day)); + break; + case 4: + System.out.println("今天是今年的" + (31 + 28 + 31 + day)); + break; + case 5: + System.out.println("今天是今年的" + (31 + 28 + 31 + 30 + day)); + break; + case 6: + System.out.println("今天是今年的" + (31 + 28 + 31 + 30 + 31 + day)); + break; + case 7: + System.out.println("今天是今年的" + (31 + 28 + 31 + 30 + 31 + 30 + day)); + break; + case 8: + System.out.println("今天是今年的" + (31 + 28 + 31 + 30 + 31 + 30 + 31 + day)); + break; + case 9: + System.out.println("今天是今年的" + (31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + day)); + break; + case 10: + System.out.println("今天是今年的" + (31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day)); + break; + case 11: + System.out.println("今天是今年的" + (31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day)); + break; + case 12: + System.out.println("今天是今年的" + (31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day)); + break; + default: + System.out.println("超出重新输入"); + break; + } + } + } +} +``` + + + + + +总结 + +if 和switch的区别 + +switch可以做的if也可以,if可以的switch不一定可以 + +if可以判断一个范围(区间的值);而switch只可以判断特定的数 + +如 判断成绩是否及格 60以下 不及格 60以上 及格 + +这是一个范围 使用 只可以用if ,switch使用太麻烦而不推荐 + +但是如果是指定的数switch写的非常直观 + +如 星期 ABCD 之类的具有指定的switch更加好用 + -- Gitee