Java.lang Packages Tutorial

Java.lang 包教程

Java - java.lang 包

Java.lang 包包含了 Java 编程语言设计的核心类。包装类,例如 Integer、Boolean、Char 等,都是 lang 包的一部分。我们不需要显式导入 java.lang 包中的任何类,因为它们默认包含在内。本教程兼参考将带您使用简单实用的示例了解 java.lang 包中所有可用方法。

导入 java.util 包

作为 Java 的内置包,我们不需要为 **java.lang** 包下载任何外部库,并且可以使用以下语法导入其所有类

import java.lang.*;

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

import java.lang.Thread;

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

为什么在 Java 程序中使用 java.lang 包

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

  • 包装类 - java.lang 包包含包装类,例如 Integer、Boolean、Float、Double 等,用于表示原始值。这些包装类提供了许多有用的方法,并且可以在需要对象而不是原始值的地方使用。

  • UI 组件 - 基于 java.lang.awt 和 java.lang.swing 的组件是 Java 的核心 UI 组件,并提供事件处理功能。

  • 数学运算 - Math 和 StrictMath 类包含丰富的数学运算方法。

  • 线程操作 - Thread、ThreadLocal、ThreadGroup 等是多线程程序的重要类。

java.lang 包中的重要类

以下是 java.lang 包中一些重要类的列表

  • Boolean - Boolean 类将基本类型 boolean 的值包装在一个对象中。Boolean 类型的对象包含一个类型为 boolean 的单个字段。

  • Byte - Byte 类将基本类型 byte 的值包装在一个对象中。Byte 类型的对象包含一个类型为 byte 的单个字段。

  • Character - Character 类提供了一些有用的类(即静态)方法来操作字符。

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

  • Character.UnicodeBlock - Character.UnicodeBlock 类是表示 Unicode 规范中字符块的字符子集族。字符块通常定义用于特定脚本或目的的字符。

  • Class - Class 类实例表示正在运行的 Java 应用程序中的类和接口。它没有公共构造函数。

  • ClassLoader - ClassLoader 类是负责加载类的对象。此类是抽象类。安全管理器可以使用它来指示安全域。

  • Compiler - Compiler 类用于支持 Java 到本地代码的编译器和相关服务。按照设计,它用作 JIT 编译器实现的占位符。

  • Double - Double 类将基本类型 double 的值包装在一个对象中。Double 类型的对象包含一个类型为 double 的单个字段。

  • Enum - Enum 类是所有 Java 语言枚举类型的公共基类。

  • Float - Float 类将基本类型 float 的值包装在一个对象中。Float 类型的对象包含一个类型为 float 的单个字段。

  • InheritableThreadLocal - InheritableThreadLocal 类扩展 ThreadLocal 以提供从父线程到子线程的值继承:创建子线程时,子线程会接收所有可继承线程局部变量的初始值,而父线程具有这些值。

  • Integer - Integer 类将基本类型 int 的值包装在一个对象中。Integer 类型的对象包含一个类型为 int 的单个字段。

  • Long - Long 类将基本类型 long 的值包装在一个对象中。Long 类型的对象包含一个类型为 long 的单个字段。

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

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

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

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

  • Process - Process 类提供用于从进程执行输入、向进程执行输出、等待进程完成、检查进程的退出状态以及销毁(杀死)进程的方法。

  • ProcessBuilder - ProcessBuilder 类用于创建操作系统进程。此类未同步。

  • Runtime - Runtime 类允许应用程序与应用程序正在运行的环境交互。

  • RuntimePermission - RuntimePermission 类用于运行时权限。RuntimePermission 包含一个名称(也称为“目标名称”),但没有操作列表;您要么拥有指定的权限,要么没有。

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

  • Short - Short 类将基本类型 short 的值包装在一个对象中。Short 类型的对象包含一个类型为 short 的单个字段。

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

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

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

  • StringBuffer - StringBuffer 类是可变的字符序列。StringBuffer 可用于轻松修改字符串的内容。它提供了许多实用程序函数来操作字符串。

  • StringBuilder - StringBuilder 类是可变的字符序列。这提供了与 StringBuffer 兼容的 API,但没有同步保证。

  • System - System 类包含几个有用的类字段和方法。它不能被实例化。

  • Thread - Thread 类是程序中的执行线程。Java 虚拟机允许应用程序具有多个并发运行的执行线程。

  • ThreadGroup - ThreadGroup 类表示一组线程。它还可以包含其他线程组。线程组形成一棵树,其中每个线程组(初始线程组除外)都有一个父线程组。

  • ThreadLocal - ThreadLocal 类提供线程局部变量。

  • Throwable - Throwable 类是 Java 语言中所有错误和异常的超类。只有此类的实例(或其子类之一)的对象才能由 Java 虚拟机抛出或由 Java throw 语句抛出。

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

java.lang 包的示例

练习以下示例以学习 java.lang 包类别的概念和用法。

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

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

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));

   }
}	

输出

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

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

何时使用 java.lang 包?

无论何时我们需要准备 UI、线程、使用包装类等,都可以依赖于 java.lang 包中提供的类。本参考为初学者准备,帮助他们理解 Java.lang 包中所有可用方法的基本功能。

先决条件

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

广告