JAVA-核心类库

  Java核心类库是指Java语言提供的一组基础类和接口,用于处理常见的任务和操作,包括字符串处理、集合操作、IO操作、多线程等。

目录

一. java.lang包:

二. java.util包:

三. java.io包:

四. java.nio包:

五. java.net包:

六. 多线程相关:

七. 反射机制:

总结


一. java.lang包:

   - Object类:所有类的父类,基本方法如equals()、hashCode()、toString()等。
   - String类:处理字符串的类,提供了字符串连接、格式化、替换等操作。
   - Math类:提供了常用的数学方法和常量。
   - System类:提供与系统相关的方法,如标准输入输出、环境变量等。

1. Object类:
   - Object类是Java中所有类的根类。它提供了一些常用方法,如`equals()`用于比较对象的相等性,`hashCode()`用于获取对象的哈希码值,`toString()`用于返回对象的字符串表示等。
   - 代码示例:

  public class MyClass {
         private int id;
         private String name;
     
         // 省略构造器和其他方法
     
         @Override
         public boolean equals(Object obj) {
             if (this == obj) // 比较引用是否相同
                 return true;
             if (obj == null || getClass() != obj.getClass()) // 比较类类型是否相同
                 return false;
             MyClass myClass = (MyClass) obj; // 强制类型转换
             return id == myClass.id && Objects.equals(name, myClass.name); // 比较属性值是否相同
         }
     
         @Override
         public int hashCode() {
             return Objects.hash(id, name); // 计算哈希码值
         }
     
         @Override
         public String toString() {
             return "MyClass{" +
                     "id=" + id +
                     ", name='" + name + '\'' +
                     '}';
         }
     }

2. String类:
   - String类表示字符串,提供了大量的方法用于字符串的操作和处理,如连接、截取、替换、格式化等。
   - 代码示例:

public class StringExample {
         public static void main(String[] args) {
             String s1 = "Hello";
             String s2 = "World";
     
             String s3 = s1 + ", " + s2; // 字符串拼接
             System.out.println(s3); // 输出:Hello, World
     
             String s4 = s3.substring(7); // 子字符串截取
             System.out.println(s4); // 输出:World
     
             String s5 = s3.replace("Hello", "Hi"); // 字符串替换
             System.out.println(s5); // 输出:Hi, World
     
             String s6 = String.format("The result is %.2f", 3.14159); // 格式化字符串
             System.out.println(s6); // 输出:The result is 3.14
         }
     }

3. Math类:
   - Math类提供了常用的数学相关方法和常量,如绝对值、幂运算、三角函数、常量π等。
   - 代码示例:

   public class MathExample {
         public static void main(String[] args) {
             double a = -3.5;
             double b = 2.7;
     
             double abs = Math.abs(a); // 绝对值
             System.out.println(abs); // 输出:3.5
     
             double pow = Math.pow(b, 2); // 平方
             System.out.println(pow); // 输出:7.29
     
             double sin = Math.sin(Math.PI / 2); // 正弦函数
             System.out.println(sin); // 输出:1.0
         }
     }

4. System类:
   - System类提供了与系统相关的一些静态方法和字段,如标准输入输出、环境变量、当前时间等。
   - 代码示例:

 public class SystemExample {
         public static void main(String[] args) {
             System.out.println("Hello, World!"); // 输出到标准输出
             System.err.println("An error occurred!"); // 输出到标准错误流
     
             long start = System.currentTimeMillis(); // 获取当前时间(毫秒)
             // 执行一段耗时操作
             long end = System.currentTimeMillis();
             System.out.println("Elapsed time: " + (end - start) + " ms"); // 输出耗时
     
             String value = System.getenv("JAVA_HOME"); // 获取环境变量
             System.out.println("JAVA_HOME: " + value);
         }
     }

5. Thread类和Runnable接口:
   - Thread类用于创建和管理线程,实现多线程编程。
   - Runnable接口定义了一个线程的任务,可以通过实现该接口来创建一个可执行的任务。
   - 代码示例:

 public class ThreadExample {
         public static void main(String[] args) {
             Thread thread = new Thread(new MyRunnable()); // 创建线程
             thread.start(); // 启动线程
     
             System.out.println("Main thread"); // 主线程执行
     
             // 匿名内部类实现Runnable接口
             Thread anonymousThread = new Thread(new Runnable() {
                 @Override
                 public void run() {
                     System.out.println("Anonymous thread");
                 }
             });
             anonymousThread.start();
         }
     }
     
     class MyRunnable implements Runnable {
         @Override
         public void run() {
             System.out.println("MyRunnable thread");
         }
     }

6. Enum枚举类:
   - Enum枚举类提供了一种定义有限个数常量值的类型。
   - Enum枚举类可以包含方法、构造函数和字段。
   - 代码示例:
 

public class EnumExample {
         public static void main(String[] args) {
             DayOfWeek day = DayOfWeek.MONDAY;
             System.out.println(day); // 输出:MONDAY
     
             switch (day) {
                 case MONDAY:
                     System.out.println("Today is Monday");
                     break;
                 case TUESDAY:
                 case WEDNESDAY:
                 case THURSDAY:
                 case FRIDAY:
                     System.out.println("Today is a weekday");
                     break;
                 case SATURDAY:
                 case SUNDAY:
                     System.out.println("Today is a weekend");
             }
         }
     }
     
     enum DayOfWeek {
         MONDAY,
         TUESDAY,
         WEDNESDAY,
         THURSDAY,
         FRIDAY,
         SATURDAY,
         SUNDAY
     }

二. java.util包:

   - 集合框架:包括List、Set、Map等接口和对应的实现类,提供了对集合数据的操作和管理。
   - Iterator和Enumeration接口:用于遍历集合元素。
   - Arrays类:提供了对数组的操作,如排序、搜索等。
   - Date和Calendar类:处理日期和时间相关操作。

1. 集合框架:
    - List接口和ArrayList类:用于存储有序的元素列表,支持随机访问和动态调整大小。
    - Set接口和HashSet类:用于存储无序的唯一元素集合。
    - Map接口和HashMap类:用于存储键值对的映射关系,其中键是唯一的。
    - Collections类:提供了一些静态方法,如sort()方法用于对集合进行排序,binarySearch()方法用于在有序集合中二分查找等。

2. 迭代器和枚举:
    - Iterator接口:用于遍历集合元素,提供了hasNext()、next()、remove()等方法。
    - Enumeration接口:在早期集合类中使用,提供了类似于Iterator的功能,但功能较为有限。

3. Arrays类:
    - Arrays类提供了对数组的操作方法,如排序、搜索和填充。
    - 代码示例: 

 import java.util.Arrays;
      
      public class ArraysExample {
          public static void main(String[] args) {
              int[] arr = {5, 2, 8, 1, 9};
              Arrays.sort(arr); // 对数组进行排序
              System.out.println(Arrays.toString(arr)); // 输出:[1, 2, 5, 8, 9]
      
              int index = Arrays.binarySearch(arr, 5); // 二分搜索
              System.out.println("Index of 5: " + index); // 输出:Index of 5: 2
      
              int[] copy = Arrays.copyOf(arr, 3); // 数组复制
              System.out.println(Arrays.toString(copy)); // 输出:[1, 2, 5]
      
              Arrays.fill(copy, 0); // 数组填充
              System.out.println(Arrays.toString(copy)); // 输出:[0, 0, 0]
          }
      }

4. Date和Calendar类:
    - Date类提供了处理日期和时间的功能,但在Java 8及以后被推荐使用新的日期时间API。
    - Calendar类是一个抽象类,提供了对日期和时间的操作。
    - 代码示例:

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值