Java API概述
API(Application Programming Interface)应用程序编程接口,是对Java预先定义的类或接口功能和函数功能的说明文档,目的是提供给开发人员进行使用帮助说明。
基本数据类型封装类
Java语言在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类。这些类封装了一个相应的基本数据类型,并为其提供了一系列操作方法。
基本数据类型 | 包装类 |
byte | Byte |
short | Short |
char | Character |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
- 对于包装类来说,这些类的主要用途是作为和基本数据类型对应的类类型存在,包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。
- 装箱是自动将基本数据类型转换为包装类型,自动调用的是Integer的valueOf(int)方法
- 拆箱是自动将包装类型转换为基本数据类型,自动调用的是Integer的value方法
Object类
Object类是所有Java类的祖先(根基类),每个类都使用Object类作为父类,所有对象(包括数组)都实现这个类的方法。如果在类的声明中未使用extends关键字指明其父类,则默认父类为Object类。
- toString 方法:Object类中定义有public String toString()方法,其返回值是String类型,描述当前对象的相关信息;可以根据需要在用户自定义类型中重写toString()方法。
- equals方法:Object类中定义有 public boolean equals(Object obj)方法,提供定义对象是否相等的逻辑;Object 的 equals 方法 定义为:x.equals ( y ) ,当 x 和 y是同一个对象的引用时返回 true 否则返回 false;JDK提供的一些类重写了Object的equals方法,调用这些类的equals方法,当x和y所引用的对象是同一类对象且属性内容相等时(并不一定是相同对象),返回true,否则返回false。
Arrays类
方法 | 声明 | 注释 |
equals方法 | public static boolean equals(type[]a,type[]a2) | 比较两个非同一数组是否相等,而数组本身的equals判断另一个数组是否等于它本身,如果两个相等,则返回true,否则返回false。 |
sort-排序 |
作用于数组的所有元素:public static void sort(type[] a)
| object型数组,根据元素的自然顺序,对指定对象数组进行升序排序。
将指定的类型(除
boolean
以外的任意原生数据类型)数组所有元素(或指定范
围内的元素)按数字升序进行排序。
|
作用于数组指定范围内的元素 :public static void sort(type[] a, int fromIndex(包括), int toIndex(不包括)) | ||
binarySearch-使用二分搜索算法搜索指定数组 |
public static int binarySearch (type[] a, type key)
|
使用二分搜索算法搜索指定的type型数组,以获得指定的值。
a - 要搜索的数组。
key - 要搜索的值。
fromIndex - 要排序的第一个元素的索引(包括)。
toIndex - 要排序的最后一个元素的索引(不包括)
|
public static int binarySearch(long[] a,int fromIndex,int toIndex,long key)
| ||
toString() 方法
|
public static String toString(type[] a)
|
返回指定数组内容的字符串表示形式。
|
自定义对象排序 | 自定义类实现Comparable接口,重写compareTo方法。 |
String类
字符串是由多个字符组成的一串数据(字符序列)的字符串常量,Java中所有字符串都是String类的实例。
创建形式:
1.String s = “abc”;
先在栈中创建一个对String类的对象引用变量s,然后去字符串常量池中查找有没有“abc”,如果没有则在常量池中添加“abc”,s引用变量指向常量池中的“abc”,如果常量池中有,则直接指向改地址即可,不用重新创建。
2.String s = new String(“abc”);
在堆中创建新对象,值存储在堆内存的对象中。
功能 | 方法 |
构造方法 |
public String()
public String(String str)
public String(byte[] bytes)
public String(char[] value)
|
判断功能 |
boolean equals(Object obj)
boolean equalsIgnoreCase(String str)
boolean contains(String str)
boolean isEmpty()
boolean startsWith(String prefix)
boolean endsWith(String suffix)
|
获取功能 |
int length()
char charAt(int index)
int indexOf(String str)
int indexOf(String str,int fromIndex)
String substring(int start)
String substring(int start,int end)
|
转换功能 |
byte[] getBytes()
char[] toCharArray()
static String valueOf(char[] chs)
String toLowerCase()
String toUpperCase()
String concat(String str)
Stirng[] split(分割符)
|
替换功能 |
String replace(char old,char new)
String replace(String old,String new)
replaceAll(String regex, String replacement)
replaceFirst(String regex, String replacement)
|
去除字符串空格 |
String trim()
|
StringBuffer类
我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间。而StringBuffer就可以解决这个问题,是线程安全的可变字符序列。
功能 | 方法 |
构造方法 |
public StringBuffer()
public StringBuffer(String str)
|
添加功能 |
public StringBuffer append(String str)
public StringBuffer insert(int offset,String str)
|
删除功能 |
public StringBuffer deleteCharAt(int index)
public StringBuffer delete(int start,int end)
|
替换功能 |
public StringBuffer replace(int start,int end,String str)
|
反转功能 |
public StringBuffer reverse()
|
截取功能(返回值类型是String类型,本身没有发生改变) |
public String substring(int start)
public String substring(int start,int end)
|
Math类
java.long.Math提供了一系列静态方法用于科学计算,其方法的参数和返回值类型一般为double型。
abs 求绝对值
sqrt 求平方根
pow(double a,double b) a的b次幂
max(double a,double b) a与b的最小值
min(double a,double b) a与b的最大值
random() 返回0.0到1.0的随机数
long round(double a) double型的数据a转换为long型(四舍五入)
Random 类
此类用于产生随机数
功能 | 方法 |
构造方法 |
public Random()
|
成员方法 |
public int nextInt()
public int nextInt(int n)
|
Date类/Calendar类/SimpleDateFormat类
Date类
使用Date类代表当前系统时间
创建:Date d = new Date();
Date d = new Date(long d);
Calendar类
Calender类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对程序员来说是透明的,只需要使用getInstance方法创建。
创建:Calender c1 = Calender.getInstance();
c1.get(Calender.YEAR);
SimpleDateFormat类
SimpleDateFormat 日期格式化类
构造方法 |
SimpleDateFormat(格式); // yyyy-MM-dd
|
日期转字符串 |
Date now=new Date();
myFmt.format(now);
|
字符串转日期 |
myFmt.parse(“2018-02-10”);
(字符串日期格式与 指定格式必须一致)
|
BigInteger类
构造方法 :BigInteger(String val) /BigInteger(byte[] val) ...基本运算方法 :add(),subtract(),multiply(),divide()