1.1. 什么是API

Ÿ API全名:Application Programming Interface,API是应用程序编程接口,指一些预先定义好的类。

Ÿ 例如我们想要一台电脑,并不需要自己生产每个零件,只要从各个厂商买到组装电脑的零件就可以,然后根据说明书学会使用,将零件安装在一起就得到了电脑。电脑就像是我们要的程序,而零件就是API,说明书就是帮助文档。

1.2. Java API

Ÿ Java API就是Sun公司提供给我们使用的类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用。

Ÿ 我们可以通过查帮助文档来了解Java提供的API如何使用

1.3. Java中常用API

Ÿ String类

对字符串进行操作通常我们使用String类,相关的还有StringBuffer和StringBuilder

Ÿ 集合类

集合是一种容器,用来存取对象(Collection、Map)

Ÿ 包装类

Java定义了一组包装类对基本数据类型进行了包装(Integer、Double、Boolean)

Ÿ 时间对象

Java定义了一些类方便用户对时间、日期进行处理(Date、Calendar)

Ÿ 系统类

Java定义了一些类针对系统进行操作(System、Runtime)

Ÿ IO流

Java定义了一些类对数据传输进行了封装(输入输出流、File文件对象)

Ÿ Socket

Java定义了一些类方便用户进行网络编程(Socket、DatagramSocket)

1.4. String对象的存储

Ÿ 字符串是常量,一旦创建不能被修改。

Ÿ 字符串在程序中经常使用,虚拟机会将其缓存在String池中。

Ÿ 了解 String s = “abc” 和 String s = new String(“abc”) 的区别。

1.5. String类的构造函数

Ÿ String(byte[] bytes)

通过指定字节数组构建字符串。

Ÿ String(byte[] bytes, int offset, int length)

通过指定字节数组、数组元素偏移量和元素个数构建字符串。

Ÿ String(byte[] bytes, String charsetName)

通过指定字节数组和指定码表构建字符串。

Ÿ String(byte[] bytes, int offset, int length, String charsetName)

通过指定字节数组、数组元素偏移量、元素个数和指定码表构建字符串。

Ÿ String(char[] value)

通过指定字符数组构建字符串。

Ÿ String(char[] value, int offset, int count)

通过指定字符数组、数组元素偏移量和元素个数构建字符串。

Ÿ String(StringBuffer buffer)

通过指定StringBuffer构建字符串。

Ÿ String(StringBuilder builder)

通过指定StringBuffer构建字符串。

1.6. String类的常用方法

Ÿ char charAt(int index)

查找指定位置的字符

Ÿ int indexOf(String str)

判断字符串出现的位置

Ÿ int compareTo(String anotherString)

按字典顺序比较两个字符串

Ÿ String substring(int beginIndex, int endIndex)

截取子字符串

Ÿ String[] split(String regex)

字符分割

Ÿ String replace(CharSequence target, CharSequence replacement)

替换字符串

Ø 字符串练习

Ÿ 设计一个方法, 获取一个已知文件名的扩展名. 

Person.java的扩展名是.java,Person.java.txt的扩展名是.txt

Ÿ 设计一个方法, 查找一个字符串中子字符串出现的所有位置. 

“xxxabcxxxabcxxx”中abc出现了2次,索引位置是3和9

Ÿ 查找一个字符串中出现最多的字符.

“hello world”中L出现了3次

Ÿ 设计方法,使用System.in.read()读取一行.

循环读取一个字节,读取到\r\n结束。考虑中文问题

Ÿ 已知一个字符串. 设计一个方法, 可以从这个字符串中打印n个字节. 但不能打印出半个中文.

短信一次发送字节140个,如果超过140字节就会分为两条。这时如果第140个字节是中文的前半,那么第一条短信应该发送139字节。

Ÿ 查找两个字符串中最大相同子串.

“abc”和“bcd”的最大相同子串是”bc”

“xyzabcdefxyz”和“xxxabcdefooo”的最大相同子串是”abcdef”