guyanqing há 7 meses atrás
pai
commit
ad88aa0984
43 ficheiros alterados com 1397 adições e 20 exclusões
  1. 3 20
      pom.xml
  2. 157 0
      src/main/java/com/sf/day04/HomeWork01.java
  3. 138 0
      src/main/java/com/sf/day04/TE.java
  4. 18 0
      src/main/java/com/sf/day04/TE2.java
  5. 192 0
      src/main/java/com/sf/sx/day01/Te.java
  6. 81 0
      src/main/java/com/sf/sx/day02/TE.java
  7. 55 0
      src/main/java/com/sf/sx/day03/Te.java
  8. 28 0
      src/main/java/com/sf/sx/day04/BSX.java
  9. 122 0
      src/main/java/com/sf/sx/day04/Car.java
  10. 27 0
      src/main/java/com/sf/sx/day04/DP.java
  11. 41 0
      src/main/java/com/sf/sx/day04/FDJ.java
  12. 65 0
      src/main/java/com/sf/sx/day04/Person.java
  13. 12 0
      src/main/java/com/sf/sx/day04/PersonUtils.java
  14. 79 0
      src/main/java/com/sf/sx/day04/Student.java
  15. 84 0
      src/main/java/com/sf/sx/day04/TE.java
  16. 50 0
      src/main/java/com/sf/sx/day04/l2/Cat.java
  17. 50 0
      src/main/java/com/sf/sx/day04/l2/Mouse.java
  18. 31 0
      src/main/java/com/sf/sx/day04/l2/Person.java
  19. 71 0
      src/main/java/com/sf/sx/day04/l2/Phone.java
  20. 49 0
      src/main/java/com/sf/sx/day04/l2/extend/Animal.java
  21. 22 0
      src/main/java/com/sf/sx/day04/l2/extend/Cat.java
  22. 22 0
      src/main/java/com/sf/sx/day04/l2/extend/Mouse.java
  23. BIN
      target/classes/com/sf/day04/HomeWork01.class
  24. BIN
      target/classes/com/sf/day04/TE.class
  25. BIN
      target/classes/com/sf/day04/TE2.class
  26. BIN
      target/classes/com/sf/sx/day01/Te.class
  27. BIN
      target/classes/com/sf/sx/day02/TE.class
  28. BIN
      target/classes/com/sf/sx/day03/Te.class
  29. BIN
      target/classes/com/sf/sx/day04/BSX.class
  30. BIN
      target/classes/com/sf/sx/day04/Car.class
  31. BIN
      target/classes/com/sf/sx/day04/DP.class
  32. BIN
      target/classes/com/sf/sx/day04/FDJ.class
  33. BIN
      target/classes/com/sf/sx/day04/Person.class
  34. BIN
      target/classes/com/sf/sx/day04/PersonUtils.class
  35. BIN
      target/classes/com/sf/sx/day04/Student.class
  36. BIN
      target/classes/com/sf/sx/day04/TE.class
  37. BIN
      target/classes/com/sf/sx/day04/l2/Cat.class
  38. BIN
      target/classes/com/sf/sx/day04/l2/Mouse.class
  39. BIN
      target/classes/com/sf/sx/day04/l2/Person.class
  40. BIN
      target/classes/com/sf/sx/day04/l2/Phone.class
  41. BIN
      target/classes/com/sf/sx/day04/l2/extend/Animal.class
  42. BIN
      target/classes/com/sf/sx/day04/l2/extend/Cat.class
  43. BIN
      target/classes/com/sf/sx/day04/l2/extend/Mouse.class

+ 3 - 20
pom.xml

@@ -18,13 +18,7 @@
 
   <dependencyManagement>
     <dependencies>
-      <dependency>
-        <groupId>org.junit</groupId>
-        <artifactId>junit-bom</artifactId>
-        <version>5.11.0</version>
-        <type>pom</type>
-        <scope>import</scope>
-      </dependency>
+
     </dependencies>
   </dependencyManagement>
 
@@ -41,25 +35,14 @@
       <artifactId>druid</artifactId>
       <version>1.2.6</version>
     </dependency>
-
-
-    <dependency>
-      <groupId>org.junit.jupiter</groupId>
-      <artifactId>junit-jupiter-api</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <!-- Optionally: parameterized tests support -->
-    <dependency>
-      <groupId>org.junit.jupiter</groupId>
-      <artifactId>junit-jupiter-params</artifactId>
-      <scope>test</scope>
-    </dependency>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>4.13.2</version>
       <scope>compile</scope>
     </dependency>
+
+
   </dependencies>
 
   <build>

+ 157 - 0
src/main/java/com/sf/day04/HomeWork01.java

@@ -0,0 +1,157 @@
+package com.sf.day04;
+
+import org.junit.Test;
+
+import java.util.Scanner;
+
+public class HomeWork01 {
+    /**
+     * 案例需求:假设从2000年1月1日开始
+     * 三天打鱼,两天晒网,
+     * 从键盘输入今天的日期年、月、日,
+     * 显示今天是打鱼还是晒网?
+     * 检查输入的合法性
+     * @param args
+     */
+    public static void main(String[] args) {
+        Scanner scanner = new Scanner(System.in);
+        System.out.println("请输入日期");
+        int year;
+        while (true){
+            System.out.println("请输入年份~");
+             year = scanner.nextInt();
+             //  判断合法性
+            if(year >= 2000){
+                break;
+            }else {
+                System.out.println("输入的年份必须大于等于2000,请重新输入~");
+            }
+        }
+
+        int month;
+        while (true){
+            System.out.println("请输入月份~");
+            month = scanner.nextInt();
+            //判断月份的合法性
+            if(month >= 1  &&  month <= 12){
+                break;
+            }else {
+                System.out.println("输入的月份有误,请重新输入~");
+            }
+        }
+
+        //  判断每个月的天数
+        int totalDaysOfMonth;
+        if(month == 2){
+            // 闰年
+            if((year % 4 == 0 &&  year % 100 != 0) || year % 400 == 0 ){
+                totalDaysOfMonth = 29;
+            }else {
+                totalDaysOfMonth = 28;
+            }
+        }else if (month == 4 || month == 6 || month == 9 ||month == 11 ){
+            totalDaysOfMonth = 30;
+        }else {
+            totalDaysOfMonth = 31;
+        }
+
+
+        // 日
+        int day;
+        while (true){
+            System.out.println("日~");
+            day = scanner.nextInt();
+            if(day < 0){
+                System.out.println("输入有误");
+            }else if (day > totalDaysOfMonth){
+                System.out.println("您输入的年份是"+year+"年"+month+"月,这个月有"+ totalDaysOfMonth+"天");
+            }else {
+                break;
+            }
+        }
+
+        // 计算总天数 【2000  - year - 1】
+        int days = 0;
+        for (int i = 2000;i<year;i++){
+            if((year % 4 == 0 &&  year % 100 != 0) || year % 400 == 0 ){
+                days += 366;
+            }else {
+                days += 365;
+            }
+        }
+
+
+        for (int i= 1;i < month;i++){
+            if (i == 4 || i == 6 || i == 9 ||i == 11 ){
+                days += 30;
+            }else if(i ==2){
+                if((year % 4 == 0 &&  year % 100 != 0) || year % 400 == 0 ){
+                    days += 29;
+                }else {
+                    days += 28;
+                }
+            }else {
+                days += 31;
+            }
+        }
+        days += day;
+        // 判断是打鱼还是筛网
+        if(days % 5 == 1 || days % 5 == 2  || days % 5 == 3){
+            System.out.println("打鱼~");
+        }else {
+            System.out.println("晒网~");
+        }
+    }
+
+
+    //  打印『X』对称图形
+    @Test
+    public void t1(){
+     for (int i= 1;i<=7;i++){
+         for (int j= 1;j<=7;j++){
+             if(j == i || j == 8 - i){
+                 System.out.print("O");
+             }else {
+                 System.out.print("*");
+             }
+         }
+         System.out.println();
+     }
+    }
+
+
+    //  打印空心菱形
+    @Test
+    public void t2(){
+        for (int i = 1;i<=5;i++){
+            for (int j = 4;j>=i;j--){
+                System.out.print("  ");
+            }
+
+            //  ✳
+            for (int k = 1;k<=2*i-1 ;k++){
+                if(k == 1 ||  k == 2*i-1){
+                    System.out.print("*");
+                }else {
+                    System.out.print("  ");
+                }
+            }
+            System.out.println();
+        }
+
+        for (int m = 1;m <= 4; m++){
+            for (int n = 1;n <= m; n++){
+                System.out.print("  ");
+            }
+            //   *
+            for (int o = 1;o<=9 -2 * m;o++){
+                if(o  == 1 ||  o == 9 -2 * m){
+                    System.out.print("*");
+                }else {
+                    System.out.print("  ");
+                }
+            }
+            System.out.println();
+        }
+    }
+}

+ 138 - 0
src/main/java/com/sf/day04/TE.java

@@ -0,0 +1,138 @@
+package com.sf.day04;
+
+import org.junit.Test;
+
+import java.util.Arrays;
+
+public class TE {
+    public static void main(String[] args) {
+        TE te = new TE();
+        te.getSum();
+    }
+    @Test
+    public void t1(){
+    /**
+     * 方法:作用是不是讲一段代码反复执行啊  解耦
+     * 方法的语法结构:
+     * 返回值类型  -->
+     *        有返回值   数据类型  -基本数据类型  +  引用数据类型
+     *        eg:获取小明的年龄   -返回值     int
+     *        eg:获取小明的名字   -返回值     String
+     *        无返回值   void
+     * 参数 :  (参数的数据类型    参数名)
+     *          形参和实参:
+     *          形式参数  :  直接规定该方法参入参数的数据类型
+     * 权限修饰符  【其他修饰符】 返回值类型  方法名(参数) throws 异常类型{
+     *     代码体
+     *     ps:如果有返回值  return  返回值类型;
+     * }
+     *
+     * 注意点:位置:类内  主函数外   --  方法和方法不能嵌套定义    但是一个方法可以调用另一个方法
+     *
+     * 重载方法:;在一个类中  , 方法名相同,参数列表不同(数据类型不同,数量不同,顺序不同),并跟返回值没有关系
+     *
+     * 可变入参:object ... args
+     *想计算全班同学的总成绩,分男女  参数不确定
+     *
+     * 静态方法和实例方法 —+   static 区别  调用方法不同
+     *
+     *
+     * 方法的调用:
+     * 同类中:实例方法-->实例方法    --  通过方法名进行调用
+     *
+     *                 -->静态方法  --  通过方法名进行调用(调用用静态方法方法名有斜体)
+     *       静态方法(static)  -->实例方法    -- 通过创建当前类的对象  (类名  对象名 =new  类名),对象名.方法名();
+     *                   -->静态方法   -- 通过方法名进行调用(调用用静态方法方法名有斜体)
+     * 不同类:
+     *       实例方法  -- > 实例方法  --通过创建该方法所在类的对象  (类名  对象名 =new  类名),对象名.方法名();
+     *                        -->  静态方法   类名.方法名();
+     *        静态方法(static)-->  实例方法  --   通过创建该方法所在类的对象  (类名  对象名 =new  类名),对象名.方法名();
+     *                        -->  静态方法  -- 类名.方法名();
+     *
+     *     递归:自己调用自己
+     *     ps:出口   终止条件
+     *     //  6的阶乘     6*5*4*3*2*1
+     */
+
+        int sum = getSum(90,80);
+        System.out.println(sum);
+
+        getStaticSum();
+    }
+
+
+    public void m1(){
+
+    }
+
+    public void m1(String name){
+
+    }
+
+
+    public  int getSum(int ... scores){
+        int sum = 0;
+        for(int  i = 0;i<scores.length;i++){
+            sum += scores[i];
+        }
+            return sum;
+    }
+
+
+    public static   int getStaticSum(int ... scores){
+        int sum = 0;
+        for(int  i = 0;i<scores.length;i++){
+            sum += scores[i];
+        }
+        return sum;
+    }
+
+
+    /**
+     * 阶乘
+     * @return
+     */
+    public int jc(int n){
+        if( n == 1){
+            return 1;
+        }
+        return n * jc(n - 1);
+    }
+
+    @Test
+    public void t3(){
+      //  初始化数组int
+        int[] arr = new int[]{1,2,3,4,5,6,9};
+        int[] arr1 = {1,2,3,4,5,6,9};
+        int[] arr2;
+        arr2 = new int[]{1,2,3,4,5,6,9};
+        int[] arr3;
+//        arr3 = {1,2,3,4,5,6,9};
+
+        String[] heroes = {"袁隆平","邓稼先","钱学森"};
+        System.out.println(heroes[0]);
+        System.out.println(heroes[1]);
+        System.out.println(heroes[2]);
+//        System.out.println(heroes[3]);
+        System.out.println(heroes.length);
+
+        for (String hero : heroes) {
+            System.out.println(hero);
+        }
+
+        String s = Arrays.toString(heroes);
+        System.out.println(s);
+    }
+
+    @Test
+    public void t4(){
+    //  动态定义数组和初始化
+        int[] arr = new int[4];// 代表是当前数组的长度是4    0-3
+        arr[0] = 10;
+        for (int i : arr) {
+            System.out.println(i);
+        }
+    }
+
+
+}

+ 18 - 0
src/main/java/com/sf/day04/TE2.java

@@ -0,0 +1,18 @@
+package com.sf.day04;
+
+import org.junit.Test;
+
+public class TE2 {
+    public static void main(String[] args) {
+        TE te = new TE();
+        te.getSum();
+    }
+
+    @Test
+    public void t1(){
+     //调用TE类中的getSum();
+        TE te = new TE();
+        te.getSum();
+        TE.getStaticSum();
+    }
+}

+ 192 - 0
src/main/java/com/sf/sx/day01/Te.java

@@ -0,0 +1,192 @@
+package com.sf.sx.day01;
+import org.junit.Test;
+
+import java.util.Arrays;
+import java.util.Scanner;
+
+public class Te {
+    @Test
+    public void t1(){
+        /**
+         * java?一直编程语言
+         * java的数据类型:
+         * 基本数据类型
+         * 整型: byte  short int  long
+         * 4?      使用时如何选择?
+         * 计算机最小单位 位   1字节  =  8位
+         * 字节数:1    2     4    8
+         * 表数范围:-128  127
+         *计算小狗的年龄:
+         * 计算人的年龄:
+         * byte dogAge = 5;
+         * short dogAge = 5;
+         * int dogAge = 5;
+         * long dogAge = 5;
+         * 默认   12    int
+         * 浮点型:float  double
+         *        单精度   双精度
+         *        6        8
+         *    字节    4       8
+         *    12.3   double
+         * 布尔类型 :boolean    true   false
+         * 字符:char
+         * 引用数据类型:
+         * 数组   类   接口    String
+         *
+         *
+         *
+         * 循环:  for   while    do while
+         * switch  case  default  --   if    else
+         *
+         * while(条件表达式){
+         *    代码体
+         * }
+         *  do {
+         *
+         *  }while();
+         *
+         *
+         */
+        byte num = (byte) 129;
+        long num4 = 12L;
+        long num5 = 12;
+        float num1  = 12.3F;
+//      float num11  = 12.3f;
+        double num2 =12.3D;
+
+    }
+
+
+    @Test
+    public void t2(){
+    //  循环:  for   while    do while
+        //  1-100之和
+        short  sum = 0;
+        for (short i = 1;i<=100;i++){
+//   教学         sum = sum +i;
+            // 开发
+            sum += i;  // sum = sum +i;
+        }
+
+        System.out.println(sum);
+    }
+
+    /**
+     * 自己随意给定一个四位数,然后输出每位数字之和例如:
+     *  int j = 1234;
+     *  控制台打印: 和是10
+     */
+    @Test
+    public void t3(){
+    //  从键盘输入一个数,然后输出每位数字之和例如:
+    }
+
+    public static void main(String[] args) {
+        //  从键盘输入一个数,然后输出每位数字之和例如:
+        Scanner scanner = new Scanner(System.in);
+        int num = scanner.nextInt();
+        //获取各个位数
+        int gw = num%10;
+        int sw = num/10%10;
+        int bw = num/100%10;
+        int qw = num/1000;
+        int sum = gw+sw+bw+qw;
+        System.out.println(sum);
+    }
+
+    @Test
+    public void t5(){
+       // 自己随意给定3个整数,编程求出最大值(请分别用三元运算符和if选择结 实现
+        /**
+         * 三目运算符   三元运算符
+         * 语法结构:  (条件表达式)?返回值1:返回值2;
+         * int c = (6>9)?6:9;
+         * int a  = 10;
+         * int b  = 19;
+         * int c  = 14;
+         *int maxValue = ((a=(a>b)?a:b)>c)?a:c;
+         */
+    }
+    @Test
+    public void t6(){
+        /**
+         * 自己给定一个月份,输出它是哪个季节
+         *  3-5月为春季、6-8月为夏季、9-11月为秋季、12-2月为冬季
+         *  请使用switch实现
+         */
+        int season =6;
+        switch (season){
+            case 3:
+            case 4:
+            case 5:
+                System.out.println("spring");
+                break;
+            case 6:
+            case 7:
+            case 8:
+                System.out.println("summer");
+//                break;
+            case 9:
+            case 10:
+            case 11:
+                System.out.println("autumn");
+//                break;
+            case 12:
+            case 1:
+            case 2:
+                System.out.println("winter");
+//                break;
+            default:
+                System.out.println("输入有误,请重新输入!!!");
+        }
+    }
+
+    @Test
+    public void t01(){
+        //  遍历1-100内的偶数  并获取偶数的个数获取所有偶数的和
+        int count = 0;
+        int sum = 0;
+        for (int i = 1;i<=100;i++){
+            if(i % 2 == 0){
+                count++;
+                sum += i;
+            }
+        }
+
+        System.out.println(count);
+        System.out.println(sum);
+    }
+
+
+    @Test
+    public void t02(){
+    //  定义一个字符串的数组  5
+        /**
+         *                 0       1     2       3       4
+         */
+        String[] strs = {"hello","world","Hi","goodbye","money"};
+        String[] strs1 = new String[]{"hello","world","Hi","goodbye","money"};
+        String[] strs2 = new String[8];
+        strs2[0] = "qq";
+        System.out.println(Arrays.toString(strs));
+        // ["hello","world","Hi","goodbye","money"]
+        /**
+         * Arrays.toString
+         */
+        System.out.println(strs[5]);
+    }
+
+    @Test
+    public void t12(){
+        /**
+         * javase:java基础
+         *
+         *
+         *
+         *
+         * javaee:
+         *
+         *
+         */
+    }
+}

+ 81 - 0
src/main/java/com/sf/sx/day02/TE.java

@@ -0,0 +1,81 @@
+package com.sf.sx.day02;
+
+
+import java.util.Scanner;
+
+public class TE {
+    public static void main(String[] args) {
+        /**
+         * 从键盘输入
+         * java    java   until  Scanner
+         * 整型    字符串     Boolean  double
+         */
+//        Scanner scanner = new Scanner(System.in);
+//        System.out.println("请输入一个字符串");
+//        String str = scanner.next();
+//        System.out.println(str);
+//        System.out.println("请输入一个整型");
+//        int nextInt = scanner.nextInt();
+//        System.out.println(nextInt);
+        /**
+         * ATM取款**
+         *
+         * 声明变量balance并初始化为0,用以表示银行账户的余额,下面通过ATM机程序实现存款,取款等功能。
+         *
+         * =========ATM========
+         *    1、存款
+         *    2、取款
+         *    3、显示余额
+         *    4、退出
+         * 请选择(1-4):
+         *
+         * 取款 不能小于0
+         */
+
+        double balance = 0.0;
+        Scanner scanner = new Scanner(System.in);
+        boolean isFlag = true;
+        System.out.println("请选择输入类型!!!");
+        int type = scanner.nextInt();
+        while (isFlag){
+            switch (type){
+                case 1://存款
+                    double saveMoney = scanner.nextDouble();
+                    if(saveMoney > 0){
+                        balance += saveMoney;
+                        System.out.println("当前余额 = "+balance);
+                        isFlag = false;
+                    }else {
+                        System.out.println("存款金额需要 > 0");
+                    }
+                    break;
+                case 2://取款
+                    double getMoney = scanner.nextDouble();
+                    if(getMoney > 0){
+                        if(getMoney <= balance){
+                            balance -= getMoney;
+                            System.out.println("当前余额 = "+balance);
+                            isFlag = false;
+                        }else {
+                            System.out.println("余额不足!!");
+                            break;
+                        }
+                    }else {
+                        System.out.println("取款金额需要 > 0");
+                    }
+                    break;
+                case 3://显示余额
+                    System.out.println("当前余额为 = "+balance);
+                    isFlag = false;
+                    break;
+                case 4://退出
+                    isFlag = false;
+                    break;
+                default:
+                    System.out.println("输入有误 1-4选择,请重新输入");
+                    break;
+            }
+        }
+        scanner.close();
+    }
+}

+ 55 - 0
src/main/java/com/sf/sx/day03/Te.java

@@ -0,0 +1,55 @@
+package com.sf.sx.day03;
+
+import org.junit.Test;
+
+import static java.lang.Math.random;
+
+public class Te {
+    @Test
+    public void t1(){
+      //  数组统计:求总和、均值
+        int[] arr = {2,34,6,7,8,3,32,9};
+        //sum
+        int sum = 1;
+        for (int i  = 0;i< arr.length;i++){
+           sum *= arr[i];
+        }
+        System.out.println(sum);
+        //平均值
+        double avg =sum * 1.0/arr.length;
+        System.out.println(avg);
+    }
+
+    @Test
+    public void t2(){
+    //  求数组的最大值
+        int[] arr = {2,34,6,7,8,3,32,9};
+        //  假设一个最大值
+        int max = arr[0];
+        for (int i = 1 ;i<arr.length;i++){
+            if(arr[i] > max){
+                max = arr[i];
+            }
+        }
+        System.out.println(max);
+    }
+
+    @Test
+    public void t3(){
+    //   随机生成验证码   6位   数组和字符
+        char[] chars = new char[26*2+10];
+        for (int i= 0;i<26;i++){
+            chars[i] = (char) ('a'+i);
+            chars[26+i] = (char) ('A'+i);
+        }
+        for (int i = 0;i<10;i++){
+            chars[52+i] = (char) (i+'0');
+        }
+        String str = "";
+        for (int i =0;i<6;i++){
+         int index = (int) (Math.random()*chars.length);
+          str += chars[index];
+        }
+        System.out.println(str);
+    }
+}

+ 28 - 0
src/main/java/com/sf/sx/day04/BSX.java

@@ -0,0 +1,28 @@
+package com.sf.sx.day04;
+
+public class BSX {
+
+    private Integer dw;
+
+    public BSX(Integer dw) {
+        this.dw = dw;
+    }
+
+    public BSX() {
+    }
+
+    public Integer getDw() {
+        return dw;
+    }
+
+    public void setDw(Integer dw) {
+        this.dw = dw;
+    }
+
+
+    public String getInfo() {
+        return "BSX{" +
+                "dw=" + dw +
+                '}';
+    }
+}

+ 122 - 0
src/main/java/com/sf/sx/day04/Car.java

@@ -0,0 +1,122 @@
+package com.sf.sx.day04;
+
+import sun.util.resources.cldr.es.CalendarData_es_PY;
+
+public class Car {
+    /**
+
+
+     *
+     * ​	方法: printInfo  输出( 发动机类  变速箱类 地盘  )信息。
+     *
+     * - 发动机类
+     *
+     *
+     * ​	 属性: 基本 马力  排量 (普通属性)s
+     *
+     * ​	 方法: getinfo返回基本信息
+     *
+     * - 变速箱类
+     *
+     *
+     * ​	属性: 挡位数量
+     *
+     * ​	方法: getinfo返回基本信息
+     *
+     * - 地盘 类
+     *
+     *
+     * ​	属性 : 悬挂类型
+     *
+     * ​	方法:  getinfo返回基本信息
+     */
+
+    private String name;
+
+    private FDJ fdj;
+
+    private BSX bsx;
+
+    private DP dp;
+
+    public Car(String name, FDJ fdj, BSX bsx, DP dp) {
+        this.name = name;
+        this.fdj = fdj;
+        this.bsx = bsx;
+        this.dp = dp;
+    }
+
+    public Car() {
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public FDJ getFdj() {
+        return fdj;
+    }
+
+    public void setFdj(FDJ fdj) {
+        this.fdj = fdj;
+    }
+
+    public BSX getBsx() {
+        return bsx;
+    }
+
+    public void setBsx(BSX bsx) {
+        this.bsx = bsx;
+    }
+
+    public DP getDp() {
+        return dp;
+    }
+
+    public void setDp(DP dp) {
+        this.dp = dp;
+    }
+
+    @Override
+    public String toString() {
+        return "Car{" +
+                "name='" + name + '\'' +
+                ", fdj=" + fdj +
+                ", bsx=" + bsx +
+                ", dp=" + dp +
+                '}';
+    }
+
+
+
+    public String printInfo(String name,FDJ fdj,BSX bsx,DP dp){
+        return "Car{" +
+                "name='" + name + '\'' +
+                ", fdj=" + fdj.getInfo() +
+                ", bsx=" + bsx.getInfo() +
+                ", dp=" + dp.getInfo() +
+                '}';
+
+    }
+
+
+    public static void main(String[] args) {
+        Car car = new Car();
+        car.setName("奥迪");
+        //  对汽车类的属性进行赋值
+        FDJ fdj1 = new FDJ();
+        fdj1.setMl(123);
+        fdj1.setPl(20.0);
+        car.setFdj(fdj1);
+        BSX bsx1 = new BSX(7);
+        car.setBsx(bsx1);
+        DP dp1 = new DP(3);
+        car.setDp(dp1);
+        String s = car.printInfo(car.getName(), fdj1, bsx1, dp1);
+        System.out.println(s);
+    }
+}

+ 27 - 0
src/main/java/com/sf/sx/day04/DP.java

@@ -0,0 +1,27 @@
+package com.sf.sx.day04;
+
+public class DP {
+    private Integer xglx;
+
+    public DP() {
+    }
+
+    public DP(Integer xglx) {
+        this.xglx = xglx;
+    }
+
+    public Integer getXglx() {
+        return xglx;
+    }
+
+    public void setXglx(Integer xglx) {
+        this.xglx = xglx;
+    }
+
+
+    public String getInfo() {
+        return "DP{" +
+                "xglx=" + xglx +
+                '}';
+    }
+}

+ 41 - 0
src/main/java/com/sf/sx/day04/FDJ.java

@@ -0,0 +1,41 @@
+package com.sf.sx.day04;
+
+public class FDJ {
+    private  Integer ml;
+
+    private  double pl;
+
+    public FDJ() {
+    }
+
+    public FDJ(Integer ml, double pl) {
+        this.ml = ml;
+        this.pl = pl;
+    }
+
+    public Integer getMl() {
+        return ml;
+    }
+
+    public void setMl(Integer ml) {
+        this.ml = ml;
+    }
+
+    public double getPl() {
+        return pl;
+    }
+
+    public void setPl(double pl) {
+        this.pl = pl;
+    }
+
+
+    public String getInfo() {
+        return "FDJ{" +
+                "ml=" + ml +
+                ", pl=" + pl +
+                '}';
+    }
+
+
+}

+ 65 - 0
src/main/java/com/sf/sx/day04/Person.java

@@ -0,0 +1,65 @@
+package com.sf.sx.day04;
+
+public class Person implements Comparable{
+    private String name;
+    private int age;
+
+    public Person() {
+    }
+
+    public Person(String name, int age) {
+        this.name = name;
+        this.age = age;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public int getAge() {
+        return age;
+    }
+
+    public void setAge(int age) {
+        this.age = age;
+    }
+
+    @Override
+    public String toString() {
+        return "Person{" +
+                "name='" + name + '\'' +
+                ", age=" + age +
+                '}';
+    }
+
+    public String getInfo() {
+        return "Person{" +
+                "name='" + name + '\'' +
+                ", age=" + age +
+                '}';
+    }
+
+
+    public void study(){
+        System.out.println("studying");
+    }
+
+
+    @Override
+    public int compareTo(Object o) {
+        if(o instanceof  Person){
+            Person person = (Person) o;
+            return this.age = ((Person) o).age;
+        }else {
+            Person person = (Person) o;
+            return Integer.parseInt (this.name = person.name);
+        }
+
+
+
+    }
+}

+ 12 - 0
src/main/java/com/sf/sx/day04/PersonUtils.java

@@ -0,0 +1,12 @@
+package com.sf.sx.day04;
+
+public class PersonUtils {
+    public boolean compare(Person person1,Person person2){
+        if((person1.getName().equals(person2.getName()) && (person1.getAge() == person2.getAge()))){
+            return true;
+        }else {
+            return false;
+        }
+
+    }
+}

+ 79 - 0
src/main/java/com/sf/sx/day04/Student.java

@@ -0,0 +1,79 @@
+package com.sf.sx.day04;
+
+/**
+ * 学生类
+ */
+public class Student {
+    //  属性
+    private String sno;
+    private String sName;
+    private Integer age;
+    private  Double height;
+
+    public Student() {
+    }
+
+    public Student(String sno, String sName, Integer age, Double height) {
+        this.sno = sno;
+        this.sName = sName;
+        this.age = age;
+        this.height = height;
+    }
+
+    public String getSno() {
+        return sno;
+    }
+
+    public void setSno(String sno) {
+        this.sno = sno;
+    }
+
+    public String getsName() {
+        return sName;
+    }
+
+    public void setsName(String sName) {
+        this.sName = sName;
+    }
+
+    public Integer getAge() {
+        return age;
+    }
+
+    public void setAge(Integer age) {
+        this.age = age;
+    }
+
+    public Double getHeight() {
+        return height;
+    }
+
+    public void setHeight(Double height) {
+        this.height = height;
+    }
+
+    @Override
+    public String toString() {
+        return "Student{" +
+                "sno='" + sno + '\'' +
+                ", sName='" + sName + '\'' +
+                ", age=" + age +
+                ", height=" + height +
+                '}';
+    }
+
+    /**
+     * 学习方法
+     * @param sName
+     */
+    public void study(String sName){
+        System.out.println(sName+" 正在学习~");
+    }
+
+    /**
+     * 吃饭
+     */
+    public void eat(){
+        System.out.println("学生正在吃饭~");
+    }
+}

+ 84 - 0
src/main/java/com/sf/sx/day04/TE.java

@@ -0,0 +1,84 @@
+package com.sf.sx.day04;
+
+import org.junit.Test;
+
+public class TE {
+    @Test
+    public void t1(){
+
+        /**
+         *  学生类-练习
+         *
+         * * 需求:首先定义一个学生类 抽取一些属性(4个属性)方法(2个方法)
+         *
+         *   然后定义一个学生测试类,在学生测试类中通过对象完成成员变量和成员方法的使用
+         *
+         * * 分析:
+         *
+         *   * 成员变量:姓名,年龄   …
+         *   * 成员方法:学习,做作业   …
+         */
+        // 1  创建实例对象
+        Student student = new Student();
+        student.setSno("123456789");
+        student.setsName("lisa");
+        student.setAge(22);
+        student.setHeight(183.1);
+        // 打印当前对象
+        System.out.println(student);
+        student.study(student.getsName());
+        student.eat();
+    }
+
+    /**
+     * **练习1:**创建一个Person类,其定义如下:
+     *
+     * ```java
+     * Person
+     * 属性
+     *   name:String
+     *   age:int
+     * 方法
+     *   +study():void
+     *   +setName(String n):void
+     *   +getName():String
+     *   +setAge(int a):void
+     *   +getAge():int
+     *   +getInfo():void
+     * ```
+     *
+     * 要求:
+     *
+     * - 创建Person类的对象,设置该对象的name、age属性,
+     *   - 调用study方法,输出字符串“studying”,
+     *   - 调用set方法设置属性,调用get方法获取值,
+     *   - 调用getInfo输出person对象内容成员属性。
+     * - 创建测试类,创建两个人分别调用上面方法。
+     *
+     * - 创建PersonUtils工具类,声明比较方法,通过姓名年龄比较, 如果姓名年龄一致返回true否则返回false。
+     */
+
+    @Test
+    public void t6(){
+        /**
+         * **练习2:** Person中添加phone属性
+         *
+         * - 定义一个Phone类,cpu核心数,ram内存,rom存储,一个getInfo()方法返回phone的信息。
+         *
+         *
+         * - 在类中定义一个方法printInfo(),该方法的定义如下:
+         *   - public void printInfo(Phone p),在printInfo方法中调用getInfo方法输出手机的信息。
+         *
+         * - 在测试类中,创建Person和Phone 测试。
+         */
+    }
+
+    @Test
+    public void t2(){
+        /**
+         *
+         * - 小猫:属性(姓名,id),方法(抓老鼠, 吃,睡,自我介绍)
+         * - 老鼠:属性(姓名,id),方法(打洞, 吃,睡,自我介绍)
+         */
+    }
+}

+ 50 - 0
src/main/java/com/sf/sx/day04/l2/Cat.java

@@ -0,0 +1,50 @@
+package com.sf.sx.day04.l2;
+
+public class Cat {
+    private  String name;
+    private Integer id;
+
+    public Cat() {
+    }
+
+    public Cat(String name, Integer id) {
+        this.name = name;
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    @Override
+    public String toString() {
+        return "Cat{" +
+                "name='" + name + '\'' +
+                ", id=" + id +
+                '}';
+    }
+
+    public void eat(String name){
+        System.out.println(name+"eat~");
+    }
+
+    public void sleep(String name){
+        System.out.println(name+"sleep~");
+    }
+
+    public void catchMouse(String name){
+        System.out.println(name+"catchMouse~");
+    }
+}

+ 50 - 0
src/main/java/com/sf/sx/day04/l2/Mouse.java

@@ -0,0 +1,50 @@
+package com.sf.sx.day04.l2;
+
+public class Mouse {
+    private  String name;
+    private Integer id;
+
+    public Mouse() {
+    }
+
+    public Mouse(String name, Integer id) {
+        this.name = name;
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    @Override
+    public String toString() {
+        return "Cat{" +
+                "name='" + name + '\'' +
+                ", id=" + id +
+                '}';
+    }
+
+    public void eat(String name){
+        System.out.println(name+"eat~");
+    }
+
+    public void sleep(String name){
+        System.out.println(name+"sleep~");
+    }
+
+    public void play(String name){
+        System.out.println(name+"play~");
+    }
+}

+ 31 - 0
src/main/java/com/sf/sx/day04/l2/Person.java

@@ -0,0 +1,31 @@
+package com.sf.sx.day04.l2;
+
+public class Person {
+    private Phone phone;
+
+    public Person() {
+    }
+
+    public Person(Phone phone) {
+        this.phone = phone;
+    }
+
+    public Phone getPhone() {
+        return phone;
+    }
+
+    public void setPhone(Phone phone) {
+        this.phone = phone;
+    }
+
+    @Override
+    public String toString() {
+        return "Person{" +
+                "phone=" + phone +
+                '}';
+    }
+
+    public void printInfo(Phone phone) {
+        System.out.println(phone.getInfo());
+    }
+}

+ 71 - 0
src/main/java/com/sf/sx/day04/l2/Phone.java

@@ -0,0 +1,71 @@
+package com.sf.sx.day04.l2;
+
+public class Phone {
+    // cpu核心数,ram内存,rom存储,一个getInfo()方法返回phone的信息。
+    private int cpu;
+    private String ram;
+    private String rom;
+
+    public Phone() {
+    }
+
+    public Phone(int cpu, String ram, String rom) {
+        this.cpu = cpu;
+        this.ram = ram;
+        this.rom = rom;
+    }
+
+    public int getCpu() {
+        return cpu;
+    }
+
+    public void setCpu(int cpu) {
+        this.cpu = cpu;
+    }
+
+    public String getRam() {
+        return ram;
+    }
+
+    public void setRam(String ram) {
+        this.ram = ram;
+    }
+
+    public String getRom() {
+        return rom;
+    }
+
+    public void setRom(String rom) {
+        this.rom = rom;
+    }
+
+    @Override
+    public String toString() {
+        return "Phone{" +
+                "cpu=" + cpu +
+                ", ram='" + ram + '\'' +
+                ", rom='" + rom + '\'' +
+                '}';
+    }
+
+    public String getInfo() {
+        return "Phone{" +
+                "cpu=" + cpu +
+                ", ram='" + ram + '\'' +
+                ", rom='" + rom + '\'' +
+                '}';
+    }
+
+
+
+
+    public static void main(String[] args) {
+        Person person = new Person();
+        Phone phone = new Phone();
+        phone.setCpu(1);
+        phone.setRom("123");
+        phone.setRam("1233");
+        person.setPhone(phone);
+        person.printInfo(phone);
+    }
+}

+ 49 - 0
src/main/java/com/sf/sx/day04/l2/extend/Animal.java

@@ -0,0 +1,49 @@
+package com.sf.sx.day04.l2.extend;
+
+/**
+ * 父类
+ */
+public class Animal {
+    private  String name;
+    private Integer id;
+
+    public Animal(String name, Integer id) {
+        this.name = name;
+        this.id = id;
+    }
+
+    public Animal() {
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    @Override
+    public String toString() {
+        return "Cat{" +
+                "name='" + name + '\'' +
+                ", id=" + id +
+                '}';
+    }
+
+    public void eat(String name){
+        System.out.println(name+"eat~");
+    }
+
+    public void sleep(String name){
+        System.out.println(name+"sleep~");
+    }
+}

+ 22 - 0
src/main/java/com/sf/sx/day04/l2/extend/Cat.java

@@ -0,0 +1,22 @@
+package com.sf.sx.day04.l2.extend;
+
+
+public class Cat extends Animal{
+
+    @Override
+    public void eat(String name) {
+        System.out.println(name+"eat");
+    }
+
+    public void catMouse(){
+        System.out.println("小猫捉老鼠");
+    }
+    public static void main(String[] args) {
+        Cat cat = new Cat();
+        cat.setName("小猫");
+        cat.setId(111);
+        System.out.println(cat);
+        cat.catMouse();
+        cat.eat(cat.getName());
+    }
+}

+ 22 - 0
src/main/java/com/sf/sx/day04/l2/extend/Mouse.java

@@ -0,0 +1,22 @@
+package com.sf.sx.day04.l2.extend;
+
+public class Mouse extends Animal{
+    @Override
+    public void eat(String name) {
+        System.out.println(name+"eat");
+    }
+
+    public void play(){
+        System.out.println("老鼠打洞");
+    }
+
+    public static void main(String[] args) {
+        Mouse mouse = new Mouse();
+        mouse.setId(22);
+        mouse.setName("老鼠");
+        mouse.eat(mouse.getName());
+        mouse.play();
+    }
+
+}
+

BIN
target/classes/com/sf/day04/HomeWork01.class


BIN
target/classes/com/sf/day04/TE.class


BIN
target/classes/com/sf/day04/TE2.class


BIN
target/classes/com/sf/sx/day01/Te.class


BIN
target/classes/com/sf/sx/day02/TE.class


BIN
target/classes/com/sf/sx/day03/Te.class


BIN
target/classes/com/sf/sx/day04/BSX.class


BIN
target/classes/com/sf/sx/day04/Car.class


BIN
target/classes/com/sf/sx/day04/DP.class


BIN
target/classes/com/sf/sx/day04/FDJ.class


BIN
target/classes/com/sf/sx/day04/Person.class


BIN
target/classes/com/sf/sx/day04/PersonUtils.class


BIN
target/classes/com/sf/sx/day04/Student.class


BIN
target/classes/com/sf/sx/day04/TE.class


BIN
target/classes/com/sf/sx/day04/l2/Cat.class


BIN
target/classes/com/sf/sx/day04/l2/Mouse.class


BIN
target/classes/com/sf/sx/day04/l2/Person.class


BIN
target/classes/com/sf/sx/day04/l2/Phone.class


BIN
target/classes/com/sf/sx/day04/l2/extend/Animal.class


BIN
target/classes/com/sf/sx/day04/l2/extend/Cat.class


BIN
target/classes/com/sf/sx/day04/l2/extend/Mouse.class