Ver Fonte

fix: 统一c260727代码包路径——course包迁移至course.anonymousInternalClass,新增api及exercise包路径更新

WanJL há 17 horas atrás
pai
commit
493c19a228
23 ficheiros alterados com 387 adições e 52 exclusões
  1. 1 1
      授课代码/c260727/src/course/anonymousInternalClass/Compute.java
  2. 1 1
      授课代码/c260727/src/course/anonymousInternalClass/Demo01.java
  3. 1 1
      授课代码/c260727/src/course/anonymousInternalClass/NoteBook.java
  4. 1 1
      授课代码/c260727/src/course/anonymousInternalClass/Person.java
  5. 1 1
      授课代码/c260727/src/course/anonymousInternalClass/Sort.java
  6. 1 1
      授课代码/c260727/src/course/anonymousInternalClass/Student.java
  7. 1 1
      授课代码/c260727/src/course/anonymousInternalClass/Tableware.java
  8. 1 1
      授课代码/c260727/src/course/anonymousInternalClass/Test01.java
  9. 1 1
      授课代码/c260727/src/course/anonymousInternalClass/Test02.java
  10. 1 1
      授课代码/c260727/src/course/anonymousInternalClass/Test03.java
  11. 1 1
      授课代码/c260727/src/course/anonymousInternalClass/Usb.java
  12. 1 1
      授课代码/c260727/src/course/anonymousInternalClass/筷子.java
  13. 19 4
      授课代码/c260727/src/course/api/Demo01.java
  14. 51 4
      授课代码/c260727/src/course/api/StringTest.java
  15. 70 4
      授课代码/c260727/src/course/api/StringTest02.java
  16. 39 5
      授课代码/c260727/src/exercise/exercise01/ComputerStudent.java
  17. 54 4
      授课代码/c260727/src/exercise/exercise01/Student.java
  18. 49 4
      授课代码/c260727/src/exercise/exercise01/Test.java
  19. 36 4
      授课代码/c260727/src/exercise/exercise06/EatTest.java
  20. 1 1
      授课代码/c260727/src/exercise/exercise06/Person.java
  21. 1 1
      授课代码/c260727/src/exercise/exercise06/Tableware.java
  22. 16 4
      授课代码/c260727/src/exercise/exercise07/TestAnonymous.java
  23. 39 5
      授课代码/c260727/src/exercise/exercise07/TestCalculator.java

+ 1 - 1
授课代码/c260727/src/course/anonymousInternalClass/Compute.java

@@ -1,4 +1,4 @@
-package course;
+package course.anonymousInternalClass;
 
 /**
  * @author WanJl

+ 1 - 1
授课代码/c260727/src/course/anonymousInternalClass/Demo01.java

@@ -1,4 +1,4 @@
-package course;
+package course.anonymousInternalClass;
 
 /**
  * @author WanJl

+ 1 - 1
授课代码/c260727/src/course/anonymousInternalClass/NoteBook.java

@@ -1,4 +1,4 @@
-package course;
+package course.anonymousInternalClass;
 
 /**
  * @author WanJl

+ 1 - 1
授课代码/c260727/src/course/anonymousInternalClass/Person.java

@@ -1,4 +1,4 @@
-package course;
+package course.anonymousInternalClass;
 
 /**
  * @author WanJl

+ 1 - 1
授课代码/c260727/src/course/anonymousInternalClass/Sort.java

@@ -1,4 +1,4 @@
-package course;
+package course.anonymousInternalClass;
 
 /**
  * @author WanJl

+ 1 - 1
授课代码/c260727/src/course/anonymousInternalClass/Student.java

@@ -1,4 +1,4 @@
-package course;
+package course.anonymousInternalClass;
 
 /**
  * @author WanJl

+ 1 - 1
授课代码/c260727/src/course/anonymousInternalClass/Tableware.java

@@ -1,4 +1,4 @@
-package course;
+package course.anonymousInternalClass;
 
 /**
  * @author WanJl

+ 1 - 1
授课代码/c260727/src/course/anonymousInternalClass/Test01.java

@@ -1,4 +1,4 @@
-package course;
+package course.anonymousInternalClass;
 
 /**
  * @author WanJl

+ 1 - 1
授课代码/c260727/src/course/anonymousInternalClass/Test02.java

@@ -1,4 +1,4 @@
-package course;
+package course.anonymousInternalClass;
 
 /**
  * @author WanJl

+ 1 - 1
授课代码/c260727/src/course/anonymousInternalClass/Test03.java

@@ -1,4 +1,4 @@
-package course;
+package course.anonymousInternalClass;
 
 /**
  * @author WanJl

+ 1 - 1
授课代码/c260727/src/course/anonymousInternalClass/Usb.java

@@ -1,4 +1,4 @@
-package course;
+package course.anonymousInternalClass;
 
 /**
  * @author WanJl

+ 1 - 1
授课代码/c260727/src/course/anonymousInternalClass/筷子.java

@@ -1,4 +1,4 @@
-package course;
+package course.anonymousInternalClass;
 
 /**
  * @author WanJl

+ 19 - 4
授课代码/c260727/src/course/api/Demo01.java

@@ -1,11 +1,26 @@
 package course.api;
 
 /**
+ * @author WanJl
+ * @version 1.0
  * @title Demo01
- * @description 
- * @author WanJl 
- * @version 1.0 
- * @create 2026/7/27 
+ * @description javaAPI
+ * @create 2026/7/27
  */
 public class Demo01 {
+    /*
+        API (Application Programming Interface) 应用程序编程接口
+        Java中的API
+            值得就是JDK提高的各种功能的Java类,这些类把底层的实现封装了起来。
+            我们不需要关系这些类是怎么实现的,只需要学习怎么去使用这些类就可以。
+            我们可以通过Java帮助文档来学习怎么使用这些API
+
+        包括我们之前使用的Scanner 键盘输入类  和Random 随机数类 都属于Java的API
+
+        我们首先要讲的第1个API 类
+            1、 String 字符串类
+
+
+
+     */
 }

+ 51 - 4
授课代码/c260727/src/course/api/StringTest.java

@@ -1,11 +1,58 @@
 package course.api;
 
 /**
+ * @author WanJl
+ * @version 1.0
  * @title StringTest
- * @description 
- * @author WanJl 
- * @version 1.0 
- * @create 2026/7/27 
+ * @description java API-String 字符串
+ * @create 2026/7/27
  */
 public class StringTest {
+    public static void main(String[] args) {
+        //定义字符串变量
+        String s1="Hello";
+        String s2="Hello";
+        System.out.println(s1==s2); //?
+        //我们说过。String类型并不属于基本数据类型
+        //而是Java类 引用数据类型
+        //还说过 引用数据类型要像使用,需要创建对象
+        // 类型 对象名 = new 类型();
+        // 但是字符串String为什么不需要?
+        // 这个就是因为Java为字符串做的特殊的定义,字符串的变量存储的地方有两个:
+        //  |- 和其他的引用数据类型一样,通过构造方法创建对象,引用变量存在栈中,对象空间存在堆中。虽然内容相同,但地址值不同
+        //  |- 是直接把字符串变量存在常量池中。只要字符序列相同(顺序和大小写)那么无论程序代码中出现几次,JVM(Java虚拟机)都只建立一个String对象,并在字符串常量池中进行维护。
+        //String s1="Hello";    就是把字符串的值存在了常量池
+
+        String s4=new String("Hello");
+        String s5=new String("Hello");
+        System.out.println(s1==s4);
+        System.out.println(s4==s5);
+
+        /*
+            String 常见的构造方法:
+                public String();    创建一个空白字符串对象,不含有任何内容
+                public String(char[] chs);  根据字符数组的内容,创建一个字符串对象
+                public String(String original); 根据传入的字符串内容,创建一个字符串对象
+                String s="abc"; 直接以赋值的方式创建字符串对象,值就是abc
+
+            注意:
+                String这个类比较特殊,打印它的对象名的时候,不会出现内存地址,
+                而是该对象所记录的字符串内容
+                后面会说怎么实现的...Object
+
+            == 比较的是什么?
+            基本数据类型 使用 == 比较的时候具体的值
+            引用数据类型 使用 == 比较的是对象的内存地址
+            String类型也是比较地址,只不过,使用直接赋值的方式的字符串对象,只要字符序列(顺序和大小写)相同,就都是同一个对象。
+
+            为了能够直接比较字符串的内容,String提供了一个方法equals()方法
+            比较两个字符串的内容是否相同,区分大小写
+
+            String s4=new String("Hello");
+            String s5=new String("Hello");
+            boolean b=s4.equals(s5);    //返回一个boolean值
+         */
+        System.out.println(s4.equals(s5));
+
+    }
 }

+ 70 - 4
授课代码/c260727/src/course/api/StringTest02.java

@@ -1,11 +1,77 @@
 package course.api;
 
+import java.util.Arrays;
+
 /**
+ * @author WanJl
+ * @version 1.0
  * @title StringTest02
- * @description 
- * @author WanJl 
- * @version 1.0 
- * @create 2026/7/27 
+ * @description
+ * @create 2026/7/27
  */
 public class StringTest02 {
+    public static void main(String[] args) {
+        String str1 = "  hello world  ";
+        String str2 = "  Hello World  ";
+        //比较字符串是否相同,比较的是内容,区分大小写。
+        boolean b = str1.equals(str2);
+        System.out.println(b);
+        //比较字符串是否相同,比较的是内容,不区分大小写
+        boolean b1 = str1.equalsIgnoreCase(str2);
+        System.out.println(b1);
+        ////返回字符串的长度
+        int length = str1.length();
+        System.out.println(length);
+        //获取指定字符,返回索引值为2的那个字符。
+        char c = str1.charAt(2);
+        System.out.println(c);
+        //截取字符串[0,5]    包含 0 索引,不包含5索引
+        String subStr = str1.substring(0, 5);
+        System.out.println(subStr);
+        //查找子字符串位置,没有找到返回-1,返回这个子字符串在str1字符中第一次出现的位置
+        int i = str1.indexOf("lo");
+        System.out.println(i);
+        // 判断str1字符串中是否包含 world 字符串
+        boolean b2 = str1.contains("world");
+        System.out.println(b2);
+        //判断str1字符串是否以he开头
+        str1.startsWith("he");
+        //判断str1字符串是否以he结尾
+        str1.endsWith("he");
+        //字符串转大写
+        String upperCase = str1.toUpperCase();
+        System.out.println(upperCase);
+        //字符串转小写
+        String lowerCase = str1.toLowerCase();
+        System.out.println(lowerCase);
+
+        //去掉首尾空格
+        String trim = str1.trim();
+        System.out.println(trim);
+
+        //去除全角/半角空格 JDK11+才有
+        String strip = str1.strip();
+        System.out.println(strip);
+        //把旧的字符串(第1个参数)替换为新的字符串(第2个参数)
+        String replace = str1.replace("world", "java");
+        System.out.println(replace);
+        //按照 字符 , 把字符串分割成字符串数组
+        String s3="王艳阳,赵援翔,王嘉宇,王德昱,刘铭达,吴限,陈健,白立伟,田烁楠,王贺,赵颜,马莺莺,那洪舰,谷娜颖,孙宁,李时光,李昌龙,符荣里,吴壮,司一祺,徐振国";
+        String[] split = s3.split(",");
+        System.out.println(Arrays.toString(split));
+
+
+        //判断字符串是否为空(长度为0)
+        boolean empty = str1.isEmpty();
+        System.out.println(empty);
+        // 判断字符串是否为空或空白字符--JDK11+
+        boolean blank = str1.isBlank();
+        System.out.println(blank);
+
+        //使用指定的字符,讲后面的每个字符串进行拼接
+        String join = String.join("-", "A", "B", "C", "张三", "李四");
+        System.out.println(join);
+
+
+    }
 }

+ 39 - 5
授课代码/c260727/src/exercise/exercise01/ComputerStudent.java

@@ -1,11 +1,45 @@
 package exercise.exercise01;
 
 /**
+ * @author WanJl
+ * @version 1.0
  * @title ComputerStudent
- * @description 
- * @author WanJl 
- * @version 1.0 
- * @create 2026/7/27 
+ * @description
+ * @create 2026/7/27
  */
-public class ComputerStudent {
+public class ComputerStudent extends Student{
+    private double javaScore;
+    private double mySQLScore;
+
+    public ComputerStudent(Integer id, String name, Integer age, String gender, double javaScore, double mySQLScore) {
+        super(id, name, age, gender);
+        this.javaScore = javaScore;
+        this.mySQLScore = mySQLScore;
+    }
+
+    @Override
+    public void study() {
+        System.out.println("计算机专业学生"+this.getName()+"在学计算机");
+    }
+
+    @Override
+    public void lesson() {
+        System.out.println("计算机专业学生"+this.getName()+"在上 Java 基础课");
+    }
+
+    public double getJavaScore() {
+        return javaScore;
+    }
+
+    public void setJavaScore(double javaScore) {
+        this.javaScore = javaScore;
+    }
+
+    public double getMySQLScore() {
+        return mySQLScore;
+    }
+
+    public void setMySQLScore(double mySQLScore) {
+        this.mySQLScore = mySQLScore;
+    }
 }

+ 54 - 4
授课代码/c260727/src/exercise/exercise01/Student.java

@@ -1,11 +1,61 @@
 package exercise.exercise01;
 
 /**
+ * @author WanJl
+ * @version 1.0
  * @title Student
- * @description 
- * @author WanJl 
- * @version 1.0 
- * @create 2026/7/27 
+ * @description
+ * @create 2026/7/27
  */
 public class Student {
+    private Integer id;
+    private String name;
+    private Integer age;
+    private String gender;
+
+    public Student(Integer id, String name, Integer age, String gender) {
+        this.id = id;
+        this.name = name;
+        this.age = age;
+        this.gender = gender;
+    }
+
+    public void study(){
+        System.out.println(name+"在学习");
+    }
+    public void lesson(){
+        System.out.println(name+"在上课");
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Integer getAge() {
+        return age;
+    }
+
+    public void setAge(Integer age) {
+        this.age = age;
+    }
+
+    public String getGender() {
+        return gender;
+    }
+
+    public void setGender(String gender) {
+        this.gender = gender;
+    }
 }

+ 49 - 4
授课代码/c260727/src/exercise/exercise01/Test.java

@@ -1,11 +1,56 @@
 package exercise.exercise01;
 
 /**
+ * @author WanJl
+ * @version 1.0
  * @title Test
- * @description 
- * @author WanJl 
- * @version 1.0 
- * @create 2026/7/27 
+ * @description
+ * @create 2026/7/27
  */
 public class Test {
+    public static void main(String[] args) {
+        new Student(1001, "张三", 25, "男") {
+            String s="哈哈哈哈";
+            @Override
+            public void study() {
+                System.out.println("临时学员"+getName()+"在学习");
+            }
+
+            @Override
+            public void lesson() {
+                System.out.println("临时学员"+getName()+"在上课");
+            }
+            public void myDay(){
+                study();
+                lesson();
+                System.out.println(s);
+            }
+        }.myDay();
+
+
+
+        Student s=new Student(1001, "张三", 25, "男"){
+            @Override
+            public void study() {
+                super.study();
+            }
+
+            @Override
+            public void lesson() {
+                super.lesson();
+            }
+        };
+
+        new Test().studentDay(s);
+
+
+    }
+
+    public void studentDay(Student s){
+        s.study();
+        s.lesson();
+    }
+
+
+
 }

+ 36 - 4
授课代码/c260727/src/exercise/exercise06/EatTest.java

@@ -1,11 +1,43 @@
 package exercise.exercise06;
 
 /**
+ * @author WanJl
+ * @version 1.0
  * @title EatTest
- * @description 
- * @author WanJl 
- * @version 1.0 
- * @create 2026/7/27 
+ * @description
+ * @create 2026/7/27
  */
 public class EatTest {
+    public static void main(String[] args) {
+        Person person = new Person();
+
+        // 方式一:先创建匿名内部类对象,再传入方法
+        // 请补充代码:创建 Tableware 的匿名内部类(一次性筷子)
+        Tableware tableware = new Tableware(){
+            @Override
+            public void openTableware() {
+                System.out.println("打开一次性筷子");
+            }
+            @Override
+            public void useTableware() {
+                System.out.println("使用一次性筷子");
+            }
+        };  // 补全
+        person.eat(tableware);
+
+        System.out.println();
+
+        // 方式二(推荐):直接在方法参数中创建匿名内部类(一次性勺子)
+        // 这种写法更紧凑,开发中最常用!
+        person.eat(new Tableware(){
+            @Override
+            public void openTableware() {
+                System.out.println("打开一次性勺子");
+            }
+            @Override
+            public void useTableware() {
+                System.out.println("使用一次性勺子");
+            }
+        });
+    }
 }

+ 1 - 1
授课代码/c260727/src/exercise/exercise06/Person.java

@@ -1,4 +1,4 @@
-package course;
+package exercise.exercise06;
 
 /**
  * @author WanJl

+ 1 - 1
授课代码/c260727/src/exercise/exercise06/Tableware.java

@@ -1,4 +1,4 @@
-package course;
+package exercise.exercise06;
 
 /**
  * @author WanJl

+ 16 - 4
授课代码/c260727/src/exercise/exercise07/TestAnonymous.java

@@ -1,11 +1,23 @@
 package exercise.exercise07;
 
 /**
+ * @author WanJl
+ * @version 1.0
  * @title TestAnonymous
- * @description 
- * @author WanJl 
- * @version 1.0 
- * @create 2026/7/27 
+ * @description
+ * @create 2026/7/27
  */
+abstract class Animal {
+    public abstract void makeSound();
+}
 public class TestAnonymous {
+    public static void main(String[] args) {
+        new Animal(){
+
+            @Override
+            public void makeSound() {
+                System.out.println("喵喵喵");
+            }
+        }.makeSound();
+    }
 }

+ 39 - 5
授课代码/c260727/src/exercise/exercise07/TestCalculator.java

@@ -1,11 +1,45 @@
 package exercise.exercise07;
 
 /**
+ * @author WanJl
+ * @version 1.0
  * @title TestCalculator
- * @description 
- * @author WanJl 
- * @version 1.0 
- * @create 2026/7/27 
+ * @description
+ * @create 2026/7/27
  */
-public class TestCalculator {
+interface Calculator {
+    int calculate(int a, int b);
 }
+
+public class TestCalculator {
+    public static void main(String[] args) {
+        // 请使用匿名内部类分别实现加、减、乘,并打印结果
+        new Calculator(){
+            @Override
+            public int calculate(int a, int b) {
+                return a+b;
+            }
+        }.calculate(15,7);
+
+        new Calculator(){
+            @Override
+            public int calculate(int a, int b) {
+                return a-b;
+            }
+        }.calculate(15,7);
+
+        new Calculator(){
+            @Override
+            public int calculate(int a, int b) {
+                return a*b;
+            }
+        }.calculate(15,7);
+
+        new Calculator(){
+            @Override
+            public int calculate(int a, int b) {
+                return a/b;
+            }
+        }.calculate(15,7);
+    }
+}