JavaSE-常用API

2019-12-07  本文已影响0人  雷哒哒
JavaSE-API

目录

[TOC]

第一章:API概述

什么是API?

​ API,应用程序编程接口。Java API是一本程序员的 字典 ,是JDK中提供给

我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学

习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。

API使用步骤

  1. 打开帮助文档。
  2. 点击显示,找到索引,看到输入框。
  3. 你要找谁?在输入框里输入,然后回车。
  4. 看包。java.lang下的类不需要导包,其他需要。
  5. 看类的解释和说明。
  6. 学习构造方法。
  7. 使用成员方法

第二章:Scanner类

Scanner类介绍

一个可以解析基本类型和字符串的简单文本扫描器

使用步骤

第三章:Random类

Random类介绍

此类的实例用于生成伪随机数流。

Random类使用步骤

第四章:ArrayList类

ArrayList介绍

java.util.ArrayList 是大小可变的数组的实现,存储在内的数据称为元素。此类提供一些方法来操作内部存储

的元素。 ArrayList 中可不断添加元素,其大小也自动增长。

ArrayList的使用步骤

第五章:String类

概述

java.lang.String类代表字符串。

Java程序中所有的字符串文字(例如 "abc" )都可以被看作是实现此类的实例。

类 String 中包括用于检查各个字符串的方法,比如用于比较字符串,搜索字符串,提取子字符串以及创建具有翻 译为大写或小写的所有字符的字符串的副本。

特点

  1. 字符串不变:字符串的值在创建后不能被更改。

    String s1 = "abc";
    s1 += "d";
    System.out.println(s1); // "abcd"
    // 内存中有"abc","abcd"两个对象,s1从指向"abc",改变指向,指向了"abcd"。
    
  2. 因为String对象是不可变的,所以它们可以被共享。

    String s1 = "abc";
    String s2 = "abc";
    // 内存中只有一个"abc"对象被创建,同时被s1和s2共享。
    
  3. "abc" 等效于 char[] data={ 'a' , 'b' , 'c' } 。

例如:
String str = "abc";
相当于:
char data[] = {'a', 'b', 'c'};
String str = new String(data);
// String底层是靠字符数组实现的。

导包和构造方法

判断功能的方法

获取功能的方法

转换功能的方法

分割功能方法

第六章:Arrays类

概述

java.util.Arrays 此类包含用来操作数组的各种方法,比如排序和搜索等。其所有方法均为静态方法,调用起来 非常简单。

常用方法

第七章:Math类

概述

​ java.lang.Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。类似这样的工具 类,其所有方法均为静态方法,并且不会创建对象,调用起来非常简单。

方法

第八章:Object类

概述

java.lang.Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。

如果一个类没有特别指定父类, 那么默认则继承自Object类

根据JDK源代码及Object类的API文档,Object类当中包含的方法有11个。今天我们主要学习其中的2个:

toString方法

equals方法

Objects类

在刚才IDEA自动重写equals代码中,使用到了java.util.Objects类,那么这个类是什么呢?

JDK7添加了一个Objects工具类,它提供了一些方法来操作对象,它由一些静态的实用方法组成,这些方法是null-save(空指针安全的)或null-tolerant(容忍空指针的),用于计算对象的hashcode、返回对象的字符串表示形式、比较两个对象。

在比较两个对象的时候,Object的equals方法容易抛出空指针异常,而Objects类中的equals方法就优化了这个问题。方法如下:

我们可以查看一下源码,学习一下:

public static boolean equals(Object a, Object b) {  
    return (a == b) || (a != null && a.equals(b));  
}

第九章:Date类

Date基本使用

java.util.Date类 表示特定的瞬间,精确到毫秒。

继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,但是其中有未过时的构造函数可以把毫秒值转成日期对象。

代码:

  public static void main(String[] args) {
    // 创建当前日期对象
    Date date = new Date();
    System.out.println(date);  // Sat Dec 07 17:29:13 CST 2019
    // 根据时间戳创建指定日期对象
    Date date2 = new Date(0);
    System.out.println(date2);  // Thu Jan 01 08:00:00 CST 1970
    // 返回当前日期的时间戳
    System.out.println(date.getTime());  // 1575710983951

  }

DateFormat日期格式类

Calendar类

第十章:System类

概述

java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在System类的API文档中,常用的方法有:

代码

  public static void main(String[] args) {
    long startTime = System.currentTimeMillis();
    int[]nums1 = {1,2,3,4,5};
    int[]nums2={88,99,188};
    System.arraycopy(nums1,1,nums2,0,2);
    System.out.println(Arrays.toString(nums2));  // [2, 3, 188]
    long endTime = System.currentTimeMillis();
    System.out.println("共耗时:" + (endTime-startTime) + "毫秒");
  }

第十一章:StringBuilder类

字符串拼接问题

由于String类的对象内容不可改变,所以每当进行字符串拼接时,总是会在内存中创建一个新的对象,既耗时,又浪费空间。为了解决这一问题,可以使用java.lang.StringBuilder类。

概述

查阅java.lang.StringBuilder的API,StringBuilder又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。

原来StringBuilder是个字符串的缓冲区,即它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。

它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容。StringBuilder会自动维护数组的扩容。

构造方法

常用方法

代码:

public static void main(String[] args) {
    StringBuilder builder = new StringBuilder();
    for (int i = 0; i < 10000; i++) {
      builder.append(i);
    }
    System.out.println(builder.toString());
  }

第十二章:包装类

概述

Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类

如下:

基本类型 对应的包装类(位于java.lang包中)
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

装箱与拆箱

基本类型与对应的包装类对象之间,来回转换的过程称为”装箱“与”拆箱“:

用Integer与 int为例:(看懂代码即可)

基本数值---->包装对象

Integer i = new Integer(4);//使用构造函数函数
Integer iii = Integer.valueOf(4);//使用包装类中的valueOf方法

包装对象---->基本数值

int num = i.intValue();

自动装箱与自动拆箱

由于我们经常要做基本类型与包装类之间的转换,从Java 5(JDK 1.5)开始,基本类型与包装类的装箱、拆箱动作可以自动完成。例如:

Integer i = 4;//自动装箱。相当于Integer i = Integer.valueOf(4);
i = i + 5;//等号右边:将i对象转成基本数值(自动拆箱) i.intValue() + 5;
//加法运算完成后,再次装箱,把基本数值转成对象。

基本数据类型和字符串互相转换

上一篇下一篇

猜你喜欢

热点阅读