From 226ab359fc95d04b9ce06f7fda6144184c26d722 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=96=E5=BF=83=E5=A6=8D?= <2392642810@qq.com> Date: Sat, 3 Dec 2022 20:18:31 +0800 Subject: [PATCH 1/2] =?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 --- .../20221203 for\345\276\252\347\216\257.md" | 217 ++++++++++++++++++ 1 file changed, 217 insertions(+) create mode 100644 "03 \350\265\226\345\277\203\345\246\215/20221203 for\345\276\252\347\216\257.md" diff --git "a/03 \350\265\226\345\277\203\345\246\215/20221203 for\345\276\252\347\216\257.md" "b/03 \350\265\226\345\277\203\345\246\215/20221203 for\345\276\252\347\216\257.md" new file mode 100644 index 0000000..04b8527 --- /dev/null +++ "b/03 \350\265\226\345\277\203\345\246\215/20221203 for\345\276\252\347\216\257.md" @@ -0,0 +1,217 @@ +### For循环 + +格式: + +```java +for (初始化语句;条件判断语句;条件控制语句) { + 循环体语句; +} +``` + +#### 一些练习 + + 水仙花数(个十百位相加的立方等于这个数本身),输出两个数然后换行 + +```java +import java.util.Scanner; + +public class D1 { + public static void main(String[] args) { + + //先定值h + int h=0; + + for (int i=100;i<=999;i++){ + + //求个十百位的数值 + int g=i%10; + int s=i/10%10; + int b=i/100; + + //计算水仙花数 + if (g*g*g+s*s*s+b*b*b==i){ + System.out.println(i+" "); + + //h自增让偶数换行 + h++; + if (h%2==0){ + System.out.println(); + } + } + } + } +} +``` + +输出1-10与10-1 + +```java +public class D2 { + public static void main(String[] args) { + + for(int i=1;i<=10;i++){ + System.out.print(i+" "); + } + + System.out.println(); + System.out.println("--------------------"); + + for(int i=10;i>=1;i--){ + System.out.print(i+" "); + } + } +} +``` + +输出26个字母(小写),元音用[ ]框起来 + +```java +public class D3 { + public static void main(String[] args) { + + //ascii码'a'=97,'z'=122 + + for (char i='a';i<='z';i++){ + char c=(char)(97+i); + if(c=='a' || c=='e' || c=='i' || c=='o' || c=='u'){ + System.out.print("[" + i + "] "); + } + } + } +} +``` + +九九乘法表 + +```java +public class D5 { + public static void main(String[] args) { + + //九九乘法表 + //\t是制表 + for(int i=1;i<=9;i++){ + for(int j=1;j<=i;j++){ + System.out.print(j + "x" + i + "=" + i*j + "\t"); + } + System.out.println(); + } + } +} +``` + +求1-10的偶数和 + +```java +public class D6 { + public static void main(String[] args) { + + int a=0; + + for(int i=1;i<=10;i++){ + if (i%2==0){ + a +=i;//a = a + i + } + } + System.out.println(a); + } +} +``` + +**补充** + +用穿透计算此年第几天 + +```java +import java.util.Scanner; + +public class D4 { + public static void main(String[] args) { + + Scanner sc=new Scanner(System.in); + System.out.println("请输入年份"); + int year = sc.nextInt(); + System.out.println("请输入月份"); + int month = sc.nextInt(); + System.out.println("请输入日期"); + int day = sc.nextInt(); + + int num=day; + + switch (month-1){ + case 12: + num+=31; + case 11: + num+=30; + case 10: + num+=31; + case 9: + num+=30; + case 8: + num+=31; + case 7: + num+=31; + case 6: + num+=30; + case 5: + num+=31; + case 4: + num+=30; + case 3: + num+=31; + case 2: + if ((year%4==0 && year%100!=0) || (year %400==0)){ + num+=29; + }else{ + num+=28; + } + case 1: + num+=31; + } + System.out.println(year + "年" + month + "月" + day + "日,是这一年中的第" + num + "天"); + } +} +``` + +### 作业 + +让用户输入一个数字,根据这个数字,循环输出"我爱学习,我爱java",比如,用户输入数字 9 就在控制台输出9行"我爱学习,我爱java" + +```java +import java.util.Scanner; + +public class D1 { + public static void main(String[] args) { + + Scanner sc=new Scanner(System.in); + System.out.println("请输入循环几次"); + int a= sc.nextInt(); + + for (int i=1;i<=a;i++){ + System.out.println("我爱学习,我爱java"); + } + } +} +``` + +用户分别输入数 a,数b,让程序实现从a 开始循环到b.输出"有生之年,能看到中国队出线吗?" + +```java +import java.util.Scanner; + +public class D2 { + public static void main(String[] args) { + + Scanner sc=new Scanner(System.in); + System.out.println("请输入数a"); + int a= sc.nextInt(); + System.out.println("请输入数b"); + int b= sc.nextInt(); + + for(int i=a;i<=b;i++){ + System.out.println("有生之年,能看到中国队出线吗?"); + } + } +} + +``` + -- Gitee From 6283d67ae8021a52229fe27f603fc2d944352def Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=96=E5=BF=83=E5=A6=8D?= <2392642810@qq.com> Date: Mon, 5 Dec 2022 21:36:15 +0800 Subject: [PATCH 2/2] =?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 --- ...14\351\232\217\346\234\272\346\225\260.md" | 168 ++++++++++++++++++ 1 file changed, 168 insertions(+) create mode 100644 "03 \350\265\226\345\277\203\345\246\215/20221205 while\345\276\252\347\216\257\345\222\214\351\232\217\346\234\272\346\225\260.md" diff --git "a/03 \350\265\226\345\277\203\345\246\215/20221205 while\345\276\252\347\216\257\345\222\214\351\232\217\346\234\272\346\225\260.md" "b/03 \350\265\226\345\277\203\345\246\215/20221205 while\345\276\252\347\216\257\345\222\214\351\232\217\346\234\272\346\225\260.md" new file mode 100644 index 0000000..1066b92 --- /dev/null +++ "b/03 \350\265\226\345\277\203\345\246\215/20221205 while\345\276\252\347\216\257\345\222\214\351\232\217\346\234\272\346\225\260.md" @@ -0,0 +1,168 @@ +### while循环 + +```java +初始化语句; +while (条件判断语句) { +循环体语句; +条件控制语句; +} +``` + +**小练习** + +求1-100的偶数 + +```java +public class D1 { + public static void main(String[] args) { + int a=1; + while(a<=100){ + if (a%2==0){ + System.out.println(a + " "); + a++; + }else{ + a++; + } + } + } +} +``` + +### do while循环 + +```java +初始化语句; +do { +循环体语句; +条件控制语句; +}while(条件判断语句); +``` + +示例代码 + +```java +public class DoWhileDemo { +public static void main(String[] args) { +//需求:在控制台输出5次"HelloWorld" +//for循环实现 +for(int i=1; i<=5; i++) { +System.out.println("HelloWorld"); +} +System.out.println("--------"); +//do...while循环实现 +int j = 1; +do { +System.out.println("HelloWorld"); +j++; +}while(j<=5); +} +} +``` + +*死循环* + +```java +for死循环格式 : +for(;;){ +} +while死循环格式 : +while(true){ +} +do..while死循环格式 : +do{ +}while(true); +``` + +*跳转控制语句* + +**break** + +跳出循环,结束循环 + +**continue** + +跳过本次循环,继续下次循环 + +***注意: continue只能在循环中进行使用!*** + +### 随机数 + +导入包 import java.util.Random; + +创建对象 Random r = new Random(); + +产生随机数 int num = r.nextInt(10); + +解释: 10代表的是一个范围,如果括号写10,产生的随机数就是0-9,括号写20,参数的随 机数则是0-19 + +### 作业 + +求555555的约数中最大的三位数。提示:最大的三位数介于100~999之间,根据题意,求其中最大的,所以需要从大到小循环 + +```java +public class D4 { + public static void main(String[] args) { + + int max=1; + + for (int i=999;i>=100;i--){ + if (555555%i==0){ + if(maxnum){ + System.out.println("你猜的数字太大了!再猜"); + }else{ + System.out.println("恭喜你,猜对了!"); + if(i==1){ + System.out.println("你太厉害了,一次就才猜对"); + break; + }else if(i>=2 && i<=6){ + System.out.println("你很聪明!"); + break; + }else{ + System.out.println("笨笨,你猜这么多次!"); + break; + } + } + + //计数 + i++; + + } + } +} +``` + -- Gitee