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”