瀏覽代碼

0912 整理

Qing 10 月之前
父節點
當前提交
9fe447deee
共有 100 個文件被更改,包括 4466 次插入0 次删除
  1. 112 0
      Java0715/pom.xml
  2. 36 0
      Java0715/src/main/java/com/sf/RR.java
  3. 28 0
      Java0715/src/main/java/com/sf/Test07.java
  4. 101 0
      Java0715/src/main/java/com/sf/javase/T.java
  5. 95 0
      Java0715/src/main/java/com/sf/javase/TR.java
  6. 15 0
      Java0715/src/main/java/com/sf/javase/WW.java
  7. 79 0
      Java0715/src/main/java/com/sf/javase/day01/Test1.java
  8. 47 0
      Java0715/src/main/java/com/sf/javase/day01/TestC.java
  9. 29 0
      Java0715/src/main/java/com/sf/javase/day01/TestFirst.java
  10. 305 0
      Java0715/src/main/java/com/sf/javase/day02/T.java
  11. 70 0
      Java0715/src/main/java/com/sf/javase/day03/ArrayTest.java
  12. 97 0
      Java0715/src/main/java/com/sf/javase/day03/ArrayWorker.java
  13. 237 0
      Java0715/src/main/java/com/sf/javase/day03/T.java
  14. 27 0
      Java0715/src/main/java/com/sf/javase/day03/T2.java
  15. 55 0
      Java0715/src/main/java/com/sf/javase/day04/T.java
  16. 200 0
      Java0715/src/main/java/com/sf/javase/day04/T2.java
  17. 26 0
      Java0715/src/main/java/com/sf/javase/day05/T.java
  18. 18 0
      Java0715/src/main/java/com/sf/javase/day06/Animal.java
  19. 21 0
      Java0715/src/main/java/com/sf/javase/day06/AnimalTest.java
  20. 38 0
      Java0715/src/main/java/com/sf/javase/day06/Car.java
  21. 36 0
      Java0715/src/main/java/com/sf/javase/day06/ObjectArray/Student.java
  22. 60 0
      Java0715/src/main/java/com/sf/javase/day06/Student.java
  23. 16 0
      Java0715/src/main/java/com/sf/javase/day06/T.java
  24. 21 0
      Java0715/src/main/java/com/sf/javase/day06/car/BSX.java
  25. 16 0
      Java0715/src/main/java/com/sf/javase/day06/car/Car.java
  26. 23 0
      Java0715/src/main/java/com/sf/javase/day06/car/CarTest.java
  27. 12 0
      Java0715/src/main/java/com/sf/javase/day06/car/DP.java
  28. 26 0
      Java0715/src/main/java/com/sf/javase/day06/car/FDJ.java
  29. 45 0
      Java0715/src/main/java/com/sf/javase/day06/person/Person.java
  30. 25 0
      Java0715/src/main/java/com/sf/javase/day06/person/PersonTest.java
  31. 11 0
      Java0715/src/main/java/com/sf/javase/day06/person/Phone.java
  32. 49 0
      Java0715/src/main/java/com/sf/javase/day07/Animal.java
  33. 12 0
      Java0715/src/main/java/com/sf/javase/day07/AnimalTest.java
  34. 57 0
      Java0715/src/main/java/com/sf/javase/day07/Student.java
  35. 56 0
      Java0715/src/main/java/com/sf/javase/day07/T.java
  36. 50 0
      Java0715/src/main/java/com/sf/javase/day07/extend/Cat.java
  37. 50 0
      Java0715/src/main/java/com/sf/javase/day07/extend/Dog.java
  38. 46 0
      Java0715/src/main/java/com/sf/javase/day07/extend/entend1/Animal.java
  39. 32 0
      Java0715/src/main/java/com/sf/javase/day07/extend/entend1/Cat.java
  40. 28 0
      Java0715/src/main/java/com/sf/javase/day07/extend/entend1/Dog.java
  41. 15 0
      Java0715/src/main/java/com/sf/javase/day07/extend/entend1/T.java
  42. 96 0
      Java0715/src/main/java/com/sf/javase/day07/homework/Book.java
  43. 70 0
      Java0715/src/main/java/com/sf/javase/day07/homework/CreditCard.java
  44. 74 0
      Java0715/src/main/java/com/sf/javase/day07/homework/DepositCard.java
  45. 83 0
      Java0715/src/main/java/com/sf/javase/day07/homework/HomeTest.java
  46. 33 0
      Java0715/src/main/java/com/sf/javase/day07/homework/Test.java
  47. 66 0
      Java0715/src/main/java/com/sf/javase/day07/homework/Triangle.java
  48. 38 0
      Java0715/src/main/java/com/sf/javase/day07/homework/User.java
  49. 21 0
      Java0715/src/main/java/com/sf/javase/day07/homework/UserManager.java
  50. 28 0
      Java0715/src/main/java/com/sf/javase/day08/City.java
  51. 18 0
      Java0715/src/main/java/com/sf/javase/day08/Country.java
  52. 38 0
      Java0715/src/main/java/com/sf/javase/day08/Student.java
  53. 50 0
      Java0715/src/main/java/com/sf/javase/day08/T.java
  54. 29 0
      Java0715/src/main/java/com/sf/javase/day08/T2.java
  55. 46 0
      Java0715/src/main/java/com/sf/javase/day08/duotai/Animal.java
  56. 66 0
      Java0715/src/main/java/com/sf/javase/day08/duotai/Cat.java
  57. 35 0
      Java0715/src/main/java/com/sf/javase/day08/duotai/Dog.java
  58. 7 0
      Java0715/src/main/java/com/sf/javase/day08/duotai/Monkey.java
  59. 35 0
      Java0715/src/main/java/com/sf/javase/day08/duotai/Test09.java
  60. 14 0
      Java0715/src/main/java/com/sf/javase/day08/duotai/Test10.java
  61. 29 0
      Java0715/src/main/java/com/sf/javase/day08/finalP/T.java
  62. 20 0
      Java0715/src/main/java/com/sf/javase/day08/finalP/T1.java
  63. 59 0
      Java0715/src/main/java/com/sf/javase/day08/homework/Child11.java
  64. 118 0
      Java0715/src/main/java/com/sf/javase/day08/homework/Employee.java
  65. 7 0
      Java0715/src/main/java/com/sf/javase/day08/homework/Father.java
  66. 10 0
      Java0715/src/main/java/com/sf/javase/day08/homework/Test.java
  67. 21 0
      Java0715/src/main/java/com/sf/javase/day08/homework/Test03.java
  68. 27 0
      Java0715/src/main/java/com/sf/javase/day08/homework/TestP.java
  69. 5 0
      Java0715/src/main/java/com/sf/javase/day09/A1.java
  70. 5 0
      Java0715/src/main/java/com/sf/javase/day09/A2.java
  71. 13 0
      Java0715/src/main/java/com/sf/javase/day09/A3.java
  72. 13 0
      Java0715/src/main/java/com/sf/javase/day09/Cook.java
  73. 60 0
      Java0715/src/main/java/com/sf/javase/day09/Employee.java
  74. 23 0
      Java0715/src/main/java/com/sf/javase/day09/Manager.java
  75. 68 0
      Java0715/src/main/java/com/sf/javase/day09/homework/Exercise28.java
  76. 28 0
      Java0715/src/main/java/com/sf/javase/day09/homework/Test07.java
  77. 14 0
      Java0715/src/main/java/com/sf/javase/day09/homework/lianxi/ShapeInterface.java
  78. 31 0
      Java0715/src/main/java/com/sf/javase/day09/homework/lianxi/impl/Circle.java
  79. 87 0
      Java0715/src/main/java/com/sf/javase/day09/homework/lianxi/impl/Rectangle.java
  80. 22 0
      Java0715/src/main/java/com/sf/javase/day09/interface1/BuildCarsInterface.java
  81. 31 0
      Java0715/src/main/java/com/sf/javase/day09/interface1/impl/BuildCarsInterfaceImpl.java
  82. 7 0
      Java0715/src/main/java/com/sf/javase/day10/innerclass/InnerclassDemo.java
  83. 31 0
      Java0715/src/main/java/com/sf/javase/day10/innerclass/Outer01.java
  84. 43 0
      Java0715/src/main/java/com/sf/javase/day10/innerclass/instanceinnerclass/Outer02.java
  85. 9 0
      Java0715/src/main/java/com/sf/javase/day10/innerclass/instanceinnerclass/Outer02Demo.java
  86. 36 0
      Java0715/src/main/java/com/sf/javase/day10/innerclass/instanceinnerclass/Outer03.java
  87. 8 0
      Java0715/src/main/java/com/sf/javase/day10/innerclass/instanceinnerclass/Outer03Demo.java
  88. 21 0
      Java0715/src/main/java/com/sf/javase/day10/innerclass/instanceinnerclass/nm1/Demo07.java
  89. 37 0
      Java0715/src/main/java/com/sf/javase/day10/innerclass/instanceinnerclass/nm1/Demo8.java
  90. 5 0
      Java0715/src/main/java/com/sf/javase/day10/innerclass/instanceinnerclass/nm1/Obj.java
  91. 13 0
      Java0715/src/main/java/com/sf/javase/day10/innerclass/instanceinnerclass/nm1/Student.java
  92. 8 0
      Java0715/src/main/java/com/sf/javase/day10/innerclass/instanceinnerclass/nm1/Swim.java
  93. 12 0
      Java0715/src/main/java/com/sf/javase/day10/innerclass/instanceinnerclass/nm1/T1.java
  94. 115 0
      Java0715/src/main/java/com/sf/javase/day11/api/T.java
  95. 97 0
      Java0715/src/main/java/com/sf/javase/day11/exception/ET.java
  96. 20 0
      Java0715/src/main/java/com/sf/javase/day11/exception/ExceptionTest.java
  97. 19 0
      Java0715/src/main/java/com/sf/javase/day11/exception/FinallyTest.java
  98. 12 0
      Java0715/src/main/java/com/sf/javase/day11/exception/MyException.java
  99. 20 0
      Java0715/src/main/java/com/sf/javase/day11/exception/MyExceptionTest.java
  100. 93 0
      Java0715/src/main/java/com/sf/javase/day12/T.java

+ 112 - 0
Java0715/pom.xml

@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>com.sf</groupId>
+  <artifactId>Java0715</artifactId>
+  <version>1.0-SNAPSHOT</version>
+
+  <name>Java0715</name>
+  <!-- FIXME change it to the project's website -->
+  <url>http://www.example.com</url>
+
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <maven.compiler.source>1.8</maven.compiler.source>
+    <maven.compiler.target>1.8</maven.compiler.target>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.12</version>
+      <scope>test</scope>
+    </dependency>
+
+    <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
+    <dependency>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</artifactId>
+      <version>2.4</version>
+    </dependency>
+
+
+    <dependency>
+      <groupId>mysql</groupId>
+      <artifactId>mysql-connector-java</artifactId>
+      <version>5.1.47</version>
+    </dependency>
+
+
+    <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
+    <dependency>
+      <groupId>com.alibaba</groupId>
+      <artifactId>druid</artifactId>
+      <version>1.2.6</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.testng</groupId>
+      <artifactId>testng</artifactId>
+      <version>7.8.0</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter</artifactId>
+      <version>RELEASE</version>
+      <scope>compile</scope>
+    </dependency>
+
+<!--    测试-->
+  </dependencies>
+
+  <build>
+    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
+      <plugins>
+        <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
+        <plugin>
+          <artifactId>maven-clean-plugin</artifactId>
+          <version>3.1.0</version>
+        </plugin>
+        <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
+        <plugin>
+          <artifactId>maven-resources-plugin</artifactId>
+          <version>3.0.2</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>3.8.0</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>2.22.1</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-jar-plugin</artifactId>
+          <version>3.0.2</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-install-plugin</artifactId>
+          <version>2.5.2</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-deploy-plugin</artifactId>
+          <version>2.8.2</version>
+        </plugin>
+        <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
+        <plugin>
+          <artifactId>maven-site-plugin</artifactId>
+          <version>3.7.1</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-project-info-reports-plugin</artifactId>
+          <version>3.0.0</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+</project>

+ 36 - 0
Java0715/src/main/java/com/sf/RR.java

@@ -0,0 +1,36 @@
+package com.sf;
+
+import org.junit.jupiter.api.Test;
+
+public class RR {
+    @Test
+    public void t1(){
+        /**
+         * 1、什么是试听课?1、老师给你解答一下你自己困惑?还是写一段代码?
+         * 2、java?  学没学过?在学校学到哪里?  - 讲那部分? - 区分咱们讲课  学校老师
+         *      知识点   - 学过  但是不会   咱们将  - 讲明白     -- 区别
+         * 3、后端  c c++   python  go   安卓   --java  性价比更高     学习的难度   入门门槛
+         *   c c++  python   不够
+         *   java
+         *   java   ?   java ?  java ?
+         *   感受一下  java代码
+         *   c   c++   区分   语法      4-5
+         *   java代码    - for  删除A        指针前移     - 数据有遗漏
+         *   i++  ++i;
+         *   for()
+         *
+         *   2、如何解决
+         *        add    扩容   -CC
+         *
+         *  问一下   听没听懂?
+         *  老师 咱们老师     自学和系统学习
+         *   我上课    开发的东西      --
+         *   公司的优势  真实项目       就业   班主任
+         *   课程大概 :
+         *   回扣    专题课     多线程  数据结构     --面试
+         *   我自己上课的特点: 幽默   枯燥
+         *   目的   学习   学会   遵守         ---
+         *   web
+         */
+    }
+}

+ 28 - 0
Java0715/src/main/java/com/sf/Test07.java

@@ -0,0 +1,28 @@
+package com.sf;
+
+public class Test07 {
+    public static void main(String[] args) {
+        Father f = new Son();
+        System.out.println(f.x);
+    }
+}
+class Father{
+    int x = 10;
+    public Father(){
+        this.print();
+        x = 20;
+    }
+    public void print(){
+        System.out.println("Father.x = " + x);
+    }
+}
+class Son extends Father{
+    int x = 30;
+    public Son(){
+        this.print();
+        x = 40;
+    }
+    public void print(){
+        System.out.println("Son.x = " + x);
+    }
+}

+ 101 - 0
Java0715/src/main/java/com/sf/javase/T.java

@@ -0,0 +1,101 @@
+package com.sf.javase;
+
+import org.junit.jupiter.api.Test;
+
+import java.sql.SQLIntegrityConstraintViolationException;
+import java.util.Arrays;
+
+public class T {
+    /**
+     *
+     * 思路:
+     *  为啥选择java开发呢    同样后端开发还有c c++  python    go   android
+     *  前端  : web开发
+     *  同学回复:在学校学过   或者是自家亲属在从事这个岗位
+     *  开始对比  4个岗位     筛选出java的性价比是最高
+     *  然后在说一下java 的岗位市场前景  还是薪资待遇 (同比与其他几种语言相对是简单的  并且薪资也是比较可观的)
+     *  先看一下  Java的boss直聘内容
+     *  说一下课程大纲
+     *  区分自学和系统学习
+     *  在简单的举个例子    删除包含a字母的元素
+     *
+     *  集合的添加
+     *
+     *  最后说一下咱们公司的优势:
+     *   有自己的互联网企业
+     *   然后真实的互联网项目   -  这也的优势在于跟随互联网技术的发展   以及语法的发展
+     *   后期就业保障  专业的就业老师  - 内推  班主任全程跟踪
+     *   督促学生进行学习
+     *
+     *
+     * 自我的优势:
+     * 就是上课没有枯燥   喜欢把公司开发的一些事情说给你们
+     * 前端开发和后端开发 都不爱干活的问题
+     * 还有公司的一些规定
+     *
+     *
+     */
+    //求数组元素的最大值
+    @Test
+    public void t1(){
+        int[] arr = {4,5,6,1,9};
+        //找最大值
+        //假设第一个元素就是最大值
+       int max = arr[0];
+       for (int i = 0;i< arr.length-1;i++){
+           if(arr[i+1] > max){
+               max = arr[i+1];
+           }
+       }
+        System.out.println(max);
+    }
+
+    /**
+     * 分析以下需求,并用代码实现:
+     * (1)在编程竞赛中,有10位评委为参赛的选手打分,分数分别为:5,4,6,8,9,0,1,2,7,3
+     * (2)求选手的最后得分(去掉一个最高分和一个最低分后其余8位评委打分的平均值)
+     */
+    @Test
+    public void t2(){
+        int[] scores = {5,4,6,8,9,0,1,2,7,3};
+        //最高分和最低分
+        int max = scores[0];
+        int min = scores[0];
+        int sum = 0;
+        for (int i = 0;i<=scores.length-1;i++){
+            if(max<scores[i]){
+                max = scores[i];
+            }
+            if(max > scores[i]){
+                min = scores[i];
+            }
+            sum += scores[i];
+        }
+        int sumAvg = sum - max - min;
+        double avg = (double) sumAvg/(scores.length - 2);
+        System.out.println(avg);
+    }
+
+
+    /**
+     * :创建一个长度为6的int型数组,要求数组元素的值都在1-30之间,且是随机赋值。同时,要求元素的值各不
+     * 相同。
+     */
+
+    @Test
+    public void t3(){
+      int[] arr =  new int[6];
+      for (int i = 0;i<arr.length;i++){
+          arr[i] = (int) (Math.random()*30)+1;
+          for (int j = 0;j<i;j++){
+              if(arr[i] == arr[j]){
+                 i--;
+                 break;
+              }
+          }
+      }
+        System.out.println(arr);
+        System.out.println(Arrays.toString(arr));
+
+    }
+}

+ 95 - 0
Java0715/src/main/java/com/sf/javase/TR.java

@@ -0,0 +1,95 @@
+package com.sf.javase;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+public class TR {
+    @Test
+    public void t1(){
+    //   java   后端开发   c c++  python    an    go
+    /**
+     * java c
+     * c  学到哪里   指针 文件操作
+     * int[] ints = {1,2,3,4,5};
+     *             index =  0,1,2,3,4
+     * sout  -> ints    结果?  x = 12345
+     * sout ->  ints   ints[0]     ==  1
+     * java   不是
+     * sout -> ints   -  地址 ? toString  数组没有重写toString方法  --> object
+     *
+     * java   c   在大学   --->就业
+     * java  and  c      java  or  c
+     * 区别:就业前景    薪资   难度     市场就业情况
+     * 1、java   >  c
+     * 3、java   <  c
+     * 2、java   =  c
+     * 4、java   >  c
+     *   c  <  java
+     * 提升学历  考研? 就业
+     * 学历   =  本科     java   入门的门槛就是本科     (专科  == 本科)    专业
+     * c    门槛要高一些    - 底层地址    +  算法要求  +  硬件
+     *
+     * java 软件    c
+     *
+     *
+     *  对于基础知识 : Java 和 c   文件操作    - 50% 相似  一样
+     *  javase   一部分
+     *  int[] ints = {1,2,"admin"};  // java  有办法能放进去    ---反射
+     *  int[]   int    ”admin“  String     类    引用数据类型    --  object  父类
+     *  现在通过反射     动态的获取的类的模板结构   - 动态执行方法 Method     -- object
+     *
+     *  java   /   web
+     *  html   jss   jq
+     *  好一点:时间长一点还是后端     稳定
+     *  两个方向    - 稳定
+     *  各有各自的好处 :
+     *  java   好处的就是相对来说稳定   工资会高一点      知识点会多一些   枯燥
+     *  web    html  -> 浏览器   html  解析  <img  src = ”“></>   不好出  后期的工资和发展前景会不如后端
+     *
+     *
+     *  java  : i++  ++i
+     *        啥区别:
+     *  i++/++i :
+     *      在没有接收值,i++   ++i    一样     都是对变量i+1操作
+     *      有接收值的情况的下  i++   满足先运算后赋值   ++i 满足先赋值后运算    i++  ++i
+     *
+     *   集合:list
+     *
+     */
+        List<String> list = new ArrayList<>();  //创建一个集合 {容器}     = <String>   字符串
+        list.add("adm");
+        list.add("abc");
+        list.add("sjfm");
+        list.add("ajkjfa");
+        list.add("aof");
+        System.out.println(list);
+        /**
+         * 介绍一下源码:
+         * toString   -- >
+         * "[" list?数据  数据个数  ”]“  1个数据
+         * "[" list?数据  for ,  数据个数  ”]“  多个数据
+         *
+         * 需求 删除包含a字母的元素
+         */
+        System.out.println("==============");
+//        for(int i = 0;i<list.size()-1;i++){
+//            if(list.get(i).contains("a")){
+//                list.remove(i);
+//                i--;
+//            }
+//        }
+//        System.out.println(list);
+
+        //  最好的处理方式  迭代器
+        Iterator<String> iterator = list.iterator();
+        while (iterator.hasNext()){
+            if(iterator.next().contains("a")){
+                iterator.remove();
+            }
+        }
+        System.out.println(list);
+    }
+}

+ 15 - 0
Java0715/src/main/java/com/sf/javase/WW.java

@@ -0,0 +1,15 @@
+package com.sf.javase;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class WW {
+
+    @Test
+    public void t1() {
+
+
+    }
+}

+ 79 - 0
Java0715/src/main/java/com/sf/javase/day01/Test1.java

@@ -0,0 +1,79 @@
+package com.sf.javase.day01;
+
+import org.junit.jupiter.api.Test;
+
+/**
+ * java基础语法
+ *
+ */
+public class Test1 {
+    public static final  String ADDRESS_IP = "192.168.1.1";
+     @Test
+    public void t1(){
+        /**
+         * 验证标识符 :
+         * 1、26个英文字母大小写  0-9  _$
+         * 2、数字不能作为开头
+         * 3、可以包含关键字和保留字 但不能是关键字和保留字
+         * 4、java 严格区分大小写  长度没有限制
+         * 5、不能包含空格
+         */
+        int a = 1;
+        int A = 1;
+        int voidD = 10;
+        int a1 = 10;
+        int A111 = 10;
+//        int 1a = 10;\
+        int dogAge = 12;
+         System.out.println(dogAge);//12
+    }
+
+
+    /**
+     * 变量分类:
+     * 基本数据类型:
+     *      整型:byte short int(默认)   long
+     *      4?空间   byte   int
+     *              表数范围:
+     *            1字节 2字节  4字节     8字节
+     *            1字节   =  8bit
+     *            2^8  = 256    首位是符号位  +-   -128  0 127
+     *
+     *            int :4字节 = 32位    2^32       -2^31  - 2^31-1
+     *       浮点型:float单精度  double(默认) 双精度   4   8
+     *
+     *      字符型:char 2字节 a    abc    字符和整型可以互相转换  ASCII码
+     *              a  = 97   A  = 65
+     *              字符和整型运算  - - 整型
+     *       不同数据类型在进行运算时   容量小的 -- 容量大的
+     *       int   +  double   ===double
+     *       char +  int    ===  int
+     *      布尔类型:  boolean  真假   真  true   假 false;
+     *      boolean  flag = true;
+     *
+     * 引用数据类型:
+     * 类   接口  数组  String 类
+     * String 是关键字吗?
+     * 不是,String是一个类 并且是用final修饰的类  是数据类型 - 引用数据类型
+     *
+     * 变量的声明位置:
+     * 类内方法外:类变量   作用整个类中
+     * 类内方法内:局部变量   作用在当前方法中
+     */
+    @Test
+    public void t2(){
+        byte  num = 12;
+        byte num1 = (byte) 129;
+        long num2 = 123L;
+//        int num3 = (int) 123L;
+        int num3 =  123;
+
+        float num4 = (float) 12.3;
+        float num5 = 12.3F;
+        double num6 = 12.3D;
+
+        char str = 'a';
+        System.out.println((int) str);
+        System.out.println(str+3);
+    }
+}

+ 47 - 0
Java0715/src/main/java/com/sf/javase/day01/TestC.java

@@ -0,0 +1,47 @@
+package com.sf.javase.day01;
+
+import org.junit.jupiter.api.Test;
+
+/**
+ * 这是一个测试类
+ */
+public class TestC {
+    //测试一下环境   主函数   java应用程序启动的入口   主函数
+    //  psvm  +  回车
+    //  public  权限修饰符 (之一)  公开的 公共的
+    //  static  关键字 - 其他修饰符    静态的    语法: 用static修饰的方法   静态方法
+    //  方法(函数): 权限修饰符  【其他修饰符】  返回值类型(有/无void)  方法名(【参数】){
+    //  //  代码体
+    //  }
+
+    /**
+     * 主函数   程序启动的入口
+     * @param args
+     */
+    public static  void main(String[] args){
+        System.out.println(111);
+        System.out.println(123);
+        t1();
+    }
+
+    // 测试方法  静态
+    @Test
+    public static void t1(){
+        System.out.println("---");
+    }
+
+    // 测试方法  非静态
+    @Test
+    public void t2(){
+        t3();
+        t1();
+        System.out.println("---");
+    }
+
+    @Test
+    public  void t3(){
+        System.out.println("---");
+    }
+
+
+}

+ 29 - 0
Java0715/src/main/java/com/sf/javase/day01/TestFirst.java

@@ -0,0 +1,29 @@
+package com.sf.javase.day01;
+
+/**
+ * 这是java第一个类
+ */
+public class TestFirst {
+    //主函数
+    public static void main(String[] args){
+        /**
+         * java中的注释分为三种
+         * // 后面  单行注释   多行注释  文本注释
+         *  ps : 注释之间不能进行嵌套    -- 单行除外
+         *
+         */
+        //todo   注释   这里有事情没做完
+        /*
+        多行注释
+         */
+        //  /////
+        /**
+         * 文档注释    类 方法上
+         */
+        System.out.println("Hello World1");
+        System.out.println("Hello World2");
+        System.out.println("Hello World3");
+        System.out.print("Hello World4");
+        System.out.print("Hello World5");
+    }
+}

+ 305 - 0
Java0715/src/main/java/com/sf/javase/day02/T.java

@@ -0,0 +1,305 @@
+package com.sf.javase.day02;
+
+import org.junit.jupiter.api.Test;
+import sun.java2d.pipe.SpanIterator;
+
+import java.security.PublicKey;
+import java.util.Scanner;
+
+/**
+ * 第二天的java类
+ */
+public class T {
+    /**
+     * 作业问题:
+     * 1、三目运算符
+     * 2、奇数偶数问题
+     */
+    @Test
+    public void t1(){
+        //  97 是奇数还是偶数?
+        int num = 97;
+        /**
+         * 三目运算符的语法结构:
+         * boolean flag =  (条件表达式)?返回值1:返回值2;
+         *
+         */
+       boolean flag = num % 2 == 0 ? true:false;
+//        if(num % 2 == 0){
+//            System.out.println("偶数");
+//        }else {
+//            System.out.println("奇数");
+//        }
+        System.out.println(flag);
+    }
+
+    @Test
+    public void t2(){
+        /**
+         * a++   ++a 区别:
+         * num++  和 ++num   在没有接收值的情况下效果一样,都是对变量进行+1操作
+         * 有接收值的情况下:int C  = num++;
+         *      满足:先赋值后运算
+         *   int C  = ++num;
+         *      满足:先运算后赋值
+         *  总结:    【先赋值后运算   先运算后赋值】  ==>  在乎赋值的先后,都进行运算(变量)
+         *
+         *   +=:
+         *   int a = 1;
+         *   a += 1;  // a = a+1
+         *
+         *   &  &&:
+         *   & 逻辑与   前后都运行
+         *   && 短路与  :前面为假   后面被短路    若前面为真   后面需要运行
+         *   |  || :
+         *   | 逻辑或 : 无论真假前后都需要运行
+         *   ||  短路或  :若前面为真  后面被短路    若前面为假,后面运行
+         *
+         *   异或: 相同为假   相异为真
+         *
+         */
+        int num = 10;
+//        num++;  //  result :  11
+//        ++num;   // result :  11
+//        int c = num++;   // num = 11;  c  = 10;
+        int c  = ++num;
+        System.out.println("num  = "+num);
+        System.out.println("c  = "+c);
+    }
+
+    @Test
+    public void t3() {
+//        int x = 1;
+//        int y=1;
+//        if(x++ == 2 & ++y == 2){
+//            x =7;
+//        }
+//        System.out.println("x="+x+",y="+y);
+//    }
+
+//        int x = 1, y = 1;
+//        if (x++ == 2 && ++y == 2) {
+//            x = 7;
+//        }
+//        System.out.println("x=" + x + ",y=" + y);
+
+//        int x = 1,y = 1;
+//        if(x++==1 | ++y==1){
+//            x =7;
+//        }
+//        System.out.println("x="+x+",y="+y);
+        int x = 1,y = 1;
+        if(x++==1 || ++y==1){
+            x =7;
+        }
+        System.out.println("x="+x+",y="+y);
+    }
+
+    @Test
+    public void t4(){
+        /**
+         * 三目运算符:
+         * 语法格式:数据类型  变量名 =   (条件表达式)?返回值1:返回值2
+         *      ps:返回值1:返回值2     = 数据类型
+         *         求出三个数中的最大值:
+         *         int  x = 9, y =5 ,z = 8;
+         */
+        int  x = 7, y =5 ,z = 8;
+       x = (x>y)?x:y;
+       x= (x>z)?x:z;
+       System.out.println(x);
+    }
+
+    /**
+     * 从键盘输入  用主函数进行测试
+     */
+    public static void main(String[] args) {
+        Scanner scan = new Scanner(System.in);
+//        // 输入一个名字  年龄   true   体重 123.4
+//        System.out.println("请输入名字~");
+//        String name = scan.next();
+//        System.out.println(name);
+//        System.out.println("请输入年龄~");
+//        int age = scan.nextInt();
+//        System.out.println(age);
+//        System.out.println("请输入true~");
+//        boolean flag = scan.nextBoolean();
+//        System.out.println(flag);
+//        System.out.println("请输入体重~");
+//        double weight = scan.nextDouble();
+//        System.out.println(weight);
+        int score = scan.nextInt();
+        if(score <= 100 && score >=0){
+            if(score < 60){
+                System.out.println("DDD");
+            }else if (score>=60 && score <80){
+                System.out.println("ccc");
+            }else if (score>=80 && score <90){
+                System.out.println("bbb");
+            }else {
+                System.out.println("aaa");
+            }
+        }else {
+            System.out.println("输入有误");
+        }
+
+
+    }
+
+
+    /**
+     * 随机数  Math
+     */
+    @Test
+    public void t6(){
+//        for (int i = 0; i < 33; i++) {
+//            double random = Math.random(); //[0,1)
+//            System.out.println(random);
+//        }
+        double random = Math.random(); //[0,1)
+            System.out.println(random);
+            //随机生成一个0-99的整数  [1,100]
+        int num = (int) (Math.random()*100+1);
+        System.out.println(num);
+        //[5,78] 整型    73/74 + 5     --->  int   [a,b]  b-a+1 +a
+        int num2 = (int) (Math.random() * 74 +5);
+        int num3 = (int) (Math.random()*13+78);
+        System.out.println(num3);
+    }
+
+
+    @Test
+    public void t7(){
+        int age = 16;
+        if(age>=18){
+            System.out.println("成年人");
+        }
+        else{
+            System.out.println("未成年人");
+        }
+    }
+
+    /**
+     * switch(age){
+     *     case 1:
+     *     //代码体
+     *     break;
+     *      case 1:
+     *      *     //代码体
+     *      *     break;
+     *    default:  //可选
+     *
+     * }
+     */
+    @Test
+    public void t8(){
+        //判断季节
+        String season = "summer1";
+        switch (season){
+            case "spring":
+            case "spring1":
+                System.out.println("春天");
+                break;
+            case "summer":
+            case "summer1":
+                System.out.println("夏天");
+                break;
+            case "autumn":
+                System.out.println("秋天");
+                break;
+            case "winter":
+                System.out.println("冬天");
+                break;
+            default:
+                System.out.println("输入有误");
+        }
+    }
+
+    /**
+     * for循环:
+     * for(1 初始化部分  2 条件判断  3 迭代){
+     *     4 循环体
+     * }
+     * 1  -  2 (判断  是否满足条件 是  -- 4 循环体  3-迭代   - 2条件判断(不  结束循环) )
+     *
+     *
+     * //双层for循环
+     * for(1 初始化部分  2 条件判断  3 迭代){
+     *  4  for( 5初始化部分  6 条件判断  7 迭代){
+     *          8 循环体
+     *       }
+     * }
+     *
+     * 1 2  4 5 6  8  7 6 (是否满足)  是  8 - 6 3 - 2   4
+     */
+    @Test
+    public void t9(){
+        /**
+         * 打印 01-100    01  02  03   10
+         */
+//        for (int i = 1;i<101;i++){
+//           if(i<10){
+//               System.out.println("0"+i);
+//           }else {
+//               System.out.println(i);
+//           }
+//        }
+   //  30    30.for+回车   itar
+        for (int i = 0; i < 30; i++) {
+            for (int i1 = 30; i1 > 0; i1--) {
+                System.out.println(30*30);
+            }
+        }
+    }
+
+    @Test
+    public void t10(){
+        int sum = 0 ;
+        for (int i = 0; i <=100; i++) {
+            sum += i;
+        }
+        System.out.println(sum);
+    }
+
+    /**
+     * 遍历1-100以内的偶数,
+     * 并获取偶数的个数,
+     * 获取所有的偶数的和
+     */
+    @Test
+    public void t11(){
+        int sum = 0;
+        int  count = 0;
+        for (int i = 1; i <=100; i++) {
+            if(i % 2 == 0){
+                count++;
+                sum += i;
+            }
+        }
+        System.out.println(sum);
+        System.out.println(count);
+    }
+
+    /**
+     * 输出1000以内所有的水仙花数,
+     * 所谓水仙花数是指一个3位数,
+     * 其各个位上数字立方和等于其本身
+     */
+    @Test
+    public void t13(){
+        int sum = 0;   //所有水仙花的总额和
+        int count = 0;   //水仙花的个数
+        for(int i = 100;i<1000;i++){
+            int gw = i%10;
+            int sw = i/10%10;
+            int bw = i/100;
+            if(gw*gw*gw + sw*sw*sw + bw*bw*bw == i){
+                count++;
+                sum += i;
+                System.out.println(i);
+            }
+        }
+        System.out.println(sum);
+        System.out.println(count);
+    }
+}

+ 70 - 0
Java0715/src/main/java/com/sf/javase/day03/ArrayTest.java

@@ -0,0 +1,70 @@
+package com.sf.javase.day03;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.Arrays;
+
+/**
+ * 一维数组
+ */
+public class ArrayTest {
+    /**
+     * 一维数组的定义;
+     * int[] arr;
+     * int arr[];
+     * Sting[] str;
+     * Double[] num;
+     * User[] users;
+     */
+    @Test
+    public void t1(){
+        //静态初始化
+        int[] arr = new int[]{1,2,3,4};
+        System.out.println(arr.length);
+        int[] arr1;
+        arr1 = new int[]{1,2,3,4};
+
+//        int[] arr2;
+//        arr2 = {1,2,3,4};
+        int[] arr3 = {1,2,3,4,5};
+    }
+
+
+    /**
+     * 数组元素的获取和遍历
+     */
+    @Test
+    public void t2(){
+       String[] str = new String[]{"zs","ls","ww","zl"};
+       //数组获取元素   通过下标进行获取  0   1    2    3
+        // 结构   str[index]
+//        System.out.println(str[2]);
+        //for 遍历
+//         for (int i = 0;i<str.length;i++){
+//             System.out.println(str[i]);
+//         }
+         str[2] = "qq";
+
+         // 快捷键   数字.for    itar
+        for (int i = 0;i<str.length;i++){
+            System.out.println(str[i]);
+        }
+        System.out.println("========================");
+        System.out.println(Arrays.toString(str));
+
+        /**
+         *  for
+         *  for(String s  :  str){
+         *
+         *  }
+         *
+         *  str:要是遍历的集合/数组
+         *  s:数组中的每一个元素
+         *  String :数组中的每一个元素的数据类型
+         *  快捷键   : iter
+         */
+        for (String s : str) {
+            System.out.println(s);
+        }
+    }
+}

+ 97 - 0
Java0715/src/main/java/com/sf/javase/day03/ArrayWorker.java

@@ -0,0 +1,97 @@
+package com.sf.javase.day03;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.Arrays;
+
+/**
+ * 数组练习题
+ */
+public class ArrayWorker {
+    /**
+     * 数组统计:求总和、均值
+     * 求数组元素的总乘积
+     */
+    @Test
+    public void t1(){
+        int[] arr = {4,5,6,1,9};
+        int sum = 0;
+        int result = 1;
+        double avg = 0.0;
+        //sum   avg
+        for (int i = 0;i<arr.length;i++){
+          sum +=  arr[i];
+            result *= arr[i];
+        }
+        System.out.println(sum);
+        avg =sum/arr.length;
+        System.out.println(avg);
+        System.out.println(result);
+    }
+
+    /**
+     * 求数组元素的最大值
+     */
+    @Test
+    public void t2(){
+        int[] arr = {4,5,6,1,9};
+        int max = arr[0];
+        for (int  i = 0;i<arr.length;i++){
+            if(arr[i]>max){
+                max = arr[i];
+            }
+        }
+        System.out.println(max);
+    }
+
+
+    /**
+     *    找最值大及其所有最大值的下标
+     */
+    @Test
+    public void t3(){
+        int[] arr = {4,5,9,1,9,9,3};
+        int max = arr[0];
+        int count = 0;
+        int pre = 0;
+        int[] arr1 = new int[arr.length];   //null  0
+        String index  = "0";
+        for (int i = 0; i < arr.length; i++) {
+         if(arr[i] > max){
+             max = arr[i];
+             pre = max;
+             arr1[count] = i;
+         }else if (arr[i] == max){
+             if(pre != max){
+                 count--;
+             }
+             arr1[++count] = i;
+         }
+        }
+        System.out.println(max);
+        System.out.println(index);
+        System.out.println(Arrays.toString(arr1));
+    }
+
+    @Test
+    public void t4(){
+        int[] scores = {5,4,6,8,9,0,1,2,7,3};
+        int max = scores[0];
+        int min = scores[0];
+        int sum = 0;
+        for (int i = 0; i < scores.length; i++) {
+            if (scores[i] > max) {
+                max = scores[i];
+            }
+            if (scores[i] < min) {
+                min = scores[i];
+            }
+            sum += scores[i];
+        }
+        double avg = (sum - max -min)*1.0/(scores.length-2);
+        System.out.println("总分"+sum);
+        System.out.println("最高分"+max);
+        System.out.println("最低分"+min);
+        System.out.println("平均分"+avg);
+    }
+}

+ 237 - 0
Java0715/src/main/java/com/sf/javase/day03/T.java

@@ -0,0 +1,237 @@
+package com.sf.javase.day03;
+import org.junit.jupiter.api.Test;
+import java.util.Arrays;
+
+/**
+ * day03   while
+ */
+public class T {
+    /**
+     * while循环的语法结构:
+     *  while(循环条件){    true   永真循环   死循环
+     *      //循环体
+     *  }
+     */
+    @Test
+    public void t1(){
+        //利用while循环计算1-100的和
+        int i  = 1;
+        int sum = 0;
+        while (i<=100){
+            sum += i;
+            i++;
+        }
+        System.out.println("总和  = "+sum);
+    }
+
+    /**
+     * do  while
+     * do{
+     *
+     * }while();
+     *
+     * do while  无论条件是否满足  都先执行一次
+     * while  先判断条件是否满足
+     */
+    @Test
+    public void t2(){
+        //用 do while循环写一下1-100的和
+        int  i = 1;
+        int sum = 0;
+        do {
+            sum += i;
+            i++;
+        }while (i <=100);
+        System.out.println(sum);
+    }
+
+    /**
+     * 9*9乘法表
+     */
+    @Test
+    public void t3(){
+        for (int i = 1;i<=9;i++){
+            for (int j = 1;j<=i;j++){
+                System.out.print(i+"*"+j+"="+i*j+"\t");
+            }
+            System.out.println();
+        }
+    }
+
+    /**
+     * //1—100之间的所有质数
+     * (质数是只能被1和他本身整除的数称为质数,1既不是质数也不是合数)
+     */
+    @Test
+    public void t4(){
+        for (int i = 2;i<=100;i++){
+            boolean flag = true;
+            for (int j = 2;j<i;j++){
+                if(i%j == 0){
+                    flag = false;
+                    break;
+                }
+            }
+            if(flag){
+                System.out.println(i);
+            }
+        }
+    }
+
+    /**
+     * 打印5行直角三角形
+     */
+    @Test
+    public void t5(){
+        for(int i = 1;i<=5;i++){
+            for (int j  = 1;j<=i;j++){
+                System.out.print("*");
+            }
+            System.out.println();
+        }
+    }
+
+    /**
+     * 将一天的时间打印到当前控制台上
+     */
+    @Test
+    public void t6(){
+        for(int hour = 0;hour<24;hour++){
+            for(int min = 0;min<60;min++){
+                for(int s = 0;s<60;s++){
+                    System.out.println(hour+"时"+min+"分"+s+"秒");
+                }
+            }
+        }
+    }
+
+    @Test
+    public void t7(){
+        /**
+         * 生成 1-100 之间的随机数,直到生成了 97 这个数,看看一共用了几次?
+         */
+        int count = 0;//记录次数
+        while (true){
+            int random = (int) (Math.random()*100)+1;
+            count++;
+            if(random == 97){
+                break;
+            }
+        }
+        System.out.println(count);
+    }
+
+    /**
+     * 方法:也称之为函数
+     * 方法的语法结构:权限修饰符   【其他修饰符】 方法的返回值类型   方法名(参数) throws异常{
+     *     //方法体
+     * }
+     *
+     * 权限修饰符;public
+     * 其他修饰符:static  静态的   静态方法
+     * 方法的返回值类型:有/无    int  string   对象   数组   集合 ....   无  void
+     * 方法名 :标识符    创建规则:见名知意
+     * 参数:入参  出参     语法结构    数据类型 参数名 , ....
+     * 入参:形参和实参  :   形参?  形式参数    get(int a);
+     *      实参:实际参数   我们在调用方法时传过来的参数
+     * //代码体:   有返回值  return   返回值
+     *              void    return;    可以  在java不建议
+     *             C: int main(){
+     *                 return 1;
+     *             }
+     * 注意点:方法不能单独存在  必须在类中   main函数    自定义的方法  并行
+     *          在同个类中  方法名不能相同
+     *
+     * static:静态方法 :   调用   在同类   不同类
+     *
+     * 重载方法:  在一个类中,方法名相同  参数列表不同(参数个数不同 参数数据类型不同 顺序))     (权限修饰符   返回值类型)X
+     */
+    @Test
+    public void t8(){
+        //  实例方法可以调用实例方法、静态方法
+    insert();
+    insert("admin");
+    update();
+    }
+
+    //主函数
+    public static void main(String[] args) {
+//        insert();
+        // 静态方法必须调用静态
+        update();
+        String[] studentsInfos = getStudentsInfos();
+        System.out.println(Arrays.toString(studentsInfos));
+        int studentIndex = 1;
+        String student= getStudentInfosByIndex(studentIndex);
+        System.out.println(student);
+        char aChar = getChar();
+        System.out.println(aChar);
+    }
+
+
+    //自定义个一个方法
+    public void insert(){
+        System.out.println("信息插入");
+    }
+
+    public void insert(String name){
+        System.out.println("信息插入");
+    }
+
+    public void insert(int age,String name){
+        System.out.println("信息插入");
+    }
+
+    public void insert(String name,int age){
+        System.out.println("信息插入");
+    }
+
+
+    public static void update(){
+        System.out.println("update");
+    }
+
+    public static String[] getStudentsInfos(){
+       String[] str = new String[]{"zs","ls","ww"};
+       return str;
+    }
+
+    public static String getStudentInfosByIndex(int index){
+        String[] str = new String[]{"zs","ls","ww"};
+        return str[index];
+    }
+
+    public int sum(int ... args){
+        int sum1 = 0;
+        for (int i = 1;i<args.length;i++){
+            sum1 += args[i];
+        }
+        return sum1;
+    }
+
+    /**
+     * //设计一个方法可以返回A-Z之间的随机字符。 [65 90]
+     * public char getChar() {
+     * }
+     */
+    public static char getChar() {
+        return (char) ((Math.random()*26)+65);
+     }
+
+    /**
+     * 计算n 的阶乘
+     * @return
+     */
+    public int jc(int n){
+        if(n  == 1){
+            return 1;
+        }
+        return n * jc(n-1);
+    }
+
+    @Test
+    public void t10(){
+        int jc = jc(8);
+        System.out.println(jc);
+    }
+}

+ 27 - 0
Java0715/src/main/java/com/sf/javase/day03/T2.java

@@ -0,0 +1,27 @@
+package com.sf.javase.day03;
+
+import org.junit.jupiter.api.Test;
+
+/**
+ * T2类
+ */
+public class T2 {
+    public static void main(String[] args) {
+        //  不同类  静态方法调用   类名.方法名
+        //         实例方法   new对象   对象名.方法名
+        T.update();
+        T t = new T();
+        t.insert();
+        t.insert("admin");
+    }
+
+
+    @Test
+    public void t1(){
+        //实例方法    静态方法
+        T t = new T();
+        t.insert("ss");
+        t.insert();
+        T.update();
+    }
+}

+ 55 - 0
Java0715/src/main/java/com/sf/javase/day04/T.java

@@ -0,0 +1,55 @@
+package com.sf.javase.day04;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.Arrays;
+
+/**
+ * 第四天  数组
+ */
+public class T {
+    @Test
+    public void t1(){
+        /**
+         * 数据类型[] 数组名 = new 数据类型[]{};
+         * 数据类型[] 数组名 = new 数据类型[数组的长度];
+         *
+         */
+        int[] arr = new int[5];
+        int[] arr1;
+        arr1 = new int[3];
+        System.out.println(Arrays.toString(arr1));
+        arr[0] = 10;
+        arr[1] = 10;
+        arr[2] = 11;
+        arr[3] = 12;
+        arr[3] = 20;
+        arr[4] = 13;
+//        arr[5] = 10;
+        System.out.println(Arrays.toString(arr));
+        for (int i = 0;i<arr.length;i++){
+            System.out.println(arr[i]);
+        }
+        for (int ele : arr){
+            System.out.println(ele);
+        }
+    }
+
+    /**
+     * 创建一个长度为6的int型数组,要求数组元素的值都在1-30之间,且是随机赋值,并要求不重复
+     */
+    @Test
+    public void t2(){
+        int[] arr = new int[6];
+        for (int i  =0 ;i<arr.length;i++){
+            arr[i] = (int) ((Math.random()*6)+1);
+            for(int j = 0;j<i;j++){
+                if(arr[i]  == arr[j]){
+                    i--;
+                    break;
+                }
+            }
+        }
+        System.out.println(Arrays.toString(arr));
+    }
+}

+ 200 - 0
Java0715/src/main/java/com/sf/javase/day04/T2.java

@@ -0,0 +1,200 @@
+package com.sf.javase.day04;
+
+import com.beust.ah.A;
+import org.junit.jupiter.api.Test;
+
+import java.util.Arrays;
+import java.util.Scanner;
+
+/**
+ * 从键盘读入学生10成绩,找出最高分,并输出学生成绩等级。
+ *
+ * - 成绩>=最高分-10   等级为’A’
+ *
+ * - 成绩>=最高分-20  等级为’B’
+ *
+ * - 成绩>=最高分-30  等级为’C’
+ *
+ * - 其余            等级为’D’
+ */
+public class T2 {
+    public static void main(String[] args) {
+        Scanner scanner = new Scanner(System.in);
+        System.out.println("请输入录入成绩的人数~");
+        int personCount = scanner.nextInt();
+        int[] score = new int[personCount];
+        //假设一个最大值
+        int max = 0;
+        for (int i = 0; i< score.length;i++){
+            score[i] = scanner.nextInt();
+            if(max < score[i]){
+                max = score[i];
+            }
+        }
+        System.out.println("最高分"+max);
+
+        char level;
+        //确定等级
+        for (int i = 0; i< score.length;i++){
+            if(score[i] >= max - 10){
+                 level = 'A';
+            }else if (score[i] >= max - 20 ){
+                level = 'B';
+            }else if (score[i] >= max - 30){
+                level = 'C';
+            }else {
+                level = 'D';
+            }
+            System.out.println(level);
+        }
+    }
+
+    @Test
+    public void t1(){
+        //声明初始化一个二维数组
+        int[][] arr = new int[][]{ {1,2},{1,2,3},{3,4,5,6}};
+        int[][] arr2 = new int[2][3];
+        //赋值
+        for (int i = 0 ;i<arr2.length ;i++){
+            for (int j = 0;j< arr2[i].length;j++){
+                arr2[i][j] = 3;
+            }
+        }
+
+        arr2[0][1] = 4;
+        System.out.println(Arrays.toString(arr2[0]));
+    }
+
+    /**
+     * 第一季度 每一个月的销售额 分别是 12,14,24,
+     *
+     * 第二季度 每一个月的销售额 分别是 23,18,35,
+     *
+     * 第三季度 每一个月的销售额 分别是 33,48,25,
+     *
+     * 第四季度 每一个月的销售额 分别是 27,28,35,
+     */
+    @Test
+    public void t3(){
+        int[][] arr = new int[][]{{12,14,24},{23,18,35},{33,48,25},{27,28,35}};
+        int sum = 0;
+        for (int i= 0;i<arr.length;i++){
+            for (int j= 0;j<arr[i].length;j++){
+                    sum += arr[i][j];
+            }
+        }
+        System.out.println(sum);
+        System.out.println(sum*1.0/12);
+    }
+
+    //数组的反转
+    @Test
+    public void t4(){
+        int[] arr = {1,2,3,4,5,6,7,8,9};
+//        for (int i  = 0;i< arr.length/2;i++){
+//           int temp = arr[i];
+//           arr[i] = arr[arr.length-i-1];
+//            arr[arr.length-i-1] = temp;
+//        }
+//        System.out.println(Arrays.toString(arr));
+        for (int left = 0,right = arr.length-1;left<right;left++,right--){
+            int temp = arr[left];
+            arr[left] = arr[right];
+            arr[right] = temp;
+        }
+        System.out.println(Arrays.toString(arr));
+    }
+
+
+    @Test
+    public void t5(){
+        //数组元素的复制
+        int[] arr = {1,2,3,4,5,6,7,8,9};
+        int[] arr1 = new int[arr.length];
+        for (int i = 0;i<arr.length;i++){
+            arr1[i] = arr[i];
+        }
+        System.out.println(Arrays.toString(arr1));
+    }
+
+    @Test
+    public void t2(){
+        //数组元素的查找
+        int[] arr = {1,2,3,4,5,6,7,8,9};
+        int value = 9;
+        int index = -1;
+        for(int i=0; i<arr.length; i++){
+            if(arr[i] == value){
+                index = i;
+                break;
+            }
+        }
+        if(index==-1){
+            System.out.println(value + "不存在");
+        }else{
+            System.out.println(value + "的下标是" + index);
+        }
+    }
+
+
+    /**
+     * 复制
+     */
+    @Test
+    public void t6(){
+        int[] arr = new int[]{1,2,3,4,5,67,67,8,89};
+       int[] arr1 =  new int[arr.length];
+       for(int i = 0;i<arr.length;i++){
+           arr1[i] = arr[i];
+        }
+        System.out.println(Arrays.toString(arr1));
+    }
+
+    /**
+     * 数组的元素查找
+     */
+    @Test
+    public void t7(){
+        int[] arr = new int[]{1,2,3,4,5,67,8,89};
+        int index = -1;
+        int val = 672;
+        for (int i= 0;i<arr.length;i++){
+            if(val == arr[i]){
+                index = i;
+                break;
+            }
+        }
+        if(index  == -1){
+            System.out.println("没有找到");
+        }else {
+            System.out.println("找到了  下标是"+index);
+        }
+    }
+
+    /**
+     * 二分查找   前提  必须是有序数组
+     */
+    @Test
+    public void t8(){
+        int[] arr = new int[]{1,2,3,4,5,67,81,89};
+        int val = 811;
+        int head = 0;
+        boolean flag = true;
+        int end = arr.length-1;
+        while (head<=end){
+            int middle = (head + end) / 2;
+            if(arr[middle] == val){
+                System.out.println("找到了  index= "+middle);
+                flag = false;
+                break;
+            }else if(arr[middle] > val){
+                end = middle -1;
+            }else {
+                head = middle+1;
+            }
+        }
+        if(flag){
+            System.out.println("没有找到~");
+        }
+    }
+}

+ 26 - 0
Java0715/src/main/java/com/sf/javase/day05/T.java

@@ -0,0 +1,26 @@
+package com.sf.javase.day05;
+
+import org.junit.jupiter.api.Test;
+
+import javax.swing.*;
+import java.util.Arrays;
+
+/**
+ * Arrays工具类的使用
+ */
+public class T {
+    @Test
+    public void t1(){
+        int[] arr = new int[]{6,5,3,2,1};
+        String s = Arrays.toString(arr);
+        System.out.println(s);
+        Arrays.sort(arr,2,5);
+        Arrays.sort(arr);
+        System.out.println(Arrays.toString(arr));
+
+        // 二分查找
+        int index = Arrays.binarySearch(arr, 15);
+        System.out.println(index);
+
+    }
+}

+ 18 - 0
Java0715/src/main/java/com/sf/javase/day06/Animal.java

@@ -0,0 +1,18 @@
+package com.sf.javase.day06;
+
+/**
+ * 这是动物类
+ */
+public class Animal {
+
+    String  name;
+    int age;
+
+    public void eat(){
+        System.out.println("小动物吃~");
+    }
+
+    public void run(String name){
+        System.out.println(name+"正在跑");
+    }
+}

+ 21 - 0
Java0715/src/main/java/com/sf/javase/day06/AnimalTest.java

@@ -0,0 +1,21 @@
+package com.sf.javase.day06;
+
+/**
+ * 这是小动物的测试类
+ */
+public class AnimalTest {
+    public static void main(String[] args) {
+        Animal animal = new Animal();
+        animal.name = "小狗";
+        animal.age = 1;
+        animal.eat();
+        animal.run(animal.name);
+
+        Animal animal1 = new Animal();
+        animal1.name = "小猫";
+        animal1.age=2;
+        animal1.eat();
+        animal1.run(animal1.name);
+    }
+
+}

+ 38 - 0
Java0715/src/main/java/com/sf/javase/day06/Car.java

@@ -0,0 +1,38 @@
+package com.sf.javase.day06;
+
+import java.util.Arrays;
+
+public class Car {
+    double weight;
+
+    int horsepower;
+    public  double proportion(){
+        return  horsepower*10*1.0/weight;
+    }
+
+    @Override
+    public String toString() {
+        return "Car{" +
+                "weight=" + weight +
+                ", horsepower=" + horsepower +
+                "proportion = "+proportion()+
+                '}';
+    }
+
+    public static void main(String[] args) {
+      Car[] cars =   new  Car[3];
+        Car car1 = new Car();
+        car1.weight = 1500;
+        car1.horsepower = 180;
+        Car car2 = new Car();
+        car2.weight = 1300;
+        car2.horsepower = 125;
+        Car car3 = new Car();
+        car3.weight = 2000;
+        car3.horsepower = 130;
+        cars[0] = car1;
+        cars[1] = car2;
+        cars[2] = car3;
+        System.out.println(Arrays.toString(cars));
+    }
+}

+ 36 - 0
Java0715/src/main/java/com/sf/javase/day06/ObjectArray/Student.java

@@ -0,0 +1,36 @@
+package com.sf.javase.day06.ObjectArray;
+
+import java.util.Arrays;
+
+public class Student {
+    int number;
+    int state;
+    int score;
+
+    @Override
+    public String toString() {
+        return "Student{" +
+                "number=" + number +
+                ", state=" + state +
+                ", score=" + score +
+                '}';
+    }
+
+
+    public static void main(String[] args) {
+        Student[] students = new Student[5];
+        for (int i= 0;i<students.length;i++){
+            Student student = new Student();
+            student.number = i+1;
+            student.state = (int)(Math.random()*5+1);
+            student.score = (int)(Math.random()*100+1);
+            students[i] = student;
+        }
+        System.out.println(Arrays.toString(students));
+        for (Student student : students) {
+            if(student.state == 3){
+                System.out.println(student);
+            }
+        }
+    }
+}

+ 60 - 0
Java0715/src/main/java/com/sf/javase/day06/Student.java

@@ -0,0 +1,60 @@
+package com.sf.javase.day06;
+
+/**
+ * 这是一个学生类
+ */
+public class Student {
+    String stuNo;
+    String name;
+    int age;
+    double weight;
+    double height;
+
+    public void study(){
+        System.out.println("学生学习");
+    }
+
+    public void  sleep(String name){
+        System.out.println(name+"  不好好学习 正在睡觉");
+    }
+
+    @Override
+    public String toString() {
+        return "Student{" +
+                "stuNo='" + stuNo + '\'' +
+                ", name='" + name + '\'' +
+                ", age=" + age +
+                ", weight=" + weight +
+                ", height=" + height +
+                '}';
+    }
+
+    /**
+     * 返回当前类对象的信息
+     */
+//    @Override
+//    public String toString() {
+//        return "Student { stuNo = "+stuNo
+//                +", name = "
+//                +name
+//                +",age +"
+//                +age+",weight = "
+//                +weight+",height"
+//                +height+"}";
+//    }
+
+
+
+    public static void main(String[] args) {
+        Student student = new Student();
+        student.stuNo = "1001";
+        student.name = "xss";
+        student.age = 18;
+        student.height = 138.6;
+        student.weight = 100.0;
+        student.study();
+        student.sleep(student.name);
+        String str = student.toString();
+        System.out.println(str);
+    }
+}

+ 16 - 0
Java0715/src/main/java/com/sf/javase/day06/T.java

@@ -0,0 +1,16 @@
+package com.sf.javase.day06;
+import org.junit.jupiter.api.Test;
+
+/**
+ * 这是day06天的代码
+ * 面向对象
+ */
+public class T {
+
+    @Test
+    public void t1(){
+        double random = Math.random();
+
+    }
+
+}

+ 21 - 0
Java0715/src/main/java/com/sf/javase/day06/car/BSX.java

@@ -0,0 +1,21 @@
+package com.sf.javase.day06.car;
+
+/**
+ * 这是变速箱类
+ */
+public class BSX {
+    int dwCount;  //挡位的数量】
+
+    public String getinfo(){
+       return  "BSX{" +
+                "dwCount=" + dwCount +
+                '}';
+    }
+
+//    @Override
+//    public String toString() {
+//        return "BSX{" +
+//                "dwCount=" + dwCount +
+//                '}';
+//    }
+}

+ 16 - 0
Java0715/src/main/java/com/sf/javase/day06/car/Car.java

@@ -0,0 +1,16 @@
+package com.sf.javase.day06.car;
+
+/**
+ * 这是汽车类
+ */
+public class Car {
+    String carName;  //汽车名字
+    //发动机类  变速箱类 底盘类 (对象属性)
+    FDJ fdj;
+    BSX bsx;
+    DP dp;
+
+    public String  printInfo(){
+        return "Car{ fdj"+fdj.getInfo()+",bsx = "+bsx.getinfo()+",dp="+dp.getInfo();
+    }
+}

+ 23 - 0
Java0715/src/main/java/com/sf/javase/day06/car/CarTest.java

@@ -0,0 +1,23 @@
+package com.sf.javase.day06.car;
+
+/**
+ * 这是car的测试类
+ */
+public class CarTest {
+    public static void main(String[] args) {
+        Car car = new Car();
+        car.carName = "本田";
+        BSX bsx = new BSX();
+        bsx.dwCount = 7;
+        car.bsx = bsx;
+        FDJ fdj = new FDJ();
+        fdj.ml = 100;
+        fdj.pl = 1.5;
+        car.fdj = fdj;
+        DP dp = new DP();
+        dp.xgType = 1;
+        car.dp = dp;
+        String carStr = car.printInfo();
+        System.out.println(carStr);
+    }
+}

+ 12 - 0
Java0715/src/main/java/com/sf/javase/day06/car/DP.java

@@ -0,0 +1,12 @@
+package com.sf.javase.day06.car;
+
+public class DP {
+    int  xgType;
+    public String getInfo(){
+        return "DP{" +
+                "xgType=" + xgType +
+                '}';
+    }
+
+
+}

+ 26 - 0
Java0715/src/main/java/com/sf/javase/day06/car/FDJ.java

@@ -0,0 +1,26 @@
+package com.sf.javase.day06.car;
+
+/**
+ * 这是发动机类
+ */
+public class FDJ {
+
+    //马力
+    int ml;
+    //排量
+    double pl;
+    public String getInfo(){
+        return "FDJ{" +
+                "ml=" + ml +
+                ", pl=" + pl +
+                '}';
+    }
+
+//    @Override
+//    public String toString() {
+//        return "FDJ{" +
+//                "ml=" + ml +
+//                ", pl=" + pl +
+//                '}';
+//    }
+}

+ 45 - 0
Java0715/src/main/java/com/sf/javase/day06/person/Person.java

@@ -0,0 +1,45 @@
+package com.sf.javase.day06.person;
+
+/**
+ * 这是person类
+ */
+public class Person {
+    String name;
+    int age;
+    Phone phone;
+
+    public void study(){
+        System.out.println("studying~");
+    }
+
+    public void setName(String name){
+        this.name = name;
+    }
+
+    public String getName(){
+        return name;
+    }
+
+    public void setAge(int age){
+        this.age = age;
+    }
+
+    public int getAge(){
+        return age;
+    }
+
+     public String getInfo(){
+        return "Person{ name = "+name+", age = "+age+",Phone"+phone.getInfo()+"}";
+     }
+
+
+
+    public void printInfo(Phone phone){
+    getInfo();
+        System.out.println(phone.getInfo());
+    }
+
+
+
+
+}

+ 25 - 0
Java0715/src/main/java/com/sf/javase/day06/person/PersonTest.java

@@ -0,0 +1,25 @@
+package com.sf.javase.day06.person;
+
+
+/**
+ * 这是测试类person
+ */
+public class PersonTest {
+    public static void main(String[] args) {
+        Person person = new Person();
+//        person.age = 12;
+//        person.name = "zs";
+        person.study();
+        person.setName("zs");
+        person.setAge(12);
+        Phone phone = new Phone();
+        phone.rom = "1";
+        phone.ram = "1";
+        phone.cpu = "1";
+        person.phone = phone;
+        person.printInfo(phone);
+        System.out.println("年龄是="+person.getAge());
+        System.out.println("名字是="+person.getName());
+        System.out.println(person.getInfo());
+    }
+}

+ 11 - 0
Java0715/src/main/java/com/sf/javase/day06/person/Phone.java

@@ -0,0 +1,11 @@
+package com.sf.javase.day06.person;
+
+public class Phone {
+   String cpu;
+   String ram;
+   String rom;
+
+   public String getInfo(){
+       return "Phone{cpu="+cpu+",ram="+ram+",rom="+rom+"}";
+   }
+}

+ 49 - 0
Java0715/src/main/java/com/sf/javase/day07/Animal.java

@@ -0,0 +1,49 @@
+package com.sf.javase.day07;
+
+/**
+ * 封装
+ * @author Lenovo
+ */
+public class Animal {
+    private String name;
+    private int age;
+
+    public Animal() {
+    }
+
+    public Animal(String name, int age) {
+        this.name = name;
+        this.age = age;
+    }
+
+    public String getName() {
+        if(name.equals("zs")){
+            name = "ls";
+        }
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public int getAge() {
+        return age;
+    }
+
+    public void setAge(int age) {
+        if(age>10){
+           this.age = 10;
+        }else {
+            this.age = age;
+        }
+    }
+
+    @Override
+    public String toString() {
+        return "Animal{" +
+                "name='" + name + '\'' +
+                ", age=" + age +
+                '}';
+    }
+}

+ 12 - 0
Java0715/src/main/java/com/sf/javase/day07/AnimalTest.java

@@ -0,0 +1,12 @@
+package com.sf.javase.day07;
+
+public class AnimalTest {
+    public static void main(String[] args) {
+        Animal animal = new Animal();
+        animal.setName("zs1");
+        animal.setAge(-1);
+        System.out.println(animal.getName());
+        System.out.println(animal.getAge());
+        System.out.println(animal);
+    }
+}

+ 57 - 0
Java0715/src/main/java/com/sf/javase/day07/Student.java

@@ -0,0 +1,57 @@
+package com.sf.javase.day07;
+
+
+
+public class Student {
+    String name;
+    int age;
+    String school;
+    String major;
+
+    public Student() {
+    }
+
+    public Student(String school, String major) {
+        this.school = school;
+        this.major = major;
+    }
+
+    public Student(String name, int age, String school, String major) {
+        this.name = name;
+        this.age = age;
+        this.school = school;
+        this.major = major;
+    }
+
+    public Student(String name ){
+        this.name = name;
+    }
+    public Student(String name , int age){
+        this.name = name;
+        this.age = age;
+    }
+
+    public Student(String name , int age,String school){
+        this(name,age);
+        this.school = school;
+    }
+
+
+
+    @Override
+    public String toString() {
+        return "Student{" +
+                "name='" + name + '\'' +
+                ", age=" + age +
+                ", school='" + school + '\'' +
+                ", major='" + major + '\'' +
+                '}';
+    }
+
+    public static void main(String[] args) {
+        Student student = new Student("zs");
+        System.out.println(student);
+        Student student1 = new Student("zs",12,"理工","计算机");
+        System.out.println(student1);
+    }
+}

+ 56 - 0
Java0715/src/main/java/com/sf/javase/day07/T.java

@@ -0,0 +1,56 @@
+package com.sf.javase.day07;
+
+public class T {
+    int id;
+    String name;
+    double salary;
+    /**
+     * 构造器   m没有返回值(X  VOID)
+     *  类中没有构造器时(有参和无参都没有) , 不影响创建对象  系统会默认生成一个无参构造器
+     *  注意 : 如果当前类中包含有参构造器  ,但没有创建无参构造器   系统不会默认生成无参构造器
+     * 语法结构:
+     * 权限修饰符( T) 类名(){
+     *
+     * }
+     * 作用: 对象的创建   属性的赋值
+     *
+     * 一个标准的javabean  : 属性   行为(构造器(有,无),toString,set  get )
+     */
+
+    public T(){}
+
+    public T(int id){
+        this.id = id;
+    }
+    public T(String name){
+        this.name = name;
+    }
+    public T(String name,int id){
+        this.id = id;
+        this.name = name;
+    }
+
+//    public T(String name,int id,int salary){
+//        this.id = id;
+//        this.salary = salary;
+//        this.name = name;
+//    }
+    public T(String name,int id,int salary){
+        this(name,id);
+        this.salary = salary;
+    }
+
+
+
+
+
+
+
+    public static void main(String[] args) {
+        System.out.println("===");
+        T t = new T(1);
+    }
+
+
+
+}

+ 50 - 0
Java0715/src/main/java/com/sf/javase/day07/extend/Cat.java

@@ -0,0 +1,50 @@
+package com.sf.javase.day07.extend;
+
+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;
+    }
+
+    public void catchMouse(){
+        System.out.println("捉老鼠");
+    }
+
+    public void eat(){
+        System.out.println("吃");
+    }
+
+    public void sleep(){
+        System.out.println("睡");
+    }
+
+    @Override
+    public String toString() {
+        return "Cat{" +
+                "name='" + name + '\'' +
+                ", id=" + id +
+                '}';
+    }
+}

+ 50 - 0
Java0715/src/main/java/com/sf/javase/day07/extend/Dog.java

@@ -0,0 +1,50 @@
+package com.sf.javase.day07.extend;
+
+public class Dog {
+    private String name;
+    private Integer id;
+
+    public Dog(String name, Integer id) {
+        this.name = name;
+        this.id = id;
+    }
+
+    public Dog() {
+    }
+
+    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 "Dog{" +
+                "name='" + name + '\'' +
+                ", id=" + id +
+                '}';
+    }
+
+    public void dd(){
+        System.out.println("打洞");
+    }
+
+    public void eat(){
+        System.out.println("吃");
+    }
+
+    public void sleep(){
+        System.out.println("睡");
+    }
+}

+ 46 - 0
Java0715/src/main/java/com/sf/javase/day07/extend/entend1/Animal.java

@@ -0,0 +1,46 @@
+package com.sf.javase.day07.extend.entend1;
+
+public class Animal {
+    private String name;
+    private Integer id;
+
+    public Animal() {
+    }
+
+    public Animal(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;
+    }
+
+    public void eat(){
+        System.out.println("吃");
+    }
+
+    public void sleep(){
+        System.out.println("睡");
+    }
+
+    @Override
+    public String toString() {
+        return "Animal{" +
+                "name='" + name + '\'' +
+                ", id=" + id +
+                '}';
+    }
+}

+ 32 - 0
Java0715/src/main/java/com/sf/javase/day07/extend/entend1/Cat.java

@@ -0,0 +1,32 @@
+package com.sf.javase.day07.extend.entend1;
+
+/**
+ * 子类   继承  extends 父类 (成员 )
+ */
+public class Cat extends Animal{
+
+
+    public void catchMouse(){
+        System.out.println("小猫抓老鼠");
+    }
+
+
+    public static void main(String[] args) {
+        Cat cat = new Cat();
+        cat.setId(1);
+        cat.setName("xiaomao");
+        cat.catchMouse();
+        cat.sleep();
+        cat.eat();
+    }
+
+    @Override
+    public void eat(){
+        System.out.println("小猫吃");
+    }
+
+    @Override
+    public void sleep() {
+        System.out.println("小猫在休息");
+    }
+}

+ 28 - 0
Java0715/src/main/java/com/sf/javase/day07/extend/entend1/Dog.java

@@ -0,0 +1,28 @@
+package com.sf.javase.day07.extend.entend1;
+
+public class Dog extends Animal{
+    public void dd(){
+        System.out.println("小狗打洞");
+    }
+
+
+    @Override
+    public void eat() {
+        super.eat();
+    }
+
+
+    @Override
+    public void sleep() {
+        super.sleep();
+    }
+
+    public static void main(String[] args) {
+        Dog dog = new Dog();
+        dog.setId(1);
+        dog.setName("ahuang");
+        dog.eat();
+        dog.sleep();
+        dog.dd();
+    }
+}

+ 15 - 0
Java0715/src/main/java/com/sf/javase/day07/extend/entend1/T.java

@@ -0,0 +1,15 @@
+package com.sf.javase.day07.extend.entend1;
+
+import java.util.Arrays;
+import java.util.Scanner;
+
+public class T {
+    public static void main(String[] args) {
+        Scanner scanner = new Scanner(System.in);
+        int[] ints = new int[scanner.nextInt()];
+        for (int i= 0;i<ints.length;i++){
+            ints[i] = scanner.nextInt();
+        }
+        System.out.println(Arrays.toString(ints));
+    }
+}

+ 96 - 0
Java0715/src/main/java/com/sf/javase/day07/homework/Book.java

@@ -0,0 +1,96 @@
+package com.sf.javase.day07.homework;
+
+import java.util.Arrays;
+
+public class Book {
+    //书名
+    private String bookName;
+    //作者
+    private String author;
+    //出版社
+    private String publisher;
+    //价格
+    private double price;
+
+    public Book() {
+    }
+
+    public Book(String bookName, String author, String publisher, double price) {
+        if(price <10){
+            price = 10;
+            System.out.println("温馨提升 价格必须大于10元");
+        }
+        this.bookName = bookName;
+        this.author = author;
+        this.publisher = publisher;
+        this.price = price;
+    }
+
+    public String getBookName() {
+        return bookName;
+    }
+
+    public void setBookName(String bookName) {
+        this.bookName = bookName;
+    }
+
+    public String getAuthor() {
+        return author;
+    }
+
+    public void setAuthor(String author) {
+        this.author = author;
+    }
+
+    public String getPublisher() {
+        return publisher;
+    }
+
+    public void setPublisher(String publisher) {
+        this.publisher = publisher;
+    }
+
+    public double getPrice() {
+        return price;
+    }
+
+    public void setPrice(double price) {
+        if(price < 10){
+            this.price = 10;
+            System.out.println("温馨提升 价格必须大于10元");
+        }else this.price = price;
+    }
+
+    @Override
+    public String toString() {
+        return "Book{" +
+                "bookName='" + bookName + '\'' +
+                ", author='" + author + '\'' +
+                ", publisher='" + publisher + '\'' +
+                ", price=" + price +
+                '}';
+    }
+
+    public static void main(String[] args) {
+//        Book book = new Book();
+//        book.setBookName("java");
+//        book.setAuthor("xxx");
+//        book.setPublisher("xxxx");
+//        book.setPrice(2.3);
+//        System.out.println(book);
+
+//        //通过构造器进行赋值
+//        Book book = new Book("java","xxx","xxxxx",2.3);
+//        System.out.println(book);
+
+        Book[] books = new Book[3];
+        books[0] = new Book("java1","xxx","xxxxx",2.3);
+        books[1] = new Book("java2","xxx","xxxxx",2.3);
+        books[2] = new Book("java3","xxx","xxxxx",2.3);
+        for (Book book : books) {
+            book.setPrice(12);
+        }
+
+        System.out.println(Arrays.toString(books));
+    }
+}

+ 70 - 0
Java0715/src/main/java/com/sf/javase/day07/homework/CreditCard.java

@@ -0,0 +1,70 @@
+package com.sf.javase.day07.homework;
+
+public class CreditCard extends DepositCard{
+    private Double maxDraft;//本月可透支总额度
+    private Double overDraft;// 本月已透支的额度
+
+
+    @Override
+    public void withdraw(double money) {
+        if(money > (getBalance()+maxDraft-overDraft)){
+            System.out.println("超出透支额度");
+            return;
+        }
+        if (money <= getBalance()){  //不需要透支
+            super.withdraw(money);
+            return;
+        }
+        if(money > getBalance() &&money <= (getBalance()+maxDraft-overDraft)){
+            overDraft += money - getBalance();
+            setBalance(0.0);
+            return;
+        }
+    }
+
+    @Override
+    public void save(double money) {
+        if(money < 0){
+            System.out.println("存款金额不能为负数");
+            return;
+        }else if(money <= overDraft){
+            overDraft -= money;
+        } else {
+            setBalance(money-overDraft);
+            overDraft = 0.0;
+        }
+    }
+
+    public CreditCard() {
+    }
+
+    public CreditCard(Double maxDraft, Double overDraft) {
+        this.maxDraft = maxDraft;
+        this.overDraft = overDraft;
+    }
+
+    public Double getMaxDraft() {
+        return maxDraft;
+    }
+
+    public void setMaxDraft(Double maxDraft) {
+        this.maxDraft = maxDraft;
+    }
+
+    public Double getOverDraft() {
+        return overDraft;
+    }
+
+    public void setOverDraft(Double overDraft) {
+        this.overDraft = overDraft;
+    }
+
+    @Override
+    public String toString() {
+        return "CreditCard{" +
+                "maxDraft=" + maxDraft +
+                ", overDraft=" + overDraft +
+                "余额"+getBalance()+
+                '}';
+    }
+}

+ 74 - 0
Java0715/src/main/java/com/sf/javase/day07/homework/DepositCard.java

@@ -0,0 +1,74 @@
+package com.sf.javase.day07.homework;
+
+import java.text.BreakIterator;
+
+/**
+ * 这是储蓄卡的类
+ */
+public class DepositCard {
+    private String id;//账户
+    private Double balance;  //余额
+
+    public void withdraw(double money){
+        if(money < 0){
+            System.out.println("提示取款金额不能为负数");
+            return;
+        }
+        if(money > balance){
+            System.out.println("否则提示余额不足");
+            return;
+        }
+        balance -= money;
+    }
+
+    public void save(double money){
+        if(money < 0){
+            System.out.println("存款不能为负数");
+            return;
+        }
+        balance += money;
+    }
+
+    public String getInfo(){
+        return "DepositCard{" +
+                "id='" + id + '\'' +
+                ", balance=" + balance +
+                '}';
+    }
+
+
+
+
+
+    public DepositCard() {
+    }
+
+    public DepositCard(String id, Double balance) {
+        this.id = id;
+        this.balance = balance;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public Double getBalance() {
+        return balance;
+    }
+
+    public void setBalance(Double balance) {
+        this.balance = balance;
+    }
+
+    @Override
+    public String toString() {
+        return "DepositCard{" +
+                "id='" + id + '\'' +
+                ", balance=" + balance +
+                '}';
+    }
+}

+ 83 - 0
Java0715/src/main/java/com/sf/javase/day07/homework/HomeTest.java

@@ -0,0 +1,83 @@
+package com.sf.javase.day07.homework;
+
+import org.junit.jupiter.api.Test;
+
+/**
+ * 作业
+ */
+public class HomeTest {
+    @Test
+    public void t1(){
+/**
+ * 声明一个数组工具类ArrayTools,包含如下方法:
+ * int sum(int[] arr):求所有元素总和
+ * int max(int[] arr):求所有元素的最大值
+ * int indexOf(int[] arr, int value):查找value在arr数组中第一次出现的下标,如果不存在返回-1
+ * int lastIndexOf(int[] arr, int value):查找value在arr数组中最后一次出现的下标,如果不存在返回-1
+ */
+    }
+
+
+    @Test
+    public void t2(){
+
+        /**
+         * int binarySearch(int[] arr, int value):使用二分查找法在arr数组中查找value的下标,如果value不存在,就返
+         * 回-1,如果数组arr不是有序的,结果将不一定正确
+         * int binarySearch(char[] arr, char value):使用二分查找法在arr数组中查找value的下标,如果value不存在,就返
+         * 回-1,如果数组arr不是有序的,结果将不一定正确
+         * int binarySearch(double[] arr, double value):使用二分查找法在arr数组中查找value的下标,如果value不存在,就
+         * 返回-1,如果数组arr不是有序的,结果将不一定正确
+         * void sort(int[] arr):可以给arr数组从小到大排序,用冒泡排序实现
+         * void sort(char[] arr):可以给arr数组从小到大排序,用冒泡排序实现
+         * void sort(double[] arr):可以给arr数组从小到大排序,用冒泡排序实现
+         * String toString(int[] arr):将元素拼接为"{元素1,元素2,......}"的字符串返回。
+         * String toString(double[] arr):将元素拼接为"{元素1,元素2,......}"的字符串返回。
+         * String toString(char[] arr):将元素拼接为"{元素1,元素2,......}"的字符串返回。
+         */
+
+        int[] arr = {1,2,3,4,5,6,9,7,8,12};
+        String s = HomeTest.toString(arr);
+        System.out.println(s);
+
+    }
+
+
+    public static   String toString( int[] arr){
+        //[ 1,2,3,4,5,6,9,7,8,12     ]
+        String str = "[";
+//        int[] arr = {1,2,3,4,5,6,9,7,8,12};
+        for (int i = 0;i< arr.length;i++){
+        if(i<arr.length-1){  //有元素
+            str += arr[i]+",";
+        }else {
+            str += arr[i];  //最后一个元素
+        }
+        }
+        str += "]";
+        return str;
+    }
+
+    @Test
+    public void t3(){
+        /**
+         * 用递归实现不死神兔:故事得从西元1202年说起,话说有一位意大利青年,名叫斐波那契。
+         * 在他的一部著作中提出了一个有趣的问题:假设一对刚出生的小兔一个月后就能长成大兔,
+         * 再过一个月就能生下一对小兔,并且此后每个月都生一对小兔,没有发生死亡,
+         * 问:现有一对刚出生的兔子2年后(24个月)会有多少对兔子?
+         *
+         * 1 1 2 3 5 8 13  21 34
+         */
+        int f = HomeTest.f(24);
+        System.out.println(f);
+    }
+
+    public static int f(int n){
+        if(n <= 2){
+            return 1;
+        }
+        return f(n-1)+f(n-2);
+    }
+
+
+}

+ 33 - 0
Java0715/src/main/java/com/sf/javase/day07/homework/Test.java

@@ -0,0 +1,33 @@
+package com.sf.javase.day07.homework;
+
+public class Test {
+    public static void main(String[] args) {
+//        DepositCard depositCard = new DepositCard("1",1000.0);
+//        System.out.println(depositCard);
+//        depositCard.withdraw(200.0);
+//        System.out.println(depositCard);
+//        depositCard.withdraw(900.0);
+//        System.out.println(depositCard);
+
+
+        CreditCard creditCard = new CreditCard();
+        creditCard.setMaxDraft(1000.0);
+        creditCard.setOverDraft(0.0);
+        creditCard.setBalance(1000.0);
+        System.out.println(creditCard);
+
+        creditCard.withdraw(200.0);
+        System.out.println(creditCard);
+        creditCard.withdraw(900.0);
+        System.out.println(creditCard);
+        creditCard.withdraw(200.0);
+        System.out.println(creditCard);
+        creditCard.save(200);
+        System.out.println(creditCard);
+        creditCard.save(200);
+        System.out.println(creditCard);
+        creditCard.withdraw(1200);
+        System.out.println(creditCard);
+
+    }
+}

+ 66 - 0
Java0715/src/main/java/com/sf/javase/day07/homework/Triangle.java

@@ -0,0 +1,66 @@
+package com.sf.javase.day07.homework;
+
+public class Triangle {
+    /**
+     * 声明一个三角形类Triangle,包含属性:a,b,c,都是double类型,表示三条边,包含几个方法:
+     * boolean isTriangle():判断是否是一个三角形
+     * boolean isRightTriangle():判断是否是一个直角三角形
+     * boolean isIsoscelesTriangle():判断是否是一个等腰三角形
+     * boolean isEquilateralTriangle():判断是否是一个等边三角形
+     * double area():根据三条边,用海伦公式求面积
+     * double perimeter():求周长
+     */
+
+    double a;
+    double b;
+    double c;
+
+    /**
+     *  boolean isTriangle():判断是否是一个三角形
+     */
+    public boolean  isTriangle(){
+        return a>0&&b>0&&c>0&&a+b>c&&a+c>b&&b+c>a;
+    }
+
+    /**
+     * boolean isRightTriangle():判断是否是一个直角三角形
+     */
+    public boolean isRightTriangle(){
+        return isTriangle()&&(a*a+b*b==c*c  || a*a+c*c==b*b  ||a*a==b*b+c*c);
+    }
+
+    /**
+     * boolean isIsoscelesTriangle():判断是否是一个等腰三角形
+     */
+
+    public boolean isIsoscelesTriangle(){
+        return isTriangle()&&(a==b ||b==c ||a==c);
+    }
+
+    /**
+     * 等边三角形
+     * @return
+     */
+    public boolean isEquilateralTriangle(){
+        return isTriangle()&&(a==b && b==c && a==c);
+    }
+
+    /**
+     * double perimeter():求周长
+     */
+    public double perimeter(){
+        if(isTriangle()){
+            return a+b+c;
+        }else return 0.0;
+    }
+
+    /**
+     * double area():根据三条边,用海伦公式求面积
+     */
+    public double area(){
+        if(isTriangle()){
+            double perimeter = (a+b+c)/2;
+            return Math.sqrt(perimeter*(perimeter-a)*(perimeter-b)*(perimeter-c));//求平方根
+        }else return 0.0;
+    }
+}

+ 38 - 0
Java0715/src/main/java/com/sf/javase/day07/homework/User.java

@@ -0,0 +1,38 @@
+package com.sf.javase.day07.homework;
+
+public class User {
+    private String userName;
+    private String password;
+
+    public User() {
+    }
+
+    public User(String userName, String password) {
+        this.userName = userName;
+        this.password = password;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+    @Override
+    public String toString() {
+        return "User{" +
+                "userName='" + userName + '\'' +
+                ", password='" + password + '\'' +
+                '}';
+    }
+}

+ 21 - 0
Java0715/src/main/java/com/sf/javase/day07/homework/UserManager.java

@@ -0,0 +1,21 @@
+package com.sf.javase.day07.homework;
+
+public class UserManager {
+
+    public boolean login( String username , String password ){
+        User user = new User();
+        user.setUserName("admin");
+        user.setPassword("123456");
+        System.out.println(user);
+        if(user.getUserName().equals(username) && user.getPassword().equals(password)){
+            return true;
+        }
+        return false;
+    }
+
+    public static void main(String[] args) {
+        UserManager userManager = new UserManager();
+        boolean admin = userManager.login("admi1n", "123456");
+        System.out.println(admin);
+    }
+}

+ 28 - 0
Java0715/src/main/java/com/sf/javase/day08/City.java

@@ -0,0 +1,28 @@
+package com.sf.javase.day08;
+
+public class City extends Country{
+    String name = "shanghai属性";   //cityName  cName   countryName
+    public void print(){
+        name = "shanghai";
+        super.print(); //父类
+        System.out.println(this.name);
+        System.out.println(super.name);
+    }
+
+
+    @Override
+    public void instanceMethod() {
+        super.instanceMethod();
+    }
+
+
+
+    public static void staticMethod(){
+
+    }
+
+    public static void main(String[] args) {
+        City city = new City();
+        city.print();
+    }
+}

+ 18 - 0
Java0715/src/main/java/com/sf/javase/day08/Country.java

@@ -0,0 +1,18 @@
+package com.sf.javase.day08;
+
+public class Country {
+    String name = "china属性";
+
+    public void print(){
+        name = "china方法";
+    }
+
+    public void instanceMethod(){
+
+    }
+
+    public static void staticMethod(){
+
+    }
+
+}

+ 38 - 0
Java0715/src/main/java/com/sf/javase/day08/Student.java

@@ -0,0 +1,38 @@
+package com.sf.javase.day08;
+
+public class Student {
+
+      String name;
+      int  age;
+      static  String major;
+
+    public Student() {
+    }
+
+    public Student(String name, int age) {
+        this.name = name;
+        this.age = age;
+    }
+
+    @Override
+    public String toString() {
+        return "Student{" +
+                "name='" + name + '\'' +
+                ", age=" + age +
+                '}';
+    }
+
+    public static void main(String[] args) {
+        Student student = new Student("zs",16);
+//        Student.major = "java";
+        student.major = "java";
+        System.out.println(student);
+        System.out.println(student.major);
+
+        Student student1 = new Student();
+        System.out.println(student1);
+        student.major = "java1";
+        System.out.println(student1.major);
+
+    }
+}

+ 50 - 0
Java0715/src/main/java/com/sf/javase/day08/T.java

@@ -0,0 +1,50 @@
+package com.sf.javase.day08;
+
+import org.junit.jupiter.api.Test;
+
+public class T {
+    @Test
+    public void t1(){
+        int n;
+        {
+         n  = 100;
+            System.out.println(n);
+        }
+        System.out.println(n);
+    }
+
+
+    /**
+     * 静态代码块
+     */
+
+    @Test
+    public void t2(){{
+
+        }
+    }
+
+    static String name  ;
+    static {
+         name = "zs";
+        System.out.println(name);
+    }
+
+    public static void main(String[] args) {
+        System.out.println(name);
+        System.out.println("main");
+    }
+
+    /**
+     * 实例代码块
+     */
+    {
+        System.out.println("实例代码块。。。");
+    }
+
+
+
+
+
+
+}

+ 29 - 0
Java0715/src/main/java/com/sf/javase/day08/T2.java

@@ -0,0 +1,29 @@
+package com.sf.javase.day08;
+
+public class T2 {
+    private int id;
+
+    public T2() {
+        System.out.println("无参构造器");
+    }
+
+    {
+        System.out.println("实例代码块");
+    }
+
+    static {
+        System.out.println("这是静态代码块");
+    }
+
+
+    public T2(int id) {
+        this.id = id;
+    }
+
+    public static void main(String[] args) {
+        T2 t2 = new T2();
+        new T2();
+    }
+
+
+}

+ 46 - 0
Java0715/src/main/java/com/sf/javase/day08/duotai/Animal.java

@@ -0,0 +1,46 @@
+package com.sf.javase.day08.duotai;
+
+public class Animal {
+    /**
+     * 多态:多种状态    继承或者实现关系
+     */
+
+    private int id;
+    private String name;
+
+    public void sleep(String name){
+        System.out.println(name+"sleeping~");
+    }
+
+    public Animal() {
+    }
+
+    public Animal(int id, String name) {
+        this.id = id;
+        this.name = name;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    @Override
+    public String toString() {
+        return "Animal{" +
+                "id=" + id +
+                ", name='" + name + '\'' +
+                '}';
+    }
+}

+ 66 - 0
Java0715/src/main/java/com/sf/javase/day08/duotai/Cat.java

@@ -0,0 +1,66 @@
+package com.sf.javase.day08.duotai;
+
+public class Cat extends Animal{
+    private String color;   //自己独特的属性
+
+    public void catchMouse(){
+        System.out.println("小猫抓老鼠~");
+    }
+
+    public Cat() {
+    }
+
+//    public Cat(int id, String name) {
+//        super(id, name);
+//    }
+
+    public Cat(String color) {
+        this.color = color;
+    }
+
+    public String getColor() {
+        return color;
+    }
+
+    public void setColor(String color) {
+        this.color = color;
+    }
+
+    @Override
+    public void sleep(String name) {
+        System.out.println("小猫正在睡觉");
+    }
+
+    @Override
+    public String toString() {
+        return "Cat{" +
+                "color='" + color + '\'' +
+                '}';
+    }
+
+    public static void main(String[] args) {
+        Cat cat = new Cat();
+        cat.setColor("黄色");
+        cat.catchMouse();
+        cat.setName("小猫");
+        Dog dog = new Dog();
+        dog.setXX("XX");
+        dog.shut();
+        dog.setName("小狗");
+        //父类的引用   =  子类的对象   = 多态
+        //编译看左边   运行看右边
+       Animal animal = new Dog();
+       animal.setName("12");
+       Animal animal1 = new Cat();
+       animal.setName("小狗");
+       if(animal instanceof Dog){
+           Dog d1 = (Dog) animal;
+           d1.setXX("321");
+           d1.shut();
+       }
+
+
+
+
+    }
+}

+ 35 - 0
Java0715/src/main/java/com/sf/javase/day08/duotai/Dog.java

@@ -0,0 +1,35 @@
+package com.sf.javase.day08.duotai;
+
+public class Dog extends Animal{
+    private String XX;
+    public void shut(){
+        System.out.println("小狗自己的属性+叫");
+    }
+
+    @Override
+    public void sleep(String name) {
+        System.out.println("小狗正在睡觉");
+    }
+
+    public Dog() {
+    }
+
+    public Dog(String XX) {
+        this.XX = XX;
+    }
+
+    public String getXX() {
+        return XX;
+    }
+
+    public void setXX(String XX) {
+        this.XX = XX;
+    }
+
+    @Override
+    public String toString() {
+        return "Dog{" +
+                "XX='" + XX + '\'' +
+                '}';
+    }
+}

+ 7 - 0
Java0715/src/main/java/com/sf/javase/day08/duotai/Monkey.java

@@ -0,0 +1,7 @@
+package com.sf.javase.day08.duotai;
+
+public class Monkey extends Animal{
+    public void shut(){
+
+    }
+}

+ 35 - 0
Java0715/src/main/java/com/sf/javase/day08/duotai/Test09.java

@@ -0,0 +1,35 @@
+package com.sf.javase.day08.duotai;
+
+public class Test09 {
+    public static void main(String[] args) {
+        A a1 = new A();
+        A a2 = new B();
+        B b = new B();
+        C c = new C();
+        D d = new D();
+        System.out.println("(1)" + a1.show(b));   // A and A
+        System.out.println("(2)" + a2.show(d));   // B and A
+        System.out.println("(3)" + b.show(c));    // A and C
+        System.out.println("(4)" + b.show(d));    // B and B
+    }
+}
+class A {
+    public String show(C obj) {
+        return ("A and C");
+    }
+    public String show(A obj) {
+        return "A and A";
+    }
+}
+class B extends A {
+    public String show(B obj) {
+        return "B and B";
+    }
+    public String show(A obj) {
+        return "B and A";
+    }
+}
+class C extends B {
+}
+class D extends B {
+}

+ 14 - 0
Java0715/src/main/java/com/sf/javase/day08/duotai/Test10.java

@@ -0,0 +1,14 @@
+package com.sf.javase.day08.duotai;
+
+public class Test10 {
+    public static void main(String[] args) {
+        Base b = new Sub(); // 调用成员变量  编译看左边运行看左边
+        System.out.println(b.x);
+    }
+}
+class Base{
+    int x = 1;
+}
+class Sub extends Base{
+    int x = 2;
+}

+ 29 - 0
Java0715/src/main/java/com/sf/javase/day08/finalP/T.java

@@ -0,0 +1,29 @@
+package com.sf.javase.day08.finalP;
+
+/**
+ * final:
+ * 被fina修饰的类不能被继承
+ * 被final修饰的方法不能被重写
+ * 被final修饰的变量不能二次赋值
+ */
+public  class T {
+
+    public static   final String IP_ADDRESS = "192.169.1.1";  //常量
+    public void m1(){
+//        IP_ADDRESS = "123"
+       final int a ;
+       a = 1;
+//       a = 1;
+        System.out.println("m1");
+    }
+
+    public final void m2(){
+        System.out.println("m2");
+    }
+
+    public static void m3(){
+        System.out.println("m2");
+
+    }
+
+}

+ 20 - 0
Java0715/src/main/java/com/sf/javase/day08/finalP/T1.java

@@ -0,0 +1,20 @@
+package com.sf.javase.day08.finalP;
+
+public class T1 extends T{
+
+    @Override
+    public void m1() {
+        super.m1();
+    }
+
+//    @Override
+//    public void m2() {
+//
+//    }
+
+
+//    @Override
+    public static void m3() {
+
+    }
+}

+ 59 - 0
Java0715/src/main/java/com/sf/javase/day08/homework/Child11.java

@@ -0,0 +1,59 @@
+package com.sf.javase.day08.homework;
+
+public class Child11 extends Father{
+    /**
+     public class Exercise8 {
+     public static void main(String[] args) {
+     new Child("mike");
+     }
+     }
+     class People {
+     private String name;
+     public People() {
+     System.out.print("1");
+     }
+     public People(String name) {
+     System.out.print("2");
+     this.name = name;
+     }
+     }
+     class Child extends People {
+     People father;
+     public Child(String name) {
+     System.out.print("3");
+     father = new People(name + " F");
+     }
+     public Child() {
+     System.out.print("4");
+     }
+     }
+
+
+
+
+     public class Exercise9 {
+     public static void main(String[] args) {
+     Father f = new Father();
+     Child c = new Child();
+     }
+     }
+     class Father {
+     public Father(){
+     System.out.println("father()...");
+     }
+     }
+     class Child extends Father{
+     public Child(){
+     System.out.println("child()...");
+     }
+     }
+     */
+    public Child11(){
+        System.out.println("child()...");
+    }
+
+    public static void main(String[] args) {
+        new Father();
+        new Child11();
+    }
+}

+ 118 - 0
Java0715/src/main/java/com/sf/javase/day08/homework/Employee.java

@@ -0,0 +1,118 @@
+package com.sf.javase.day08.homework;
+
+import java.util.Arrays;
+import java.util.Scanner;
+
+/**
+ * (1)声明员工类Employee,
+ * 包含属性:姓名、性别、年龄、工资、电话、邮箱,属性私有化
+ * 提供get/set方法
+ * ==提供无参构造==
+ * ==提供有参构造Employee(String name, char gender, int age, double salary, String phone, String email)==
+ * 提供String getInfo()方法
+ * (2)在测试类的main中创建员工数组,并从键盘输入员工对象信息,最后遍历输出
+ */
+public class Employee {
+    private String name;
+    private char gender;
+    private int age;
+    private double salary;
+    private String phone;
+    private String email;
+
+    public Employee() {
+    }
+
+    public Employee(String name, char gender, int age, double salary, String phone, String email) {
+        this.name = name;
+        this.gender = gender;
+        this.age = age;
+        this.salary = salary;
+        this.phone = phone;
+        this.email = email;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public char getGender() {
+        return gender;
+    }
+
+    public void setGender(char gender) {
+        this.gender = gender;
+    }
+
+    public int getAge() {
+        return age;
+    }
+
+    public void setAge(int age) {
+        this.age = age;
+    }
+
+    public double getSalary() {
+        return salary;
+    }
+
+    public void setSalary(double salary) {
+        this.salary = salary;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    @Override
+    public String toString() {
+        return "Employee{" +
+                "name='" + name + '\'' +
+                ", gender=" + gender +
+                ", age=" + age +
+                ", salary=" + salary +
+                ", phone='" + phone + '\'' +
+                ", email='" + email + '\'' +
+                '}';
+    }
+
+    public static void main(String[] args) {
+      Employee[] employees =  new Employee[3];
+      Scanner scanner = new Scanner(System.in);
+        for (int i = 0; i <3; i++) {
+            System.out.println("这是第"+i+1+"个员工信息:");
+            //姓名、性别、年龄、工资、电话、邮箱
+            System.out.println("姓名");
+            String name = scanner.next();
+            System.out.println("性别");
+            char gender = scanner.next().charAt(0);
+            System.out.println("年龄");
+            int age = scanner.nextInt();
+            System.out.println("工资");
+            double salary = scanner.nextDouble();
+            System.out.println("电话");
+            String phone = scanner.next();
+            System.out.println("邮箱");
+            String email = scanner.next();
+            employees[i] = new Employee(name,gender,age,salary,phone,email);
+        }
+        System.out.println(Arrays.toString(employees));
+        scanner.close();
+    }
+}

+ 7 - 0
Java0715/src/main/java/com/sf/javase/day08/homework/Father.java

@@ -0,0 +1,7 @@
+package com.sf.javase.day08.homework;
+
+public class Father {
+    public Father(){
+        System.out.println("father()...");
+    }
+}

+ 10 - 0
Java0715/src/main/java/com/sf/javase/day08/homework/Test.java

@@ -0,0 +1,10 @@
+package com.sf.javase.day08.homework;
+
+public class Test extends TestP{
+    public static void main(String[] args) {
+
+        Test test = new Test();
+        test.setId(1);
+
+    }
+}

+ 21 - 0
Java0715/src/main/java/com/sf/javase/day08/homework/Test03.java

@@ -0,0 +1,21 @@
+package com.sf.javase.day08.homework;
+
+public class Test03 {
+    public static void main(String[] args) {
+        new A(new B());
+    }
+}
+class A {
+    public A() {
+        System.out.println("A");
+    }
+    public A(B b) {
+        this();
+        System.out.println("AB");
+    }
+}
+class B {
+    public B() {
+        System.out.println("B");
+    }
+}

+ 27 - 0
Java0715/src/main/java/com/sf/javase/day08/homework/TestP.java

@@ -0,0 +1,27 @@
+package com.sf.javase.day08.homework;
+
+public class TestP {
+    private int id;
+
+    public TestP() {
+    }
+
+    public TestP(int id) {
+        this.id = id;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    @Override
+    public String toString() {
+        return "TestP{" +
+                "id=" + id +
+                '}';
+    }
+}

+ 5 - 0
Java0715/src/main/java/com/sf/javase/day09/A1.java

@@ -0,0 +1,5 @@
+package com.sf.javase.day09;
+
+public abstract class A1 {
+    public abstract void A1M1();
+}

+ 5 - 0
Java0715/src/main/java/com/sf/javase/day09/A2.java

@@ -0,0 +1,5 @@
+package com.sf.javase.day09;
+
+public abstract class A2 extends A1{
+    public abstract void A2M2();
+}

+ 13 - 0
Java0715/src/main/java/com/sf/javase/day09/A3.java

@@ -0,0 +1,13 @@
+package com.sf.javase.day09;
+
+public class A3 extends A2{
+    @Override
+    public void A1M1() {
+
+    }
+
+    @Override
+    public void A2M2() {
+
+    }
+}

+ 13 - 0
Java0715/src/main/java/com/sf/javase/day09/Cook.java

@@ -0,0 +1,13 @@
+package com.sf.javase.day09;
+
+public class Cook extends Employee{
+    @Override
+    public void work() {
+        System.out.println("Cook  -- work");
+    }
+
+    @Override
+    public void run() {
+
+    }
+}

+ 60 - 0
Java0715/src/main/java/com/sf/javase/day09/Employee.java

@@ -0,0 +1,60 @@
+package com.sf.javase.day09;
+
+/**
+ * 抽象类
+ */
+public abstract class Employee {
+    private String id;
+    private String name;
+    private  double salary;
+
+    public Employee() {
+    }
+
+    public Employee(String id, String name, double salary) {
+        this.id = id;
+        this.name = name;
+        this.salary = salary;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public double getSalary() {
+        return salary;
+    }
+
+    public void setSalary(double salary) {
+        this.salary = salary;
+    }
+
+    @Override
+    public String toString() {
+        return "Employee{" +
+                "id='" + id + '\'' +
+                ", name='" + name + '\'' +
+                ", salary=" + salary +
+                '}';
+    }
+
+
+    //定义一个抽象方法
+    public abstract void work();
+    public abstract void run();
+
+//    public  abstract void run1();
+
+}

+ 23 - 0
Java0715/src/main/java/com/sf/javase/day09/Manager.java

@@ -0,0 +1,23 @@
+package com.sf.javase.day09;
+
+public class Manager extends Employee{
+
+    @Override
+    public void work() {
+        System.out.println("管理其他人");
+        System.out.println("Manager   -- work");
+    }
+
+    @Override
+    public void run() {
+
+    }
+
+    public static void main(String[] args) {
+        Employee employee = new Manager();
+        employee.work();
+        Employee employee1 = new Cook();
+        employee1.work();
+
+    }
+}

+ 68 - 0
Java0715/src/main/java/com/sf/javase/day09/homework/Exercise28.java

@@ -0,0 +1,68 @@
+package com.sf.javase.day09.homework;
+
+public class Exercise28 {
+    public static void main(String[] args) {
+        Worker w = new Worker();
+        Apple a1 = new Apple(5, "青色");
+        Apple a2 = new Apple(3, "红色");
+        w.pickApple(new CompareBig(), a1, a2);
+        w.pickApple(new CompareColor(), a1, a2);
+    }
+}
+class Apple{
+    private double size;
+    private String color;
+    public Apple(double size, String color) {
+        super();
+        this.size = size;
+        this.color = color;
+    }
+    public Apple() {
+        super();
+    }
+    public double getSize() {
+        return size;
+    }
+    public void setSize(double size) {
+        this.size = size;
+    }
+    public String getColor() {
+        return color;
+    }
+    public void setColor(String color) {
+        this.color = color;
+    }
+    @Override
+    public String toString() {
+        return size + "-" + color;
+    }
+}
+interface CompareAble{
+    default void compare(Apple a1,Apple a2){
+        System.out.println("默认挑大的:");
+        if(a1.getSize() > a2.getSize()){
+            System.out.println(a1);
+        }else{
+            System.out.println(a2);
+        }
+    }
+}
+class CompareBig implements CompareAble{
+}
+class CompareColor implements CompareAble{
+    @Override
+    public void compare(Apple a1, Apple a2) {
+        System.out.println("挑红的:");
+        if("红色".equals(a1.getColor())){
+            System.out.println(a1);
+        }
+        if("红色".equals(a2.getColor())){
+            System.out.println(a2);
+        }
+    }
+}
+class Worker{
+    public void pickApple(CompareAble c,Apple a1,Apple a2){
+        c.compare(a1, a2);
+    }
+}

+ 28 - 0
Java0715/src/main/java/com/sf/javase/day09/homework/Test07.java

@@ -0,0 +1,28 @@
+package com.sf.javase.day09.homework;
+
+public class Test07 {
+    public static void main(String[] args) {
+        Father f = new Son();
+        System.out.println(f.x);
+    }
+}
+class Father{
+    int x = 10;
+    public Father(){
+        this.print();
+        x = 20;
+    }
+    public void print(){
+        System.out.println("Father.x = " + x);
+    }
+}
+class Son extends Father{
+    int x = 30;
+    public Son(){
+        this.print();
+        x = 40;
+    }
+    public void print(){
+        System.out.println("Son.x = " + x);
+    }
+}

+ 14 - 0
Java0715/src/main/java/com/sf/javase/day09/homework/lianxi/ShapeInterface.java

@@ -0,0 +1,14 @@
+package com.sf.javase.day09.homework.lianxi;
+
+public interface ShapeInterface {
+
+    // 面积
+    Double getArea();
+    //周长
+    Double getPerimeter();
+
+    String display();
+
+     int compareToArea(ShapeInterface s1 ,ShapeInterface  s2);
+     int compareToPerimeter(ShapeInterface s1 ,ShapeInterface s2);
+}

+ 31 - 0
Java0715/src/main/java/com/sf/javase/day09/homework/lianxi/impl/Circle.java

@@ -0,0 +1,31 @@
+package com.sf.javase.day09.homework.lianxi.impl;
+
+import com.sf.javase.day09.homework.lianxi.ShapeInterface;
+
+public class Circle implements ShapeInterface {
+    private Double radius;
+    @Override
+    public Double getArea() {
+        return Math.PI*radius*radius;
+    }
+
+    @Override
+    public Double getPerimeter() {
+        return Math.PI*2*radius;
+    }
+
+    @Override
+    public String display() {
+        return null;
+    }
+
+    @Override
+    public int compareToArea(ShapeInterface s1, ShapeInterface s2) {
+        return 0;
+    }
+
+    @Override
+    public int compareToPerimeter(ShapeInterface s1, ShapeInterface s2) {
+        return 0;
+    }
+}

+ 87 - 0
Java0715/src/main/java/com/sf/javase/day09/homework/lianxi/impl/Rectangle.java

@@ -0,0 +1,87 @@
+package com.sf.javase.day09.homework.lianxi.impl;
+
+import com.sf.javase.day09.homework.lianxi.ShapeInterface;
+
+/**
+ * 矩形类
+ */
+public class Rectangle implements ShapeInterface {
+    private Double length;  //长
+    private Double wide;  //宽
+
+    public Rectangle() {
+    }
+
+    public Rectangle(Double length, Double wide) {
+        this.length = length;
+        this.wide = wide;
+    }
+
+    public Double getLength() {
+        return length;
+    }
+
+    public void setLength(Double length) {
+        this.length = length;
+    }
+
+    public Double getWide() {
+        return wide;
+    }
+
+    public void setWide(Double wide) {
+        this.wide = wide;
+    }
+
+    @Override
+    public Double getArea() {
+        return length*wide;
+    }
+
+    @Override
+    public Double getPerimeter() {
+        return (wide+length)*2;
+    }
+
+    @Override
+    public String display() {
+        return "周长是 = "+getPerimeter()+", 面积是 = "+getArea();
+    }
+
+    @Override
+    public int compareToArea(ShapeInterface s1, ShapeInterface s2) {
+        if(s1.getArea() > s2.getArea()){
+            System.out.println("第一个面积大于第二个面积");
+            return 1;
+        }else if (s1.getArea() == s2.getArea()){
+            System.out.println("第一个面积等于第二个面积");
+            return 0;
+        }else {
+            System.out.println("第一个面积小于第二个面积");
+            return -1;
+        }
+    }
+
+    @Override
+    public int compareToPerimeter(ShapeInterface s1, ShapeInterface s2) {
+        if(s1.getPerimeter() > s2.getPerimeter()){
+            System.out.println("第一个周长大于第二个周长");
+            return 1;
+        }else if (s1.getPerimeter() == s2.getPerimeter()){
+            System.out.println("第一个周长等于第二个周长");
+            return 0;
+        }else {
+            System.out.println("第一个周长小于第二个周长");
+            return -1;
+        }
+    }
+
+
+    public static void main(String[] args) {
+        ShapeInterface shapeInterface1 = new Rectangle(3.0,4.0);
+        System.out.println(shapeInterface1.display());
+        ShapeInterface shapeInterface2 = new Rectangle(4.0,4.0);
+        shapeInterface1.compareToArea(shapeInterface1,shapeInterface2);
+        shapeInterface1.compareToPerimeter(shapeInterface1,shapeInterface2);
+    }
+}

+ 22 - 0
Java0715/src/main/java/com/sf/javase/day09/interface1/BuildCarsInterface.java

@@ -0,0 +1,22 @@
+package com.sf.javase.day09.interface1;
+
+public interface BuildCarsInterface {
+
+    //静态常量
+  public static final int MAX_SPEED = 220;//km/h
+
+    int MIN_DISTANCE = 50; //m
+
+    //抽象方法
+   public abstract  void runCar();
+    void breakCar();
+
+    // 默认方法
+    default void start(){
+        System.out.println("default  - 开始");
+    }
+
+    static void show(){
+        System.out.println("static  - show()");
+    }
+}

+ 31 - 0
Java0715/src/main/java/com/sf/javase/day09/interface1/impl/BuildCarsInterfaceImpl.java

@@ -0,0 +1,31 @@
+package com.sf.javase.day09.interface1.impl;
+
+import com.sf.javase.day09.interface1.BuildCarsInterface;
+
+public class BuildCarsInterfaceImpl implements BuildCarsInterface {
+    @Override
+    public void runCar() {
+        System.out.println("1");
+    }
+
+    @Override
+    public void breakCar() {
+        System.out.println("2");
+    }
+
+
+
+    //default
+//    @Override
+//    public void start() {
+//        BuildCarsInterface.super.start();
+//    }
+
+
+    public static void main(String[] args) {
+        //多态
+      BuildCarsInterface buildCarsInterface =  new BuildCarsInterfaceImpl();
+      buildCarsInterface.start();
+      buildCarsInterface.runCar();
+    }
+}

+ 7 - 0
Java0715/src/main/java/com/sf/javase/day10/innerclass/InnerclassDemo.java

@@ -0,0 +1,7 @@
+package com.sf.javase.day10.innerclass;
+
+public class InnerclassDemo {
+    public static void main(String[] args) {
+        Outer01.Inner01 dmain = new Outer01.Inner01("dmain");
+    }
+}

+ 31 - 0
Java0715/src/main/java/com/sf/javase/day10/innerclass/Outer01.java

@@ -0,0 +1,31 @@
+package com.sf.javase.day10.innerclass;
+
+/**
+ * 这是外部类
+ */
+public class Outer01 {
+    public static String sc_name = "XX程序";
+    private static String name = "XX程序";
+
+    //定义一个内部类(静态)
+    public static class Inner01{
+        private String name;
+
+        public Inner01(String name) {
+            this.name = name;
+        }
+
+        public void showName(){
+            System.out.println(name);
+            System.out.println(sc_name);
+            System.out.println(Outer01.name);
+        }
+    }
+
+    public static void main(String[] args) {
+        // 创建静态内部类对象。
+        // 外部类.内部类  变量 = new  外部类.内部类构造器;
+        Inner01 inner01 = new Inner01("admin");
+        inner01.showName();
+    }
+}

+ 43 - 0
Java0715/src/main/java/com/sf/javase/day10/innerclass/instanceinnerclass/Outer02.java

@@ -0,0 +1,43 @@
+package com.sf.javase.day10.innerclass.instanceinnerclass;
+
+public class Outer02 {
+    private String out_name = "XXX";
+    private String name = "ww";
+
+    public Outer02() {
+    }
+
+    public Outer02(String out_name) {
+        this.out_name = out_name;
+    }
+
+    public String getOut_name() {
+        return out_name;
+    }
+
+    public void setOut_name(String out_name) {
+        this.out_name = out_name;
+    }
+
+
+    // 成员内部类
+    public class Inner02{
+        private String name;
+
+        public Inner02() {
+        }
+
+        public Inner02(String name) {
+            this.name = name;
+        }
+
+        public void showName(){
+            System.out.println(name);
+            System.out.println(out_name);
+            System.out.println(Outer02.this.name);
+//            Outer02 outer02 = new Outer02();
+//            System.out.println(outer02.name);
+        }
+
+    }
+}

+ 9 - 0
Java0715/src/main/java/com/sf/javase/day10/innerclass/instanceinnerclass/Outer02Demo.java

@@ -0,0 +1,9 @@
+package com.sf.javase.day10.innerclass.instanceinnerclass;
+
+public class Outer02Demo {
+    public static void main(String[] args) {
+        // 获取内部类  成员
+        Outer02.Inner02 admin = new Outer02().new Inner02("admin");
+        admin.showName();
+    }
+}

+ 36 - 0
Java0715/src/main/java/com/sf/javase/day10/innerclass/instanceinnerclass/Outer03.java

@@ -0,0 +1,36 @@
+package com.sf.javase.day10.innerclass.instanceinnerclass;
+
+public class Outer03 {
+    private String name = "aaa";
+    private String innerName  ="BB";
+
+    public Outer03() {
+    }
+
+    public Outer03(String name) {
+        this.name = name;
+    }
+
+    public void showName(){
+        class  Inner03{
+            private String innerName = "CCC";
+
+            public Inner03() {
+            }
+
+            public Inner03(String innerName) {
+                this.innerName = innerName;
+            }
+
+            public void t1(){
+                System.out.println(innerName);
+                System.out.println(name);
+                System.out.println(Outer03.this.innerName);
+            }
+        }
+        Inner03 inner03 = new Inner03();
+        inner03.t1();
+    }
+
+
+}

+ 8 - 0
Java0715/src/main/java/com/sf/javase/day10/innerclass/instanceinnerclass/Outer03Demo.java

@@ -0,0 +1,8 @@
+package com.sf.javase.day10.innerclass.instanceinnerclass;
+
+public class Outer03Demo {
+    public static void main(String[] args) {
+        Outer03 outer03 = new Outer03();
+        outer03.showName();
+    }
+}

+ 21 - 0
Java0715/src/main/java/com/sf/javase/day10/innerclass/instanceinnerclass/nm1/Demo07.java

@@ -0,0 +1,21 @@
+package com.sf.javase.day10.innerclass.instanceinnerclass.nm1;
+
+public class Demo07 {
+    public static void main(String[] args) {
+        Swim s1 =    new Swim() {
+            @Override
+            public void swimming() {
+                System.out.println("自由泳~");
+            }
+        };
+        s1.swimming();
+
+      Swim s2 =  new Swim() {
+            @Override
+            public void swimming() {
+                System.out.println("111");
+            }
+        };
+      s2.swimming();
+    }
+}

+ 37 - 0
Java0715/src/main/java/com/sf/javase/day10/innerclass/instanceinnerclass/nm1/Demo8.java

@@ -0,0 +1,37 @@
+package com.sf.javase.day10.innerclass.instanceinnerclass.nm1;
+
+import com.sun.org.apache.bcel.internal.generic.GOTO;
+
+public class Demo8 {
+    public static void main(String[] args) {
+//        Student student = new Student();
+//        goSwimming(student);
+
+
+
+        goSwimming(new Swim() {
+            @Override
+            public void swimming() {
+                System.out.println("22");
+            }
+        });
+
+
+
+
+//      Swim s3 =  new Swim() {
+//            @Override
+//            public void swimming() {
+//                System.out.println("2333");
+//            }
+//        };
+//      goSwimming(s3);
+//    }
+
+    }
+
+    //定义一个方法
+    public static void goSwimming(Swim swim){
+        swim.swimming();
+    }
+}

+ 5 - 0
Java0715/src/main/java/com/sf/javase/day10/innerclass/instanceinnerclass/nm1/Obj.java

@@ -0,0 +1,5 @@
+package com.sf.javase.day10.innerclass.instanceinnerclass.nm1;
+
+public abstract class Obj {
+     abstract void test();
+}

+ 13 - 0
Java0715/src/main/java/com/sf/javase/day10/innerclass/instanceinnerclass/nm1/Student.java

@@ -0,0 +1,13 @@
+package com.sf.javase.day10.innerclass.instanceinnerclass.nm1;
+
+public class Student implements Swim{
+    @Override
+    public void swimming() {
+        System.out.println("狗刨式~");
+    }
+
+    public static void main(String[] args) {
+        Swim swim = new Student();
+        swim.swimming();
+    }
+}

+ 8 - 0
Java0715/src/main/java/com/sf/javase/day10/innerclass/instanceinnerclass/nm1/Swim.java

@@ -0,0 +1,8 @@
+package com.sf.javase.day10.innerclass.instanceinnerclass.nm1;
+
+/**
+ * 游泳的接口
+ */
+public interface Swim {
+    void swimming();  //抽象方法
+}

+ 12 - 0
Java0715/src/main/java/com/sf/javase/day10/innerclass/instanceinnerclass/nm1/T1.java

@@ -0,0 +1,12 @@
+package com.sf.javase.day10.innerclass.instanceinnerclass.nm1;
+
+public class T1 {
+    public static void main(String[] args) {
+        new Obj() {
+            @Override
+            void test() {
+                System.out.println("111");
+            }
+        }.test();
+    }
+}

+ 115 - 0
Java0715/src/main/java/com/sf/javase/day11/api/T.java

@@ -0,0 +1,115 @@
+package com.sf.javase.day11.api;
+
+import org.junit.jupiter.api.Test;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * 常用Api练习
+ * api   =   Application   program  interface
+ */
+public class T {
+    @Test
+    public void t1(){
+        StringBuilder stringBuilder = new StringBuilder();
+        StringBuilder stringBuilder1 = new StringBuilder("qweryi");
+//        StringBuilder delete = stringBuilder1.delete(2, 3);
+        StringBuilder append = stringBuilder.append(stringBuilder1);
+        System.out.println(stringBuilder);
+        System.out.println(stringBuilder1);
+        StringBuilder delete = append.delete(2, 3);
+        System.out.println(delete);
+        System.out.println(stringBuilder);
+        System.out.println(stringBuilder1);
+
+//        System.out.println(delete);
+//        stringBuilder.append("dhyriutyiooi");
+//        System.out.println(stringBuilder);
+//        StringBuilder delete = stringBuilder.delete(2, 4);
+//        System.out.println(delete);
+//        StringBuilder str = stringBuilder.deleteCharAt(2);
+////        System.out.println(str);
+//        StringBuilder a = stringBuilder.replace(2, 8, "AAAAAAAAAAAAAA");
+//        System.out.println(a);
+//        StringBuilder qqq = stringBuilder.insert(1, "QQQ");
+//        System.out.println(qqq);
+//        StringBuilder reverse = qqq.reverse();
+//        System.out.println(reverse);
+    }
+
+    /**
+     * 线程安全
+     *
+     */
+    @Test
+    public void t2(){
+        StringBuffer stringBuffer = new StringBuffer();
+        stringBuffer.append("qwe");
+    }
+
+    /**
+     * 效率测试
+     */
+    @Test
+    public void t3(){
+     long start = 0L;
+     long end  = 0L;
+     String str = "";
+     StringBuffer buffer = new StringBuffer("");
+     StringBuilder builder = new StringBuilder("");
+     //获取当前时间
+        start= System.currentTimeMillis();
+        for (int i = 200000; i > 0; i--) {
+            buffer.append(String.valueOf(i));
+        }
+        end= System.currentTimeMillis();
+        System.out.println("buffer   = "+(end - start));
+
+        start= System.currentTimeMillis();
+        for (int i = 200000; i > 0; i--) {
+            builder.append(String.valueOf(i));
+        }
+        end= System.currentTimeMillis();
+        System.out.println("builder   = "+(end - start));
+
+        start= System.currentTimeMillis();
+        for (int i = 2000; i > 0; i--) {
+           str += String.valueOf(i);
+        }
+        end= System.currentTimeMillis();
+        System.out.println("String   = "+(end - start));
+    }
+
+
+    /**
+     * 时间API
+     */
+    @Test
+    public void t4(){
+        long millis = System.currentTimeMillis();
+        Date date = new Date();
+        System.out.println(date);
+        long millis1 = System.currentTimeMillis();
+        Date date1 = new Date(millis1);
+        System.out.println(date1);
+
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
+        String dateStr = simpleDateFormat.format(date);
+        System.out.println(dateStr);
+    }
+
+    @Test
+    public void t5() throws ParseException {
+       String str = "2024年07月29日 16时25分04秒";
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
+        Date parse = sdf.parse(str);
+        System.out.println(parse);
+    }
+
+    @Test
+    public void t6(){
+
+    }
+}

+ 97 - 0
Java0715/src/main/java/com/sf/javase/day11/exception/ET.java

@@ -0,0 +1,97 @@
+package com.sf.javase.day11.exception;
+
+import org.junit.jupiter.api.Test;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.Calendar;
+
+/**
+ * ET  = ExceptionTest
+ * 异常
+ */
+public class ET {
+    public static void main(String[] args) {
+//        String[] strs = {"qq","ww","ee"};
+//        String ele = getEle(strs, 3);
+//        System.out.println(ele);
+//        Integer.MAX_VALUE
+
+        int[][] arr = new int[3][1];
+        System.out.println(arr[0].length);
+    }
+
+    //  数组下标越界异常
+    public static String getEle(String[] strs , int index){
+        String str = strs[index];
+        return  str;
+    }
+
+    /**
+     *处理异常:
+     * try{
+     *  //可能要发生的异常代码
+     * }catch(  发生异常的类型1 e ){
+     *  //  处理
+     * }catch(  发生异常的类型2 e ){
+     *     //  处理
+     * }finally{
+     *   关闭资源
+     * }
+     *
+     *
+     * 处理异常的方式:
+     * 1、声明异常  在方法上   throws  异常类型 ...
+     * 2、捕获异常   try {  可能要发生异常的代码}  cathch( 异常的数据类型  变量名  ){  处理方式} finally{  关闭资源(无论异常是否发生  都会执行)
+     *
+     * }
+     * 3、抛出异常  throw   可以结合trycatch用
+     *  throw  new 异常的数据类型(参数)
+     *
+     *  finally :
+     *      无论是否存在异常都需要执行    进行资源的关闭
+     *     try    -  break(循环)   return       finally 会执行
+     *     1、finally不执行:
+     *      1、System.exit(0);
+     *      2、宕机(意外情况)
+     *
+     *
+     *
+     * 总结:
+     * throw  throws   try{}catch(){}finally{}
+     * 1、什么异常   异常的体系
+     * throwable     error   exception
+     * 受检查异常    运行时异常
+     * 编译时异常(处理)    运行    RuntimeException
+     * io   file  url       arr         by    null     inputmis   inst
+     *
+     * 处理方式   throws    e1,e2
+     * try        自定义异常  throw    runtimeException("....");
+     *
+     * 继承  重写方法     异常   <=  父类方法
+     *
+     */
+    @Test
+    public void t1() throws ClassNotFoundException {
+        try {
+            Class<?> aClass = Class.forName("java.lang.String");
+            FileInputStream fis = new FileInputStream("Java秘籍.txt");
+        } catch (ClassNotFoundException e) {
+            throw new ClassNotFoundException("类找不到异常");
+        } catch (FileNotFoundException e) {
+            String message = e.getMessage();
+            System.out.println(message);
+        } finally {
+            System.out.println("结束");
+        }
+    }
+
+    @Test
+    public void t3(){
+        StringBuilder stringBuilder = new StringBuilder();
+        String s = new String();
+//        stringBuilder.append()
+    }
+}

+ 20 - 0
Java0715/src/main/java/com/sf/javase/day11/exception/ExceptionTest.java

@@ -0,0 +1,20 @@
+package com.sf.javase.day11.exception;
+
+public class ExceptionTest {
+    public static void main(String[] args) {
+        int result = test();
+        System.out.println(result); //
+    }
+
+    public static int test(){
+        int i = 100;
+        int c = 0;
+        try {
+            c =i+1;
+            return c;
+        } finally {
+//            ci+1 =;
+            return ++c;
+        }
+    }
+}

+ 19 - 0
Java0715/src/main/java/com/sf/javase/day11/exception/FinallyTest.java

@@ -0,0 +1,19 @@
+package com.sf.javase.day11.exception;
+
+public class FinallyTest {
+    public static void main(String[] args) {
+        int result = test("d");
+        System.out.println(result);
+    }
+    public static int test(String str){
+        try{
+            Integer.parseInt(str);
+            return 1;
+        }catch(NumberFormatException e){
+            return -1;
+        }finally{
+            System.out.println("test结束");
+            return 0;
+        }
+    }
+}

+ 12 - 0
Java0715/src/main/java/com/sf/javase/day11/exception/MyException.java

@@ -0,0 +1,12 @@
+package com.sf.javase.day11.exception;
+
+public class MyException extends Exception{
+    private  int eid;
+
+    public MyException(String message, int eid) {
+        super(message);
+        this.eid = eid;
+    }
+
+
+}

+ 20 - 0
Java0715/src/main/java/com/sf/javase/day11/exception/MyExceptionTest.java

@@ -0,0 +1,20 @@
+package com.sf.javase.day11.exception;
+
+public class MyExceptionTest {
+
+    public void  regist(int age) throws MyException {
+        if(age<0){
+            throw new MyException("age<0",1);
+        }else System.out.println("====");
+    }
+
+
+    public void  regist1(int age) throws MyException {
+        try {
+         int c = age;
+        }catch (RuntimeException e){
+            throw new MyException("age<0",2);
+//            ArrayIndexOutOfBoundsException
+        }
+    }
+}

+ 93 - 0
Java0715/src/main/java/com/sf/javase/day12/T.java

@@ -0,0 +1,93 @@
+package com.sf.javase.day12;
+
+import com.sun.org.apache.xpath.internal.SourceTree;
+import org.junit.jupiter.api.Test;
+import org.omg.CORBA.PUBLIC_MEMBER;
+
+import java.net.SocketTimeoutException;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.format.DateTimeFormatter;
+import java.time.temporal.TemporalAccessor;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.TimeZone;
+
+/**
+ * Api
+ */
+public class T {
+    @Test
+    public void t1(){
+        Calendar calendar = Calendar.getInstance();
+        System.out.println(calendar);
+        System.out.println(calendar.get(Calendar.YEAR));
+        System.out.println(calendar.get(Calendar.MONTH));
+        System.out.println(calendar.get(Calendar.DATE));
+        System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
+        System.out.println(calendar.get(Calendar.WEEK_OF_MONTH));
+        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
+    }
+
+    @Test
+    public void t2(){
+        //获取一个时区
+        TimeZone timeZone = TimeZone.getTimeZone("GMT+8:00");
+        Calendar c = Calendar.getInstance(timeZone);
+        int year = c.get(Calendar.YEAR);
+        int month = c.get(Calendar.MONTH)+1;
+        int day = c.get(Calendar.DATE);
+        int hour = c.get(Calendar.HOUR_OF_DAY);
+        int minute = c.get(Calendar.MINUTE);
+        System.out.println(year + "-" + month + "-" + day + " " + hour + ":" + minute);
+    }
+
+
+    @Test
+    public void t3(){
+        Calendar calendar = Calendar.getInstance();
+        Date date = calendar.getTime();
+        long timeMillis = System.currentTimeMillis();
+        Date date1 = new Date(timeMillis);
+        calendar.setTime(date1);
+        calendar.set(Calendar.DAY_OF_MONTH, 8);
+        System.out.println("当前时间日设置为8后,时间是:" + calendar.getTime());
+        calendar.add(Calendar.HOUR, 2);
+        System.out.println("当前时间加2小时后,时间是:" + calendar.getTime());
+        calendar.add(Calendar.MONTH, -2);
+        System.out.println("当前日期减2个月后,时间是:" + calendar.getTime());
+    }
+
+    @Test
+    public void t4(){
+        LocalDate now = LocalDate.now();
+        System.out.println(now);
+        LocalTime now1 = LocalTime.now();
+        System.out.println(now1);
+        LocalDateTime now2 = LocalDateTime.now();
+        System.out.println(now2);
+        LocalDate of = LocalDate.of(2024, 07, 31);
+        System.out.println(of.getDayOfYear());
+        boolean after = of.isAfter(now);
+        System.out.println(after);
+        boolean before = of.isBefore(now);
+        System.out.println(before);
+    }
+
+    @Test
+    public void t5(){
+//        String property = System.getProperty("java.version");
+//        System.out.println(property);
+        //方式三:自定义的方式(关注、重点)
+        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
+        //格式化
+        String strDateTime = dateTimeFormatter.format(LocalDateTime.now());
+        System.out.println(strDateTime); //2022/12/04 21:05:42
+        //解析
+        TemporalAccessor accessor = dateTimeFormatter.parse("2022/12/04 21:05:42");
+        LocalDateTime localDateTime = LocalDateTime.from(accessor);
+        System.out.println(localDateTime); //2022-12-04T21:05:42
+    }
+}
+

部分文件因文件數量過多而無法顯示