Java 简明教程

Java.lang package tutorial

Java - java.lang Package

Java.lang 包涵盖了 Java 编程语言设计的核心类。Integer、Boolean、Char 等包装类是 lang 包的一部分。我们不必明确导入 java.lang 包中的任何类,因为它们默认包含在内。此教程兼参考将通过简单实用的示例带你了解 java.lang 包中可用的所有方法。

Importing java.util Package

作为 Java 的内置包,我们不需要下载任何外部库,该包及其所有类可以使用以下语法导入:

import java.lang.*;

在这里,我们使用了 * 操作符从 java.lang 包中导入所有类,现在程序中可以使用任何类。对于特定类,例如 Thread,我们可以使用以下语法导入类:

import java.lang.Thread;

作为 java 的默认包,不需要导入 java.lang 包,并且无需使用 import 语句就可以访问 lang 级别上的所有类。

Why java.lang Package is used in Java Programs

Java.lang 包中的类包含基本类,例如包装类、线程操作类、字符串操作类、数学操作类等。以下列表显示了 java.util 包中类的一些类别。

  1. Wrapper Classes − java.lang 包包含用于原始值的包装类,例如 Integer、Boolean、Float、Double 等。这些包装类提供许多有用的方法,可用作不得使用原始值的对象。

  2. UI Components − java.lang.awt 和 java.lang.swing 基础组件是 Java 的核心 UI 组件,并提供事件处理。

  3. Mathematical operations − Math 和 StrictMath 类的数学运算丰富。

  4. Thread operations − Thread、ThreadLocal、ThreadGroup 等是多线程程序中的重要类。

Important classes in java.lang Package

以下是 java.lang.package 中重要类的列表:

  1. Boolean − Boolean 类将原始类型布尔值包装在对象中。类型为 Boolean 的对象包含单个字段类型为布尔值。

  2. Byte − Byte 类类将原始类型字节值包装在对象中。类型为 Byte 的对象包含单个字段类型为字节。

  3. Character − Character 类为操作字符提供了许多有用的类(即静态)方法。

  4. Character.Subset − Character.Subset 类实例表示 Unicode 字符集的特定子集。Character 类中定义的唯一子集族是 UnicodeBlock。

  5. Character.UnicodeBlock − Character.UnicodeBlock 类是一个字符子集族,表示 Unicode 规范中的字符块。字符块通常定义用于特定脚本或用途的字符。

  6. Class − Class 类实例表示正在运行的 Java 应用程序中的类和接口。它没有公共构造函数。安全管理器可以使用该接口指示安全域。

  7. ClassLoader − ClassLoader 类是一个负责加载类的对象。此类是一个抽象类。安全管理器可以使用它来指示安全域。

  8. Compiler − Compiler 类用于支持 Java 到本机代码编译器和相关服务。从设计上来说,它用作 JIT 编译器实现的占位符。

  9. Double − Double 类将原始类型 double 值包装在对象中。类型为 Double 的对象包含单个字段类型为 double。

  10. Enum − Enum 类是所有 Java 语言枚举类型的公共基类。

  11. Float − Float 类将原始类型 float 值包装在对象中。类型为 Float 的对象包含单个字段类型为 float。

  12. InheritableThreadLocal − InheritableThreadLocal 类扩展 ThreadLocal 以提供从父线程到子线程的值继承:创建子线程时,该子线程接收父线程所有可继承线程局部变量的初始值。

  13. Integer − Integer 类将原始类型 int 值包装在对象中。类型为 Integer 的对象包含单个字段类型为 int。

  14. Long - Long 类在一个对象中包装一个基本类型 long 的值。类型为 Long 的对象包含一个字段,其类型为 long。

  15. Math - Math 类包含用于执行基本数值运算的方法,例如基本指数、对数、平方根和三角函数。

  16. Number - Number 类是 java.lang 包中的一个抽象类。它是表示可以转换为基本数据类型(例如 byte、short、int、long、float 和 double)的数值的类的超类。

  17. Object - Object 类是类层次结构的根。每个类都将 Object 作为超类。包括数组在内的所有对象都实现了该类的方法。

  18. Package - Package 类包含有关 Java 包的实现和规范的版本信息。

  19. Process - Process 类提供从进程中执行输入、对进程执行输出、等待进程完成、检查进程的退出状态和销毁(杀死)进程的方法。

  20. ProcessBuilder - ProcessBuilder 类用于创建操作系统进程。此类不同步。

  21. Runtime - Runtime 类允许应用程序与运行应用程序的环境交互。

  22. RuntimePermission - RuntimePermission 类用于运行时权限。RuntimePermission 包含一个名称(也称为“目标名称”),但不包含操作列表;您要么具有命名权限,要么不具有该权限。

  23. SecurityManager - SecurityManager 类允许应用程序实现安全策略。它允许应用程序在执行可能不安全或敏感的操作之前确定该操作是什么以及是否正在尝试在允许执行此操作的安全上下文中执行该操作。应用程序可以允许或不允许此操作。

  24. Short - Short 类在一个对象中包装一个基本类型 short 的值。类型为 Short 的对象包含一个字段,其类型为 short。

  25. StackTraceElement - StackTraceElement 类元素表示单个堆栈帧。除了堆栈顶部的堆栈帧之外,所有的堆栈帧都表示方法调用。

  26. StrictMath - StrictStrictMath 类包含用于执行基本数值运算的方法,例如基本指数、对数、平方根和三角函数。

  27. String - 在 Java 编程中被广泛使用的字符串是字符序列。在 Java 编程语言中,字符串被视为对象。Java 平台提供 String 类来创建和操作字符串。

  28. StringBuffer - StringBuffer 类是可变的字符序列。StringBuffer 可用于轻松修改 String 的内容。它提供了许多实用功能来操作字符串。

  29. StringBuilder - StringBuilder 类是可变的字符序列。它提供了与 StringBuffer 兼容的 API,但不能保证同步。

  30. System - System 类包含多个有用的类字段和方法。它无法实例化。

  31. Thread - Thread 类是程序中的执行线程。Java 虚拟机允许应用程序同时运行多个执行线程。

  32. ThreadGroup - ThreadGroup 类表示一组线程。它还可以包括其他线程组。线程组形成一个树形结构,其中除初始线程组外的每个线程组都有一个父级。

  33. ThreadLocal − ThreadLocal 类提供线程局部变量。

  34. Throwable − Throwable 类是 Java 语言中所有错误和异常的超类。只有该类(或其子类)的实例才会被 Java 虚拟机抛出或被 Java throw 语句抛出。

  35. Void − Void 类是不可实例化的占位符类,用于保存对表示 Java 关键字 void 的 Class 对象的引用。

Examples of java.lang Package

实践以下示例以了解 java.lang 包类概念和用法。

Example of java.lang.Integer

以下程序阐述了 Integer 中支持的 valueOf() 方法的使用 −

package com.tutorialspoint;

public class IntegerDemo {

   public static void main(String[] args) {

      // create a String s and assign value to it
      String s = "+120";

      // create a Integer object i
      Integer i;

      // get the value of int from string
      i = Integer.valueOf(s);

      // print the value
      System.out.println( "Integer value of string " + s + " is " + i );
   }
}

让我们编译并运行上述程序,这将生成以下结果 −

Integer value of string +120 is 120

Example of java.lang.Thread

以下程序阐述了 Thread 中支持的方法的使用 −

package com.tutorialspoint;

public class ThreadDemo implements Runnable {

   ThreadDemo() {
      // main thread
      Thread currThread = Thread.currentThread();

      // thread created
      Thread t = new Thread(this, "Admin Thread");

      System.out.println("current thread = " + currThread);
      System.out.println("thread created = " + t);

      // this will call run() function
      t.start();
   }

   public void run() {
      System.out.println("This is run() method");
   }

   public static void main(String args[]) {
      new ThreadDemo();
   }
}

让我们编译并运行上述程序,这将生成以下结果 −

current thread = Thread[main,5,main]
thread created = Thread[Admin Thread,5,main]
This is run() method

Example of java.lang.Math

以下程序阐述了 Math 中支持的方法的使用 −

package com.tutorialspoint;

public class MathDemo {

   public static void main(String[] args) {

      // get two double numbers
      double x = 60984.1;
      double y = -497.99;

      // get the natural logarithm for x
      System.out.println("Math.log(" + x + ")=" + Math.log(x));

      // get the natural logarithm for y
      System.out.println("Math.log(" + y + ")=" + Math.log(y));

      // get the max value
      System.out.println("Math.max(" + x + ", y" + ")=" + Math.max(x,y));

      // get the min value
      System.out.println("Math.min(" + x + ", y" + ")=" + Math.min(x,y));

   }
}

Output

让我们编译并运行上述程序,这将生成以下结果 −

Math.log(60984.1)=11.018368453441132
Math.log(-497.99)=NaN
Math.max(60984.1, y)=60984.1
Math.min(60984.1, y)=-497.99

When java.lang Package is Used?

无论何时我们需要准备 UI、进行处理、使用包装类等,我们都可以依赖于 java.lang 包中现有的类。本参考专为初学者编写,旨在帮助他们理解与 Java.lang 包中的所有可用方法相关基本功能。

Prerequisites

在开始使用此参考中给出的各种类型的示例进行练习之前,我假设您已经了解基本的 Java 编程。