xerga il y a 1 an
Parent
commit
637896abed

+ 1 - 0
JavaSE/.idea/modules.xml

@@ -5,6 +5,7 @@
       <module fileurl="file://$PROJECT_DIR$/JavaSE.iml" filepath="$PROJECT_DIR$/JavaSE.iml" />
       <module fileurl="file://$PROJECT_DIR$/day01/day01.iml" filepath="$PROJECT_DIR$/day01/day01.iml" />
       <module fileurl="file://$PROJECT_DIR$/day02/day02.iml" filepath="$PROJECT_DIR$/day02/day02.iml" />
+      <module fileurl="file://$PROJECT_DIR$/day03/day03.iml" filepath="$PROJECT_DIR$/day03/day03.iml" />
     </modules>
   </component>
 </project>

+ 6 - 0
JavaSE/.idea/vcs.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
+  </component>
+</project>

+ 11 - 0
JavaSE/day03/day03.iml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>

+ 25 - 0
JavaSE/day03/src/TestDIe13.java

@@ -0,0 +1,25 @@
+/**
+ * ClassName: TestScanner01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/20 9:14
+ * @Version 1.0
+ */
+public class TestDIe13 {
+
+     public static void main(String[] args) {
+         //条件 true
+//         while (true){
+//             System.out.println("123");
+//         }
+
+         // System.out.println("123");
+         //占用cpu过高。
+         // 死循环后 不能写任何代码 不能执行
+
+         for (;  ; ) {
+             System.out.println("1");
+         }
+
+     }
+}

+ 29 - 0
JavaSE/day03/src/TestDoWhile12.java

@@ -0,0 +1,29 @@
+import java.util.Scanner;
+
+/**
+ * ClassName: TestScanner01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/20 9:14
+ * @Version 1.0
+ */
+public class TestDoWhile12 {
+
+     public static void main(String[] args) {
+        /*
+        do while
+         */
+        int i = 0;
+
+        do {
+            System.out.println((i+1)+" hello");
+
+            //迭代
+            i++;
+        }while (false);
+
+        //do while 无条件执行循环体
+
+
+     }
+}

+ 30 - 0
JavaSE/day03/src/TestFor07.java

@@ -0,0 +1,30 @@
+import java.util.Scanner;
+
+/**
+ * ClassName: TestScanner01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/20 9:14
+ * @Version 1.0
+ */
+public class TestFor07 {
+
+     public static void main(String[] args) {
+         //for
+         // 编号
+         for (
+                 int i = 0;
+                 i < 10 ;
+                 i++ ){
+             System.out.println((i+1) + " hello");
+         }
+
+         //四要素
+         // int i = 0 初始化   起始值
+         // i < 10  条件判断   结束值
+         // i++ 迭代
+         // System.out.println((i+1) + " hello"); 执行体
+
+         // for 起始值 结束值 明确循环次数。
+     }
+}

+ 42 - 0
JavaSE/day03/src/TestFor08.java

@@ -0,0 +1,42 @@
+/**
+ * ClassName: TestScanner01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/20 9:14
+ * @Version 1.0
+ */
+public class TestFor08 {
+
+     public static void main(String[] args) {
+         //输出1-100的奇数数字.
+         //分析: 判断 是否奇数  对 2 取模。 判断
+         //       循环  1 - 100
+         for ( int i = 1 ;  i <= 100 ; i++){
+            if ( i % 2 != 0){
+                System.out.println("奇数:"+i);
+            }
+         }
+
+
+
+         //
+         System.out.println("---------------");
+
+         // 算出1-100的偶数数字的总和.
+         // 循环 1-100
+         // 判断
+         // 年月日 案例 标识 在 if 上面
+         // 有计数思想。
+
+         int sum = 0;
+
+         for ( int i = 1 ;  i <= 100 ; i++){
+             if ( i % 2 == 0){
+                sum+=i;
+             }
+         }
+
+         System.out.println("和:"+sum);
+
+     }
+}

+ 63 - 0
JavaSE/day03/src/TestFor09.java

@@ -0,0 +1,63 @@
+import java.util.Scanner;
+
+/**
+ * ClassName: TestScanner01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/20 9:14
+ * @Version 1.0
+ */
+public class TestFor09 {
+
+     public static void main(String[] args) {
+         //练习1:判断1-100之间,有多少个7.
+         int count = 0;
+
+         for (int i = 0; i < 100 ; i++) {
+             if ( i % 10 == 7 ){
+                count++;
+             }
+             if ( i / 10 == 7 ){
+                 count++;
+             }
+         }
+
+         System.out.println(count);
+
+         //练习2:输出一个三位数的水仙花数字.
+         for (int i = 100; i <  1000; i++) {
+             int g = i % 10;
+             int s = i % 100 / 10; // 153
+             int b = i / 100;
+
+             if (g*g*g + s*s*s + b*b*b == i ){
+                 System.out.println("水仙花:"+ i);
+             }
+         }
+
+
+         //练习3:键盘输入一个数字.判断其是否是 素数( 素数只能被1-100整除的数字 )
+         Scanner scanner = new Scanner(System.in);
+         System.out.println("请输入数字");
+         int num = scanner.nextInt();
+
+         // 11 % 2 - 10
+         // 标识  2 - 10  改变状态 标识
+         // 判断标识
+        boolean flag = true;
+
+         for (int i = 2; i < num; i++) {
+             if ( num % i  == 0 ){
+                 flag = false;
+             }
+         }
+
+         if (flag){
+             System.out.println("num :"+num + "是素数");
+         }else {
+             System.out.println("num :"+num + "不是素数");
+         }
+        
+
+     }
+}

+ 69 - 0
JavaSE/day03/src/TestForFor14.java

@@ -0,0 +1,69 @@
+/**
+ * ClassName: TestScanner01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/20 9:14
+ * @Version 1.0
+ */
+public class TestForFor14 {
+
+     public static void main(String[] args) {
+          //格式
+          //打印5行6个*
+          for (int i = 0; i < 5 ; i++) { //外层 控制行
+               for (int j = 0; j < 6; j++) { //内层  空列
+                    System.out.print(" *");
+               }
+               System.out.println();
+          }
+
+
+          //打印5行直角三角形
+          /*
+
+           *             第1行   打印 1               i = 0  j = 0
+           **            第2行   打印 2               i = 1  j = 1
+           ***           第3行   打印 3
+           ****
+           *****         第3行   打印 3 通过行 控制列
+
+           */
+
+          for (int i = 0; i < 5 ; i++) { //外层 控制行
+               for (int j = 0; j <= i; j++) { //内层  空列
+                    System.out.print(" *");
+               }
+               System.out.println();
+          }
+
+          /*
+             打印 倒 直角 三角形
+               * * * * *         第1行  打印 5    i = 0   j = 5
+               * * * *           第2行  打印 4    i = 1   j = 4
+               * * *             第3行  打印 3    i = 2   j = 3
+               * *               第4行  打印 2
+               *                 第5行  打印 1    i = 5   j = 0;
+           */
+          for (int i = 0; i < 5 ; i++) { //外层 控制行
+               for (int j = 0; j < 5 - i; j++) { //内层  空列
+                    System.out.print(" *");
+               }
+               System.out.println();
+          }
+
+
+          /*
+          九九乘法表
+           */
+
+          for (int i = 1; i < 10; i++) {
+               for (int k = 1; k <= i; k++) {
+                    System.out.print( i +"*"+k+ "="+ (i*k)+'\t');
+               }
+               System.out.println();
+          }
+
+
+
+     }
+}

+ 56 - 0
JavaSE/day03/src/TestForFor15.java

@@ -0,0 +1,56 @@
+/**
+ * ClassName: TestScanner01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/20 9:14
+ * @Version 1.0
+ */
+public class TestForFor15 {
+
+     public static void main(String[] args) {
+          //上半部分:正的等腰三角形
+          //5行
+          for(int i=1; i<=5; i++){
+               //(1)打印空格
+			/*
+			当i=1,打印4个空格,j=4,3,2,1	j>=i
+			当i=2,打印3个空格,j=4,3,2
+			当i=3,打印2个空格,j=4,3
+			当i=4,打印1个空格,j=4
+			当i=5,打印0个空格,j=4,让循环条件一次都不满足
+			*/
+               for(int j=4; j>=i; j--){
+                    System.out.print("  ");
+               }
+               //(2)打印*
+			/*
+			当i=1,打印1个,j=1					j<=2*i-1
+			当i=2,打印3个,j=1,2,3,
+			当i=3,打印5个,j=1,2,3,4,5
+			当i=4,打印7个,j=1,2,3,4,5,6,7
+			当i=5,打印9个,j=1,2,3,4,5,6,7,8,9
+			*/
+               for(int j=1; j<=2*i-1; j++){
+                    System.out.print("* ");
+               }
+               //(3)换行
+               System.out.println();
+          }
+
+
+
+          //*
+          // 公鸡只数的可能性
+          for (int gong = 0; gong <= 20 ;gong++ ) {
+               // 母鸡只数的可能性
+               for (int mu = 0; mu <= 33 ;mu++ ) {
+                    // 小鸡只数
+                    int xiao = 100 - gong - mu;
+                    // 进行条件的判断
+                    if ((xiao % 3 == 0) && (gong * 5 + mu * 3 + xiao / 3 == 100)) {
+                         System.out.println("公鸡有"+gong+"只,母鸡有"+mu+"只,小鸡有"+xiao+"只");
+                    }
+               }
+          }
+     }
+}

+ 37 - 0
JavaSE/day03/src/TestMath03.java

@@ -0,0 +1,37 @@
+import java.util.Scanner;
+
+/**
+ * ClassName: TestScanner01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/20 9:14
+ * @Version 1.0
+ */
+public class TestMath03 {
+
+    public static void main(String[] args) {
+        //类名.方法
+        // Math 数学工具类。
+
+        double random = Math.random();
+
+        System.out.println(random);
+
+        //改变
+        // 需求 生成 0-100)之间的随机数。
+        int i =  (int) (random * 100);
+        System.out.println(i);
+
+        //注意
+        // 不能堆 random单独转换
+
+        //50 - 100 生成
+        //先生成 0-50 加  50
+        int v = (int)(Math.random() * 50) + 50;
+        System.out.println(v);
+
+        //公式
+        // a - b 之间的值。
+        // ( Math.random() *  b - a ) + a;
+    }
+}

+ 29 - 0
JavaSE/day03/src/TestScanner01.java

@@ -0,0 +1,29 @@
+import java.util.Scanner; //导入
+/**
+ * ClassName: TestScanner01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/20 9:14
+ * @Version 1.0
+ */
+public class TestScanner01 {
+
+
+    //Scanner
+    public static void main(String[] args) {
+        //创建对象
+        Scanner scanner = new Scanner(System.in);
+
+        //使用方法
+        System.out.println("请入int类型数据");
+        // 接收 int类性的值
+        int number = scanner.nextInt();
+
+        //打印
+        System.out.println("输入的数字是:"+number);
+
+        //注意:
+        // 输入类型必须 匹配 不匹配报错
+
+    }
+}

+ 48 - 0
JavaSE/day03/src/TestScanner02.java

@@ -0,0 +1,48 @@
+import java.util.Scanner;
+
+/**
+ * ClassName: TestScanner01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/20 9:14
+ * @Version 1.0
+ */
+public class TestScanner02 {
+
+
+    //Scanner
+    public static void main(String[] args) {
+        //创建对象
+        Scanner scanner = new Scanner(System.in);
+
+        //输入个人信息
+        // 名称  zs
+        // 年龄  22
+        // 体重  78.9
+        // 是否结婚 false
+        // 是否成年 是
+        System.out.println("请输入名称");
+        String name = scanner.next();
+
+        System.out.println("请输入年龄");
+        int age = scanner.nextInt();
+
+        System.out.println("请输入体重");
+        double weight = scanner.nextDouble();
+
+        System.out.println("请婚姻状况 true false");
+        boolean isMarry = scanner.nextBoolean();
+
+        System.out.println("年满十八岁? 是/否");
+        char isMan  = scanner.next().charAt(0);
+
+        System.out.println("我的个人信息如下");
+
+        System.out.println("名称:"+name);
+        System.out.println("年龄:"+age);
+        System.out.println("体重:"+weight);
+        System.out.println("婚姻状况:"+isMarry);
+        System.out.println("是否成年:"+isMan);
+
+    }
+}

+ 48 - 0
JavaSE/day03/src/TestSwitch04.java

@@ -0,0 +1,48 @@
+import java.util.Scanner;
+
+/**
+ * ClassName: TestScanner01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/20 9:14
+ * @Version 1.0
+ */
+public class TestSwitch04 {
+
+    //根据数字 显示星期
+    public static void main(String[] args) {
+
+        //输入数字
+        Scanner scanner = new Scanner(System.in);
+
+        System.out.println("请输入正整数数字");
+        int i = scanner.nextInt();
+
+        switch (i){
+            case 1:
+                System.out.println("星期1");
+                break;
+            case 2:
+                System.out.println("星期2");
+                break;
+            case 3:
+                System.out.println("星期3");
+                break;
+            case 4:
+                System.out.println("星期4");
+                break;
+            case 5:
+                System.out.println("星期5");
+                break;
+            case 6:
+                System.out.println("星期6");
+                break;
+            case 7:
+                System.out.println("星期日");
+                break;
+            default:
+                System.out.println("输入的星期不存在!!");
+
+        }
+    }
+}

+ 35 - 0
JavaSE/day03/src/TestSwitch05.java

@@ -0,0 +1,35 @@
+import java.util.Scanner;
+
+/**
+ * ClassName: TestScanner01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/20 9:14
+ * @Version 1.0
+ */
+public class TestSwitch05 {
+
+    //switch(表达式)中表达式的值必须是下述几种类型之一:
+    // byte,short,char,int,枚举 (jdk 5.0) 后面学习,String (jdk 7.0);
+    // case子句中的值必须是常量,不能是变量名或不确定的表达式值或范围;
+    // 同一个switch语句,所有case子句中的常量值互不相同;
+    // break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾;
+    // default子句是可选的。同时,位置也是灵活的。当没有匹配的case时,执行default语句。
+    public static void main(String[] args) {
+
+        String i = "c";
+
+        switch (i){
+            case "a":
+                System.out.println("1");
+                break;
+            case "b":
+                System.out.println("2");
+                break;
+            default:
+                System.out.println("不存在!!");
+                //break;
+
+        }
+    }
+}

+ 62 - 0
JavaSE/day03/src/TestSwitch06.java

@@ -0,0 +1,62 @@
+import java.util.Scanner;
+
+/**
+ * ClassName: TestScanner01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/20 9:14
+ * @Version 1.0
+ */
+public class TestSwitch06 {
+
+     public static void main(String[] args) {
+         //输入
+         Scanner scanner = new Scanner(System.in);
+         //判断验证年月日是否符合。
+
+         //输入年月日
+         System.out.println("请输入年份!");
+         int year = scanner.nextInt();
+         System.out.println("请输入月份!");
+         int month = scanner.nextInt();
+         System.out.println("请输入天数!");
+         int day = scanner.nextInt();
+
+         //计算总天数
+         int days = 0;
+
+         switch (month){
+             case 12:
+                 days+= 30;
+             case 11:
+                 days+= 31;
+             case 10:
+                 days+= 30;
+             case 9:
+                 days+= 31;
+             case 8:
+                 days+= 31;
+             case 7:
+                 days+= 30;
+             case 6:
+                 days+= 31;
+             case 5:
+                 days+= 30;
+             case 4:
+                 days+= 31;
+             case 3:
+                 //是否是闰年
+                 if ( year % 4 == 0 && year %100 != 0  || year % 400 ==0  ){
+                     days++;
+                 }
+                 days+= 28;
+             case 2:
+                 days+= 31;
+             case 1:
+                 days+= day;
+         }
+
+
+         System.out.println(year+"年"+month+"月"+days+"日 是当年的第"+days+"天");
+     }
+}

+ 47 - 0
JavaSE/day03/src/TestWhile10.java

@@ -0,0 +1,47 @@
+import java.util.Scanner;
+
+/**
+ * ClassName: TestScanner01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/20 9:14
+ * @Version 1.0
+ */
+public class TestWhile10 {
+
+     public static void main(String[] args) {
+        //while 循环10次 hello
+        //初始化
+         int i = 1;
+         //判断
+         while ( i < 10){
+             //执行体
+             System.out.println((i+1)+" hello");
+             //迭代
+             i++;
+         }
+
+         // 水井深12米,青蛙第一天跳1米,之后每天比前一天多跳0.2米.请问几天能跳出井.
+         //  while 循环特点:没有明确循环次数。
+         //  12   跳的高度 1   1.2   1.4
+         //  剩余高读 12 -  跳的高度 > 0
+
+         double num = 1; //初始高度
+         double dis = 0; //跳的高度的总和
+         int count = 0;
+
+         while ( dis < 12  ){
+             //高度的总和
+             dis += num;
+             //每天的高度
+             num+=0.2;
+
+             //计数
+             count++;
+         }
+         System.out.println("用了"+count+"天");
+
+
+
+     }
+}

+ 48 - 0
JavaSE/day03/src/TestWhile11.java

@@ -0,0 +1,48 @@
+import java.util.Scanner;
+
+/**
+ * ClassName: TestScanner01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/20 9:14
+ * @Version 1.0
+ */
+public class TestWhile11 {
+
+     public static void main(String[] args) {
+        /*
+        随机生成一个100以内的数,猜这个随机数是多少?
+        从键盘输入数,如果大了,提示猜大了;如果小了,提示猜小了;如果对了,就不再猜了,
+        并统计一共猜了多少次。
+         */
+
+         Scanner scanner = new Scanner(System.in);
+         //随机数
+         int num = (int)(Math.random()*100);
+         System.out.println("请输入数字");
+         //输入
+         int inputNum = scanner.nextInt();
+
+         int count = 0;
+         //不相等进入循环
+         while ( inputNum != num ){
+            if (inputNum > num){
+                System.out.println("猜大了");
+            }
+
+            if ( inputNum < num ){
+                System.out.println("猜小了");
+            }
+             System.out.println("请输入数字");
+            //输入值改变
+             inputNum = scanner.nextInt();
+             //count
+
+             count++;
+         }
+
+         System.out.println("随机数是:"+num);
+         System.out.println("猜测次数:"+count);
+
+     }
+}

+ 48 - 0
JavaSE/day03/src/TestWhileBreak16.java

@@ -0,0 +1,48 @@
+import java.util.Scanner;
+
+/**
+ * ClassName: TestScanner01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/20 9:14
+ * @Version 1.0
+ */
+public class TestWhileBreak16 {
+
+     public static void main(String[] args) {
+        /*
+        随机生成一个100以内的数,猜这个随机数是多少?
+        从键盘输入数,如果大了,提示猜大了;如果小了,提示猜小了;如果对了,就不再猜了,
+        并统计一共猜了多少次。
+         */
+
+         Scanner scanner = new Scanner(System.in);
+         //随机数
+         int num = (int)(Math.random()*100);
+
+         int count = 0;
+         //不相等进入循环
+         while ( true ){
+                //输入
+                System.out.println("请输入数字");
+                int inputNum = scanner.nextInt();
+
+                if (inputNum > num){
+                    System.out.println("猜大了");
+                }
+                if ( inputNum < num ){
+                    System.out.println("猜小了");
+                }
+                if (inputNum == num){
+                    System.out.println("猜对了");
+                    break;
+                }
+                //count
+                count++;
+         }
+
+         System.out.println("随机数是:"+num);
+         System.out.println("猜测次数:"+count);
+
+     }
+}

+ 44 - 0
JavaSE/day03/src/TestZhiShu17.java

@@ -0,0 +1,44 @@
+import java.util.Scanner;
+
+/**
+ * ClassName: TestScanner01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/20 9:14
+ * @Version 1.0
+ */
+public class TestZhiShu17 {
+
+     public static void main(String[] args) {
+        /*
+         2-1000之间的素数
+         */
+
+         long start = System.currentTimeMillis();
+         //boolean flag = true; //8430  优化1  8502   优化2 814   优化3  对i开方  9
+         // 25 取模  2 - 24
+         // 25 的开方
+         for (int i = 2; i < 100000 ; i++) {
+             boolean flag = true;
+             //内
+             for (int k = 2; k <= Math.sqrt(i) ; k++) {
+                 if ( i % k == 0 ){
+                     //标识
+                     flag = false;
+                     //停止 优化2 break
+                     break;
+                 }
+             }
+
+             if (flag){
+                 //System.out.println(i+"是素数");
+             }
+             //flag = true;
+         }
+
+         long end = System.currentTimeMillis();
+
+         System.out.println(end - start);
+
+     }
+}

+ 29 - 0
JavaSE/day03/src/Testbc15.java

@@ -0,0 +1,29 @@
+/**
+ * ClassName: TestScanner01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/20 9:14
+ * @Version 1.0
+ */
+public class Testbc15 {
+
+     public static void main(String[] args) {
+          //break
+          for (int i = 0; i < 10; i++) {
+               if (i == 3){
+                    break;
+               }
+               System.out.println("hello world");
+          }
+
+          System.out.println("-----------------");
+          //continue
+          for (int i = 0; i < 10; i++) {
+               if (i == 3){
+                   continue;
+               }
+               System.out.println((i+1)+" hello world");
+          }
+
+     }
+}