00 封面. PNG
有个东西叫 API, 昨天忘记说明了.
API 是啥呢?
API, 全称叫 Application Programming Interface, 翻译成中文就是: 应用程序编程接口.
按照我的理解它就相当于是一本字典, 计算机语言的字典.
只不过我们平时所理解的字典, 要么汉字, 要么英文单词, 在 Java 语言里就是一个个类, 接口等, 其实它们本质上是差不多的.
image
为什么平时很少需要使用到汉字字典?
因为这么多年的生长环境, 很多常用的字都融会贯通了.
为什么我还需要时常查阅 API?
因为我对 API 中的类基本都还没啥接触.
所以继续学习 API 中的常用类, 也就相当于字典中的常用字.
一, String 类
String, 翻译成中文: 字符串, 它是 Java 里很重要的一个类.
前面还没有系统地学习过它, 就已经接触过好多回了, 毕竟它太常见了, 常见频率大概就和中文中吃饭的饭字差不多吧.
String 的创建方法:
image
空参构造: 值为空.
字符数组构造方法.
字节数组构造方法(按照对应的 ASCII 编码对应).
不用构造方法, 直接赋值常量, 这种方式比较特殊, 也比较常见, 因为常量的基本类型有一种就是字符串, 所以可以直接赋值.
注: 在 jdk8 中, char[]是字符串内部实现原理, 在 jdk9 版本中改为 byte[]了.
理解完创建方式, 那 String 的常用方法有哪些?
1. 判断方法
image
定义了一个字符串变量 str:"abc".
equals("ABC"): 将 str 与参数 "ABC" 相比较,"abc" 和 "ABC" 不相等, 故返回 false.
equalsIgnoreCase("ABC"): 将 str 与参数 "ABC" 相比较(忽略大小写), 这样的话 "abc" 和 "ABC" 就相等了, 故返回 true.
contain("ab"): 判断 str 是否包含 "ab", 答案包含, 故返回 true.
startsWith("a"): 判断 str 是否以某个子串开头,"abc" 以 "a" 开头, 故返回 true.
2. 获取方法
image
length(): 获取字符串的长度,"abc" 长度为 3.
concat("def"): 将 "def" 连接到字符串中, 也就成了 "abcdef".
charAt(0): 获取 0 索引位的字符, 也就是'a'.
indexOf("ab"): 获取子字符串 "ab" 首字母在字符串的索引, 若是不存在的话, 返回 - 1.
substring(1): 从指定索引 (1) 处开始截取字符串, 直至结束.
substring(1,2): 从指定索引 (1) 处开始截取, 直至指定索引 (2) 处结束, 截取字符串.
3. 转换方法
image
tocharArray(): 将字符串转换为字符数组{'a','b','c'}.
getBytes(): 获得对应的字节数组{97,98,99}.
replace("bc",''ef"): 将字符串中的 "bc" 替换成 "ef", 故成了 "aef".
toLowerCase(): 将字符串全部转换成小写字母.
toUpperCase(): 将字符串全部转换成大写字母.
4. 切割功能
image
split(): 将字符串按照指定的规则切割开.
比如说: 以 "+" 这个加号字符为界切割, 但是因为 "+" 本身就有就具有一定的含义(它是个运算符), 就要使用 "\", 让 "+" 成为一个单纯的字符就可以了.
其中 "\" 叫做转义字符, 当转义字符要当做普通的字符时, 需要进行自身转义变成 "\".
二, static 关键字
static 这个单词前面已经不知道见过多少回了, 现在就详细学学它到底是什么意思?
static 翻译成中文就是: 静态. 它是一个修饰符, 可以用来修饰变量和方法.
那静态变量和静态方法有何特别之处?
做一个回顾:
这几天我们学习了好几个类: Scanner 类, Random 类, ArrayList 类.
这些类我们需要调用它的成员方法时, 先得 new 出对应的一个对象, 然后再用这个对象去调用对应的方法.
image
static 的作用就是让这个类中的成员方法和成员变量, 用类名直接就可以调用, 不用 new 一个对象, 操作起来非常方便, 但相对的也就不安全, 所以一般都是一些可以共享的信息才会用到 static.
接下来就介绍两个工具类, 体现 static 方法的方便.
三, Arrays 类
Arrays, 这一看就是一个数组类, 包含了各种操作数组的方法.
其所有方法均为静态方法, 操作起来非常方便, 其中最常用的两个静态方法:
image
toString(): 该方法能直接将一个数组转换成一个字符串.
sort(): 能将数组升序排列.
四, math 类
math, 翻译成中文就是数学的意思, 显然就是数学里面需要的一些运算方法.
常用的有:
image
abs(-5): 即表示求 - 5 的绝对值, 也就是 5.
ceil(5.5):ceil 意思是天花板, 即表示往上取整, 5.5 往上取整也就是 6.
floor(5.5):floor 意思是地板, 即表示往下取整, 5.5 往下取整也就是 5.
round(5.5):round 意思也就是四舍五入, 现实里最常见的方式.
总结:
image
来源: http://www.jianshu.com/p/dfb0d22f17b1