From 42559996683e1f97228dba47a8063697dc3b3ad9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E5=A2=9E=E5=85=B4?= <1962943263@qq.com> Date: Fri, 2 Dec 2022 23:09:04 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E7=AC=ACwu=E6=AC=A1=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20221202 swith\350\257\255\345\217\245.md" | 53 +++++++++ ...\344\270\212\347\211\210\346\234\254)).md" | 102 +++++++++++++++++ ...55\345\215\203\347\261\263\346\225\260.md" | 38 +++++++ ...64\345\222\214\345\271\263\345\271\264.md" | 106 ++++++++++++++++++ 4 files changed, 299 insertions(+) create mode 100644 "42 \346\226\271\345\242\236\345\205\264/20221202 swith\350\257\255\345\217\245.md" create mode 100644 "42 \346\226\271\345\242\236\345\205\264/20221204 for\345\222\214while\344\275\234\344\270\232(switch\346\226\260\347\211\271\346\200\247\350\241\245\345\205\205(JDK12\344\273\245\344\270\212\347\211\210\346\234\254)).md" create mode 100644 "42 \346\226\271\345\242\236\345\205\264/\345\210\244\346\226\255\345\215\203\347\261\263\346\225\260.md" create mode 100644 "42 \346\226\271\345\242\236\345\205\264/\345\210\244\346\226\255\351\227\260\345\271\264\345\222\214\345\271\263\345\271\264.md" diff --git "a/42 \346\226\271\345\242\236\345\205\264/20221202 swith\350\257\255\345\217\245.md" "b/42 \346\226\271\345\242\236\345\205\264/20221202 swith\350\257\255\345\217\245.md" new file mode 100644 index 0000000..e3f7403 --- /dev/null +++ "b/42 \346\226\271\345\242\236\345\205\264/20221202 swith\350\257\255\345\217\245.md" @@ -0,0 +1,53 @@ +# switch语句 + +## switch语法和执行流程 + +```java +switch(表达式){ + case 值1: + System.out.println(""); + break; + case 值2: + System.out.println(""); + break; + case 值3: + System.out.println(""); + break; + case 值4: + System.out.println(""); + break; + defalut: + System.out.println(""); + break; +} +执行流程: +1、首先计算表达式的值. +2、依次和case后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束. +3、如果所有的case后面的值和表达式的不匹配,就会执行defalut里面的语句体,然后结束整个switch语句. + + + 1、表达式(将要匹配的值)取值可以为:byte,short,int,char.JDK5以后是可以枚举的,JDK7以后是可以有string的,但是布尔类型是不支持的. + 2、case后面要跟的是和表达式进行比较的值. + 3、break:中断语句,结束switch语句. + 4、case后面只能是字面量不能是变量. + 5、case给出的值不能重复. +``` + +## switch和if的区别 + +```java +1、switch能做的if也能做,但是if能做的switch不一定能做。 +2、if可以判断某个区间,而switch不能,它只能判断某个具体的值。 +3、判断精准的值用switch,粗略的用if。 + +``` + +## switch穿透 + +```java +case后面不加break,就会穿透 + 1、有关字符的比较用equls + 2、字符 char i = sc.next()charAt(0); + 3、swith支持字符串(不支持布尔类型) +``` + diff --git "a/42 \346\226\271\345\242\236\345\205\264/20221204 for\345\222\214while\344\275\234\344\270\232(switch\346\226\260\347\211\271\346\200\247\350\241\245\345\205\205(JDK12\344\273\245\344\270\212\347\211\210\346\234\254)).md" "b/42 \346\226\271\345\242\236\345\205\264/20221204 for\345\222\214while\344\275\234\344\270\232(switch\346\226\260\347\211\271\346\200\247\350\241\245\345\205\205(JDK12\344\273\245\344\270\212\347\211\210\346\234\254)).md" new file mode 100644 index 0000000..8f15f84 --- /dev/null +++ "b/42 \346\226\271\345\242\236\345\205\264/20221204 for\345\222\214while\344\275\234\344\270\232(switch\346\226\260\347\211\271\346\200\247\350\241\245\345\205\205(JDK12\344\273\245\344\270\212\347\211\210\346\234\254)).md" @@ -0,0 +1,102 @@ +# for练习 + +```java +import java.util.Scanner; + +public class l { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入一句话:"); + String speech = sc.next(); + System.out.println("请输入你想重复上面画话的次数:"); + int num = sc.nextInt(); + int frequency =0; + for(int num1 =0;num1System.out.println("content") + default -> System.out.println("content") +} +``` + diff --git "a/42 \346\226\271\345\242\236\345\205\264/\345\210\244\346\226\255\345\215\203\347\261\263\346\225\260.md" "b/42 \346\226\271\345\242\236\345\205\264/\345\210\244\346\226\255\345\215\203\347\261\263\346\225\260.md" new file mode 100644 index 0000000..a87942a --- /dev/null +++ "b/42 \346\226\271\345\242\236\345\205\264/\345\210\244\346\226\255\345\215\203\347\261\263\346\225\260.md" @@ -0,0 +1,38 @@ +import java.util.Scanner; + +public class to { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("规则:夏利超出3km,2.1km/元,富康超出3km,2.4km/元,桑塔纳超出3km,2.7km/元."); + System.out.println("请输入要乘坐的车辆所对应的数字:(1、夏利,2、富康.3、桑塔纳)"); + while (true) { + int num = sc.nextInt(); + if (num == 1 || num == 2 || num == 3) { + switch (num) { + case 1: + System.out.println("请输入km数:"); + int km = sc.nextInt(); + System.out.println("你本次需要支付:" + ((km - 3) * 2.1)); + break; + case 2: + System.out.println("请输入千米数:"); + int km1 = sc.nextInt(); + System.out.println("你本次需要支付:" + ((km1 - 3) * 2.4)); + break; + case 3: + System.out.println("请输入千米数:"); + int km2 = sc.nextInt(); + System.out.println("你本次需要支付:" + ((km2 - 3) * 2.7)); + break; + default: + System.out.println("输入无效"); + break; + } + } else { + System.out.println("输入无效"); + } + + + } + } +} diff --git "a/42 \346\226\271\345\242\236\345\205\264/\345\210\244\346\226\255\351\227\260\345\271\264\345\222\214\345\271\263\345\271\264.md" "b/42 \346\226\271\345\242\236\345\205\264/\345\210\244\346\226\255\351\227\260\345\271\264\345\222\214\345\271\263\345\271\264.md" new file mode 100644 index 0000000..5eab176 --- /dev/null +++ "b/42 \346\226\271\345\242\236\345\205\264/\345\210\244\346\226\255\351\227\260\345\271\264\345\222\214\345\271\263\345\271\264.md" @@ -0,0 +1,106 @@ +```java +import java.util.Scanner; + +public class year { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入当前年份例如:(2019)"); + int year = sc.nextInt(); + if ( ( ( year % 4 == 0 && year % 100 != 0) || year % 400 == 0)){ + System.out.println("该年为润年"+"\n"+"闰年1-12月分别为31天,29天,31天,30天,31天,30天,31天,31天,30天,31天,30天,31天"); + System.out.println("请输入你想输入月份:例如(5)"); + int month2 = sc.nextInt(); + System.out.println("请输入现在几号例如:(3)"); + int day = sc.nextInt(); + switch (month2){ + case 1: + System.out.println("现在是"+year+"的第"+(day)+"天"); + break; + case 2: + System.out.println("现在是"+year+"的第"+(31+day)+"天"); + break; + case 3: + System.out.println("现在是"+year+"的第"+(60+day)+"天"); + break; + case 4: + System.out.println("现在是"+year+"的第"+(91+day)+"天"); + break; + case 5: + System.out.println("现在是"+year+"的第"+(121+day)+"天"); + break; + case 6: + System.out.println("现在是"+year+"的第"+(152+day)+"天"); + break; + case 7: + System.out.println("现在是"+year+"的第"+(182+day)+"天"); + break; + case 8: + System.out.println("现在是"+year+"的第"+(213+day)+"天"); + break; + case 9: + System.out.println("现在是"+year+"的第"+(244+day)+"天"); + break; + case 10: + System.out.println("现在是"+year+"的第"+(274+day)+"天"); + break; + case 11: + System.out.println("现在是"+year+"的第"+(305+day)+"天"); + break; + case 12: + System.out.println("现在是"+year+"的第"+(335+day)+"天"); + break; + default: + System.out.println("输入无效"); + break; + } + } else { + System.out.println("该年份为平年"+"\n"+"平年1-12月分别为31天,28天,31天,30天,31天,30天,31天,31天,30天,31天,30天,31天,"); + System.out.println("请输入你想输入月份:"); + int month1 = sc.nextInt(); + System.out.println("请输入现在几号例如:(3)"); + int day1 = sc.nextInt(); + switch (month1){ + case 1: + System.out.println("现在是"+year+"的第"+(day1)+"天"); + break; + case 2: + System.out.println("现在是"+year+"的第"+(31+day1)+"天"); + break; + case 3: + System.out.println("现在是"+year+"的第"+(59+day1)+"天"); + break; + case 4: + System.out.println("现在是"+year+"的第"+(90+day1)+"天"); + break; + case 5: + System.out.println("现在是"+year+"的第"+(120+day1)+"天"); + break; + case 6: + System.out.println("现在是"+year+"的第"+(151+day1)+"天"); + break; + case 7: + System.out.println("现在是"+year+"的第"+(181+day1)+"天"); + break; + case 8: + System.out.println("现在是"+year+"的第"+(212+day1)+"天"); + break; + case 9: + System.out.println("现在是"+year+"的第"+(243+day1)+"天"); + break; + case 10: + System.out.println("现在是"+year+"的第"+(273+day1)+"天"); + break; + case 11: + System.out.println("现在是"+year+"的第"+(304+day1)+"天"); + break; + case 12: + System.out.println("现在是"+year+"的第"+(334+day1)+"天"); + break; + default: + System.out.println("输入无效"); + break; + } + } + } +} +``` \ No newline at end of file -- Gitee From 3f61cb503d26ad95e8b64508eb9d25dba704f2ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E5=A2=9E=E5=85=B4?= <1962943263@qq.com> Date: Sun, 4 Dec 2022 17:10:16 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E7=AC=AC=E4=BA=94=E6=AC=A1=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zuoye.java" | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 "42 \346\226\271\345\242\236\345\205\264/zuoye.java" diff --git "a/42 \346\226\271\345\242\236\345\205\264/zuoye.java" "b/42 \346\226\271\345\242\236\345\205\264/zuoye.java" new file mode 100644 index 0000000..0003cfe --- /dev/null +++ "b/42 \346\226\271\345\242\236\345\205\264/zuoye.java" @@ -0,0 +1,22 @@ + +import java.util.Scanner; + +public class zuoye { + public static void main(String[] args) { + String name = "fzx"; + Scanner sc = new Scanner(System.in); + while (true) { + System.out.println("请输入用户名:"); + String user_name = sc.next(); + System.out.println("请输入密码:"); + int password = sc.nextInt(); + if ((user_name.equals(name)) & (password == 159357)){ + System.out.println("输入正que"); + break; + } + else { + System.out.println("输入错误"); + break; + } +} +}} \ No newline at end of file -- Gitee From 8a48d2c1961c1ef55f4cb205ffb437f0dcbe0523 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E5=A2=9E=E5=85=B4?= <1962943263@qq.com> Date: Sun, 4 Dec 2022 17:25:20 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E7=AC=AC=E4=BA=94=E6=AC=A1=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zuoye.java" | 22 ------------------- 1 file changed, 22 deletions(-) delete mode 100644 "42 \346\226\271\345\242\236\345\205\264/zuoye.java" diff --git "a/42 \346\226\271\345\242\236\345\205\264/zuoye.java" "b/42 \346\226\271\345\242\236\345\205\264/zuoye.java" deleted file mode 100644 index 0003cfe..0000000 --- "a/42 \346\226\271\345\242\236\345\205\264/zuoye.java" +++ /dev/null @@ -1,22 +0,0 @@ - -import java.util.Scanner; - -public class zuoye { - public static void main(String[] args) { - String name = "fzx"; - Scanner sc = new Scanner(System.in); - while (true) { - System.out.println("请输入用户名:"); - String user_name = sc.next(); - System.out.println("请输入密码:"); - int password = sc.nextInt(); - if ((user_name.equals(name)) & (password == 159357)){ - System.out.println("输入正que"); - break; - } - else { - System.out.println("输入错误"); - break; - } -} -}} \ No newline at end of file -- Gitee From 2c4ece6d602d73f08a8d8c88cba71a94276c6593 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E5=A2=9E=E5=85=B4?= <1962943263@qq.com> Date: Tue, 6 Dec 2022 20:43:04 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E7=AC=AC=E5=85=AD=E6=AC=A1=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...74\214do while\345\276\252\347\216\257.md" | 99 +++++++++++++++++++ ...00\345\244\247\347\272\246\346\225\260.md" | 15 +++ .../\347\214\234\346\225\260\345\255\227.md" | 40 ++++++++ 3 files changed, 154 insertions(+) create mode 100644 "42 \346\226\271\345\242\236\345\205\264/20221206 Random\345\222\214for\345\276\252\347\216\257\357\274\214while\345\276\252\347\216\257\357\274\214do while\345\276\252\347\216\257.md" create mode 100644 "42 \346\226\271\345\242\236\345\205\264/\346\234\200\345\244\247\347\272\246\346\225\260.md" create mode 100644 "42 \346\226\271\345\242\236\345\205\264/\347\214\234\346\225\260\345\255\227.md" diff --git "a/42 \346\226\271\345\242\236\345\205\264/20221206 Random\345\222\214for\345\276\252\347\216\257\357\274\214while\345\276\252\347\216\257\357\274\214do while\345\276\252\347\216\257.md" "b/42 \346\226\271\345\242\236\345\205\264/20221206 Random\345\222\214for\345\276\252\347\216\257\357\274\214while\345\276\252\347\216\257\357\274\214do while\345\276\252\347\216\257.md" new file mode 100644 index 0000000..73dc025 --- /dev/null +++ "b/42 \346\226\271\345\242\236\345\205\264/20221206 Random\345\222\214for\345\276\252\347\216\257\357\274\214while\345\276\252\347\216\257\357\274\214do while\345\276\252\347\216\257.md" @@ -0,0 +1,99 @@ +[TOC] + +# do while循环 + +```java +格式: +初始化语句; +do { + 循环体语句; + 条件控制语句; +}while(条件判断语句); +do while执行流程: +① 执行初始化语句 ② 执行循环体语句 ③ 执行条件控制语句 + +④ 执行条件判断语句,看其结果是true还是false + +如果是false,循环结束 + +如果是true,继续执行 + +⑤ 回到②继续 + +三种循环的区别: +三种循环的区别: + +for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行) + +do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断) + +Random随机数 +概述: + +Random类似Scanner,也是Java提供好的API,内部提供了产生随机数的功能 + +API后续课程详细讲解,现在可以简单理解为Java已经写好的代码 + +使用步骤: + +import java.util.Random; //导入包 +Random r = new Random(); //创建对象 +int num = r.nextInt(10); //产生随机数 +//解释: 10代表的是一个范围,如果括号写10,产生的随机数就是0-9,括号写20,参数的随 +机数则是0-19 +``` + +# for和while循环的区别 + +```java +条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了 + +条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后, + +该变量还可以继续使用 + +死循环(无限循环)的三种格式 + +(1)for(;;){} (2)while(true){} (3)do {} while(true); + +跳转控制语句: +跳转控制语句(break) + +跳出循环,结束循环 + +跳转控制语句(continue) + +跳过本次循环,继续下次循环 + +注意: continue只能在循环中进行使用! +``` + +# 三种循环的区别 + +```java +for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行) + +do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断 +``` + +# Random随机数 + +```java +概述: + +Random类似Scanner,也是Java提供好的API,内部提供了产生随机数的功能 + +API后续课程详细讲解,现在可以简单理解为Java已经写好的代码 + +使用步骤: + +import java.util.Random; //导入包 +Random r = new Random(); //创建对象 +int num = r.nextInt(10); //产生随机数 +//解释: 10代表的是一个范围,如果括号写10,产生的随机数就是0-9,括号写20,参数的随 +机数则是0-19 +``` + + + +#### \ No newline at end of file diff --git "a/42 \346\226\271\345\242\236\345\205\264/\346\234\200\345\244\247\347\272\246\346\225\260.md" "b/42 \346\226\271\345\242\236\345\205\264/\346\234\200\345\244\247\347\272\246\346\225\260.md" new file mode 100644 index 0000000..576cf6d --- /dev/null +++ "b/42 \346\226\271\345\242\236\345\205\264/\346\234\200\345\244\247\347\272\246\346\225\260.md" @@ -0,0 +1,15 @@ +```java +public class k4 { + public static void main(String[] args) { + int j = 555555; + for (int i = 999; i >= 100; i--) { + if(j % i==0) { + System.out.println(i); + break; + } + } + } + } + +``` + diff --git "a/42 \346\226\271\345\242\236\345\205\264/\347\214\234\346\225\260\345\255\227.md" "b/42 \346\226\271\345\242\236\345\205\264/\347\214\234\346\225\260\345\255\227.md" new file mode 100644 index 0000000..7beb094 --- /dev/null +++ "b/42 \346\226\271\345\242\236\345\205\264/\347\214\234\346\225\260\345\255\227.md" @@ -0,0 +1,40 @@ +```java +import java.util.Random; +import java.util.Scanner; + +public class k3 { + public static void main(String[] args) { + int num = new Random().nextInt(100); + Scanner sc = new Scanner(System.in); + System.out.println("欢迎来到猜数字游戏,本游戏规则为:猜对结束循环,猜错三次游戏结束!"); + int count = 0; + while (count <= 3) { + System.out.println("请输入一个数字:"); + int guess = sc.nextInt(); + if (guess == num) { + System.out.println("真厉害一下子就猜到了!"); + break; + } else if (guess > num) { + System.out.println("猜大了,请重新开始:"); + + } else { + System.out.println("猜小了,请重新开始:"); + } + count += 1; + if (count == 3) { + System.out.println("因为你三次机会已经用完了,所以你可以选择y or n 来决定是否继续 "); + System.out.println("请输入:"); + char action =sc.next().charAt(0); + if (action == 'y'|| action=='Y') { + count = 0; + System.out.println("你以重新开始!"); + } else { + System.out.println("游戏结束"); + break; + } + } + } + } +} +``` + -- Gitee