Java 学习笔记·八 —— Java 常用工具·API
Java 常用工具APIAPI,Application Programming Interface,应用程序编程接口,这里指的是 API 文档,通常叫做 “Java 文档”,是 Java 中提供的类的使用说明书Java 中的类和方法几乎全部都有文档注释(/** 文档注释内容 */),这些文档注释就被 Java 的命令(javadoc.exe,在 JDK 安装的 bin 目录下)编译成了 Java
Java 常用工具
API
API,Application Programming Interface,应用程序编程接口,这里指的是 API 文档,通常叫做 “Java 文档”,是 Java 中提供的类的使用说明书
Java 中的类和方法几乎全部都有文档注释(/** 文档注释内容 */),这些文档注释就被 Java 的命令(javadoc.exe,在 JDK 安装的 bin 目录下)编译成了 Java 文档,即 API
发挥面向对象思想,找到 Java 提供的对象来实现功能,学习 API 文档就是学习 Java 中的类的使用方法。开发 Java 程序的过程中,想要使用 Java 提供的类的功能,就需要通过 API 文档来查找并使用。
API 是程序员和 Java 语言之间沟通的桥梁
API 文档的使用方法
使用步骤 :
-
搜索类
在搜索框里按类名模糊查询,或者通过文档顶部提供的层级结构查找。
-
查看类的包名
很多类在使用之前需要导包,所以要知道该类所属的包。 每一个类都默认导入
java.lang包,所以如果你使用的是该包下的类,则无须手动导包。 -
查看类的注释
使用一个类前,要知道该类的大致功能和它的定位,要知道一个类的能力边界,以便快速确定该类是不是你真正需要的。
-
查看构造方法(如有)
使用类之前要创建类的对象。如果是静态类或者一些工具类如
java.lang.Math类,则不需要这么做。 -
查找需要的方法并使用
根据标识符的命名规则,可以快速定位方法的位置。仔细阅读方法的注释,注意区分重载方法的使用有何不 同。如果找不到想要的方法,可能该方法在父类,或者更高的父类中。
Object 类
类层次结构最顶层的基类,所有类都直接或间接的继承自 Object 类,所以,所有的类都是一个 Object(对象)。Java 是严格的面向对象的语言,所以,所有的函数和数据都封装到类中(并非所有的编程语言都这样),通过类的对象来调用这些功能或实现某个算法。

-
构造方法
Object():
构造一个对象。所有子类对象初始化时都会优先调用该方法 -
成员方法
int hashCode():
返回对象的哈希码值,该方法通过对象的地址值进行计算,不同对象的返回值一般不同Class<?> getClass():
返回调用此方法对象的运行时类对象(调用者的字节码文件对象)String toString():
返回该对象的字符串表示boolean equals():
返回其它某个对象是否与此对象“相等”。默认情况下比较两个对象的引用(地址值),建议重写
Scanner 类
扫描器,能够解析字符串(String)和基本数据类型的数据

-
构造方法
Scanner(InputStream):
构造一个扫描器对象,从指定输入流中获取数据参数System.in,对应键盘录入 -
成员方法
hasNextXxx():
判断是否还有下一个输入项,其中Xxx可能是任意基本数据类型,返回结果为布尔类型nextXxx():
获取下一个输入项,其中Xxx可能是任意基本数据类型,返回对应类型的数据String nextLine():
获取下一行数据。以换行符作为分隔符。String next():
获取下一个输入项,以空白字符作为分隔符空白字符:空格、tab、回车等
String 类
字符串,每一个字符串对象都是常量

-
构造方法
String(byte[]):
构造一个String对象,将指定字节数组中的数据转化成字符串String(char[]):
构造一个String对象,将指定字符数组中的数据转化成字符串 -
成员方法
boolean equals(String):
判断当前字符串与给定字符串是否相同,区分大小写boolean equalsIgnoreCase(String):
判断当前字符串与给定字符串是否相同,==不区分大小写 ==boolean startWith(String):
判断是否以给定字符串开头int length():
获取当前字符串的长度char charAt(int index):
获取指定索引位置的字符int indexOf(String):
获取指定字符(串)第一次出现的索引int lastIndexOf(String):
获取指定字符(串)最后一次次出现的索引String substring(int):
获取指定索引位置(含)之后的字符串String substring(int, int):
获取从索引start位置(含)起至索引end位置(不含)的字符串byte[] getBytes():
将字符串转换成字节数组char[] toCharArray():
将字符串转换成字符数组static String valueOf(..) :
将指定类型数据转换成字符串String replace(old, new):
将指定字符(串)替换成新的字符(串)String[] split(String):
切割字符串,返回切割后的字符串数据,原字符串不变String trim():
去掉字符串两端的空白字符
StringBuilder 和 StringBuffer 类
可变字符序列,用于构造字符串对象。内部使用自动扩容的数组操作字符串数据。StringBuilder 和 StringBuffer 使用相同的 API。
-
构造方法
StringBuilder():
构造一个空的StringBuilder容器StringBuilder(String):
构造一个StringBuilder容器,并添加指定字符串 -
成员方法
StringBuilder append(…):
将任意数据添加到StringBuilder容器中String toString():
将当前StringBuilder容器转成字符串
Data 和 Calendar 类
日期和日历类,用于操作日期相关的信息
-
构造方法
Date():
构造一个日期对象,当前系统时间,精确到毫秒Date(long):
构造一个日期对象,时间为自“1970年1月1日00:00:00 GMT”起,至指定参数的毫秒数 -
成员方法
long getTime():
将日期对象转换成对应时间的毫秒值static Calendar getInstance():
根据当前系统时区和语言环境获取日历对象int get(int field):
返回给定日历字段的值void set(int field, int value):
将给定的日历字段设置为指定的值
Calender类是抽象类,不能创建对象
基本类型的包装类
基本数据类型不是对象,所以 Java 针对基本类型提供了对应的包装类,以对象的形式来使用

- 装箱
基本类型转包装类型(对象类型)
- 拆箱
包装类型(对象类型)转基本类型
- 成员方法
基本类型 parseXxx(String) :
将字符串类型的数据转换成对应的基本类型
示例代码
package cn.itcast.demo2;
import java.util.Calendar;
import java.util.Scanner;
public class APIDemo1 {
/*
* Object 类:
* 类层次结构最顶层的基类,所有类都直接或间接继承自Object
* 所有类都是一个Object对象
* 构造方法:
* Object() : 构造一个对象,所有子类对象初始化时都会优先调用该方法
* 成员方法:
* int hashCode() : 返回对象的哈希码值,该方法通过对象的地址值进行计算
* 不同对象的返回值一般不同
* Class<?>getClass() :
* 返回调用此方法对象的运行时类对象(调用者的字节码文件对象)
* String toString() : 返回该对象的字符串表示
* boolean equals() : 比较是否相等,建议重写
* */
public static <Calender> void main(String[] args) {
// 非静态方法的调用方式:通过 对象名. 的形式
Object obj1 = new Object();
Object obj2 = new Object();
int code1 = obj1.hashCode();
int code2 = obj2.hashCode();
System.out.println(code1);
System.out.println(code2);
System.out.println("----------------");
Class clazz1 = obj1.getClass();
Class clazz2 = obj2.getClass();
System.out.println(clazz1);
System.out.println(clazz2);
System.out.println("----------------");
// 默认打印地址值
// 地址值的组成: 全类名 + @ + 该对象的哈希码的无符号16进制形式
String s1 = obj1.toString();
String s2 = obj2.toString();
System.out.println(s1);
System.out.println(s2);
System.out.println("----------------");
boolean b1 = obj1.equals(obj2);
System.out.println(b1);
System.out.println("----------------");
/*
* Scanner 类:
* 扫描器,能够解析字符串(String)和基本数据类型的数据
* 构造方法:
* public Scanner(InputStream is):
* 构造一个扫描器对象,从指定输入流中获取数据参数
* System.in对应键盘录入
* 成员方法:
* hasNextXxx():
* 判断是否还有下一个输入项,Xxx可能是任意基本数据类型
* 返回结果为 布尔类型
* ** nextXxx():
* 获取下一个输入项,Xxx可能是任意基本数据类型
* 返回对应类型的数据
* ** String nextLine():
* 获取下一行数据,以换行符作为分隔符
* String next():
* 获取下一个输入项,以空白字符为分隔符
* 空白字符:空格、tab、回车等
* */
// System.in 标准的输入流,默认指向键盘
Scanner sc = new Scanner(System.in);
/*System.out.println("Enter one int");
// 为了解决 InputMismatchException,可以加一个判断
if (sc.hasNextInt()) {
int num = sc.nextInt();
System.out.println(num);
}*/
// 97 = a
byte[] by = {97,98,99};
String str1 = new String(by);
System.out.println(str1);
char[] ch = {'h', 'e', 'l', 'l', 'o'};
String str2 = new String(ch);
System.out.println(str2);
// String 可以免写 new
String str3 = "abc";
/*
* StringBuilder 和 StringBuffer
* 可变字符序列,用于构造字符串对象,内部使用自动扩容的数组操作
* 字符串数据,使用相同的 API
* 建议优先使用 StringBuilder,速度更快
* 构造方法:
* StringBuilder()
* 构造一个空的 StringBuilder容器
* StringBuilder(String)
* 构造一个 StringBuilder容器,并添加指定字符串
* 成员方法:
* StringBuilder append(...):
* 将任意数据添加到容器中,返回自身
* StringBuilder toString():
* 将当前StringBuilder容器转成字符串
* */
/*
* Calender 类是抽象类,不能创建对象
* 但是可以如下使用
* */
Calendar c = Calendar.getInstance();
System.out.println(c);
// 获取年月日
// java 中使用 0-11 表示月份
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DATE);
System.out.println("Year = " + year);
System.out.println("Month = " + (month + 1));
System.out.println("Day = " + day);
// 设置
/* System.out.println("----------------");
c.set(Calendar.YEAR, 2020);
int year2 = c.get(Calendar.YEAR);
System.out.println("Year2 = " + year2);*/
c.set(2020, 2, 3);
int year3 = c.get(Calendar.YEAR);
int month3 = c.get(Calendar.MONTH);
int day3 = c.get(Calendar.DATE);
System.out.println("Year3 = " + year3);
System.out.println("Month3 = " + (month3 + 1));
System.out.println("Day3 = " + day3);
/*
* 装箱:基本类型转包装类型(对象类型)
* 拆箱:包装类型(对象类型)转基本类型
*
* 基本类型 parseXxx(String):(静态)
* 将字符串类型的数据转成对象的基本类型
* 除了 Character 都有
*
* 如果字符串想转换成 char类型
* 可以使用 String的方法 toCharArray()、charAt()
*
* */
int a = 10;
// a 是基本类型,不能 对象名. 来调用方法
Integer i1 = new Integer(a); // 过时写法
int b = i1.intValue();
// 新写法
Integer i2 = 30;
int a2 = i2;
String s = "10";
int num = Integer.parseInt(s);
System.out.println(num+10);
}
}
如果
if语句控制的只有一行代码,可以省略{}
更多推荐



所有评论(0)