API之包装类、System类

包装类

java中提倡一切皆对象思想,但基本数据类型不能称为对象,因此java为每种基本数据分别设计了对应类,称之为包装类。

  • 基本数据类型的包装类

byte short int long double float char boolean

对应

Byte Short Integer Long Double Float Character Boolean

每个包装类的属性、构造、方法等具体见JDK帮助文档

装箱和拆箱

基本数据类型转换为包装类的过程称为装箱,eg:把int包装成Integer类的对象;int m = 500; Integer obj = m; // 自动装箱

包装类转换为基本数据类型的过程称为拆箱,eg:把Integer类的对象重新简化为int;int n = obj; // 自动拆箱

手动实例化一个包装类称为手动拆箱装箱。在java1.5版本前,必须手动拆箱装箱,之后可以自动拆箱装箱;

包装类的应用

  1. 实现int和Integer的相互转换

    可以通过Integer类的构造方法将int装箱,通过Integer类的intValue方法将Integer拆箱。

    public class Demo { public static void main(String[] args) { 
       int m = 500;
       Integer obj = new Integer(m); // 手动装箱
       int n = obj.intValue(); // 手动拆箱
       System.out.println("n = " + n); //n = 500
       Integer obj1 = new Integer(500);
       System.out.println("obj等价于obj1的返回结果为" + obj.equals(obj1));//true
    }
    }
  2. 将字符串转换为数值类型

    两种方法:1、 Integer 类(String 转 int 型)int parseInt(String s);

    2、 Float 类(String 转 float 型)float parseFloat(String s) ;

    字符串中的数据必须由数字组成,否则转换时会出现程序错误;

  3. 将整数转换为字符串

    Integer类中有一个静态的toString()方法,可以将整数转换为字符串;int m = 500; String s = Integer.toString(m);

Integer类详解

  1. Integer类的构造方法

    Integer类的构造方法有两个:

    Integer(int value):构造一个分配的Integer对象,表示指定的int值;

    Integer(String s):构造一个分配的Integer对象,表示String参数指示的int值;

  2. Integer类的常用方法

  3. Integer类的常量

    Integer类包含4个常量

    • MAX_VALUE:值为2^31-1,表示int类型能够表示的最大值;

    • MIN_VALUE:值为-2^31,表示int类型能够表示的最小值;

    • SIZE:用来以二进制补码形式表示int值的比特位数;

    • TYPE:表示基本类型int的class实例;

Number类

Number类是一个抽象类。Number属于java.lang包,所有包装类(Double、Float、Byte、Short、Integer以及Long)都是抽象类Number的子类。

抽象类不能直接实例化,而是实例化其具体的子类;

System类

System类位于java.lang包,代表当前java程序的运行平台,系统级的很多属性和控制方法都放置在该类的内部。由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类。

System类提供了一些类变量和类方法,允许直接通过System类来调用。

System类的成员变量

System类有3个静态成员变量,分别是PrintStream out、InputStream in和PrintStream err。

  1. PrintStream out

    标准输出流。此流已打开并准备接收输出数据。通常,此流对应于显示器输出;

    System.out.println(data);println方法是属于流类PrintStream的方法,而不是System的方法

  2. InputStream in

    标准输入流。此流已打开并准备提供输入数据。通常此流对应于键盘输入;

  3. PrintStream err

    标准的错误输出流。语法与System.out类似,不需要提供参数就可胡输出错误信息。也可用来输出用户指定的其他信息,包括变量的值。

System类的成员方法

  1. arrycopy()方法

    该方法的作用是数组复制,从指定的位置开始,到目标数组的指定位置结束

    public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
    //src表示原数组,srcPos表示从原数组的起始位置;length表示复制的元素个数
    //dest表示目标数组,destPos表示目标数组的起始位置;
    //目标数组的原元素会被覆盖
  2. currenTimeMillis()方法

    返回当前计算机时间,格式为当前计算机与GMT时间(格林尼治时间)1970-1-1-0-0-0所差的毫秒数。一般用它来测试程序的执行时间。

  3. exit()方法

    终止当前正在运行的Java虚拟机;System.exit();0表示正常退出,非0表示异常退出

  4. gc()方法

    请求系统进行垃圾回收,完成内存中的垃圾清除。至于系统是否立刻回收,取决于系统中垃圾回收算法的实现以及系统执行时的情况。

  5. getProperty()方法

    获得系统中属性名为key的属性对应的值

    eg:输出java的安装环境System.out.println(System.getProperty("java.version"));

属性名属性说明
java.version Java 运行时环境版本
java.home Java 安装目录
os.name 操作系统的名称
os.version 操作系统的版本
user.name 用户的账户名称
user.home 用户的主目录
user.dir 用户的当前工作目录
posted @   许多多被注册了  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示