API常见对象
String
StringBuffer/StringBuilder 字符串缓冲区类
基本数据类型封装类 (如Interger)
Math
System
Runtime
Date,DateFormat,Calendar
1. Scanner类:在JDK5以后,用于帮助我们接收键盘录入的数据
Scanner sc = new Scanner(System.in);
在System类下面有一个静态的成员变量:in
public static final InputStream in:表示一个标准的键盘输入流,代表键盘输入
Scanner仅仅是对其进行了一次包装(封装键盘录入),由Scanner去实现各种转换,最终按照Scanner的方式提供你要的数据
要掌握的功能:
1)int:返回一个int类型的数据 putlic int nextInt()
2)没有提供返回字符的方法:String s = sc.nextLine();
连续获取两种类型的问题:
String 回车 String: 没有问题
String 回车 int: 没有问题
int 回车 int: 没有问题
int 回车 String: 有问题 这个时候把换行符给了String。在windows下换行符是\r\n
这个时候你可以选择
1)重新创建一个Scanner对象
2)把所有的数据都当作String类型来看待,以后要什么类型,再转换
\r转义字符:回车符 将光标移动到下一行的初始位置
\n:换行符 将光标移动下一行的同一列位置
2. String类:
字符串:本质上是字符数组 字符串对象在开发中是最常见的,为了方便我们对字符串的操作,
java把字符串用对象进行了封装,所有字符串字面值都作为字符串对象
3. 构造方法
String():无参构造方法
String(byte[] bytes):把字节数组转成字符串
String(byte[], int startIndex, int length):把字节数组的一部分转成字符串
String(char[] value):
String(char[] value,int startIndex, int length):
String(String original):把字符串字面值转成字符串
字符串长度功能: public int length()
String类重写了Object类的ToString方法
4. 注意事项:
1)字符串一旦初始化就不可以被改变,指的是内存中的常量池的字符串常量数据不能发生改变,
没有说字符串的引用不能改变(内容不变,引用改变)
2)String s1 = new String("abc"); 与 String s2 = "abc";有区别吗?
有。第一种方式,在内存中有两个对象,第二种方式只有一个对象
3)看程序,写结果
注意:如果直接赋值 String s1 = "Hello",是从常量池先找,如果有,就用;否则,就造一个
注意:如果是变量,直接在内存中造变量
如果是常量,先在常量池中找,有就用,没有就造
5. String类的判断功能
boolean equals(Object obj): 比较字符串的内容是否相同
boolean equalsIgnoreCase(String str): 比较字符串的内容是否相同,不区分大小写
boolean contains(String str): 判断字符串是否包含给定的字符串
boolean startWith(String str): 判断字符串是否以给定的字符串开头
boolean endWith(String str): 判断字符串是否以给定的字符串结束
boolean isEmpty(): 判断该字符串对象是否为空,指内容为空
内容为空 “”,地址为空null
6. 如何查看JDK提供的类的源码呢?
1)在JDK安装目录下的src文件,自己找
2)通过eclipse直接关联查看 左手CTRL+右手鼠标移动到要查看的类上单击
也可以把光标移动到要查看的类上,然后按下F3
7. String类的获取功能
int length()
char charAt(int index)
int indexOf(int ch): 返回指定字符第一次出现的索引位置 找不到返回-1
int indexOf(String str): 返回指定字符串第一次出现的索引位置
int indexOf(int ch, int fromIndex): 从指定位置开始,返回指定字符串第一次出现的索引位置
int indexOf(String str, int fromIndex): 从指定位置开始,返回指定字符串第一次出现的索引位置
String substring(int start): 从指定位置开始截取字符串
String sbustring(int start, int end): 从指定位置开始,到指定位置结束截取字符串 包左不包右
8. String类的转换功能
byte[] getBytes():把该字符串转换成字节数组
char[] toCharArray():把该字符串转换成字符数组
static String copyValueOf(char[] chs):把字符数组转换成字符串
static String Valueof(char[] chs):把字符数组转换成字符串
static String Valueof(int i):把int类型的数据转换成字符串,字符串的一个Valueof功能,可以把其他类型转换为字符串
String toLowerCase()
String toUpperCase()
String concat(String str):字符串的拼接 也可以用+做拼接
9. String类的其他功能
1)替换
String replace(char old, char new)
String replace(String old, String new)
2)分割
String[] split(String regex)
3)去除字符串两端空格
String trim()
4)按字典顺序比较两个字符串
int compareTo(String str) 返回int类型
如果按字典顺序此 String 对象位于参数字符串之前,则比较结果为一个负整数
compareTo 只在方法 equals(Object) 返回 true 时才返回 0
int compareToIgnoreCase(String str)
10. 案例:获取大字符串中小字符串出现的次数
1)查找indexOf()和截取substring()方法的使用
2)把功能封装成成方法