* eclipse
** main + alt + / 生成main方法
** syso + alt + / 生成输出语句
** alt + / 代码提示
** ctrl + shift + f 代码格式化
** ctrl + shift + o 导包
** ctrl + 1 代码修复
** ctrl + / 添加获取取消单行注释
** ctrl + shift + / 添加多行注释
** ctrl + shift + \ 取消多行注释
** ctrl + alt + 上/下键 向上或者向下复制行
** alt + 上/下键 向上或者向下移动代码
** shift + alt + s 弹出代码生成的下拉菜单
** ctrl + 左键 查看源代码
** ctrl + shift + x 把字符串转换成大写
** ctrl + shift + y 把字符串转换成小写
* Object 类
** 特点: 所有的类都直接的或者间接的继承自该类
** 构造方法: public Object() ;
** 成员方法:
* public int hashCode(): 获取对象的哈希码值
* public Class getClass(): 获取字节码文件对象
* public String toString(): 返回对象的字符串表现形式. 默认返回的是地址值. 一般需要重写
* public boolean equals(): 比较两个对象是否相等. 默认比较的是地址值.一般需要重写
* Scanner 类
** 作用: 用来接收键盘录入数据的
** 构造方法: public Scanner(InputStream in) ;
** 成员方法:
* hasNextXxx: 用来判断我们录入的数据是否是xxx类型的. xxx的取值可以为 byte , short , int , long ....
* nextXxx : 用来接收键盘录入的数据,并将其转换成Xxx这种数据类型. xxx的取值可以为 byte , short , int , long ....
* 如何接收键盘录入的int类型的数据: public int nextInt()方法
* 如何接收键盘录入的String类型的数据; public String nextLine()方法
** 先录入一个int类型的数据,然后在录入一个字符串类型的数据会出现问题?
* 解决方案:
** 再次创建一个Scanner对象
** 使用String进行接收,然后可以使用基本数据类型包装类,在将String类型的数据转换成指定的数据类型
* String 类
** 特点:
* 字符串字面值"abc"就可以看做成字符串的一个对象
* 一旦被创建就不能被改变(指的是值不能被改变,而引用是可以发生改变的)
** 构造方法:
* public String(byte[] bytes); 把一个字节数组转化成一个字符串
* public String(char[] chs); 把一个字符数组转化成一个字符串
* public String(byte[] bytes , int offset , int leng); 把一个字节数组中的一部分转化成一个字符串; offset: 表示的是开始索引 , length : 表示的是个数
* public String(char[] chs , int offset , int leng); 把一个字符数组中的一部分转化成一个字符串; offset: 表示的是开始索引 , length : 表示的是个数
** 成员方法:
* 判断功能相关的方法
public boolean equals(Object obj): 判断两个字符串是否相等,区分大小写的
public boolean equalsIgnoreCase(String str): 判断两个字符串是否相等,忽略大小写的
public boolean contains(String str): 判断一个字符串是否包含str这个字符串
public boolean startsWith(String str): 判断一个字符串是否以str这个字符串开始
public boolean endsWith(String str): 判断一个字符串是否以str这个字符串结尾
public boolean isEmpty(): 判断一个字符串的内容是否为空
* 获取功能相关的方法
public int length(): 获取字符串的长度
public char charAt(int index): 获取index索引处对应的字符
public int indexOf(int ch): 获取ch这个字符在指定字符串中第一次出现的索引
public int indexOf(String str): 获取str这个字符串在指定字符串中第一次出现的索引
public int indexOf(int ch,int fromIndex): 从fromIndex索引处开始, 获取ch这个字符在指定字符串中第一次出现的索引
public int indexOf(String str,int fromIndex): 从fromIndex索引处开始, 获取str这个字符串在指定字符串中第一次出现的索引
可以顺带提一下lastIndexOf系列 获取最后一次出现的索引
public String substring(int start): 从start位置开始截取字符串,截取到最后. 返回的是截取到的字符串
public String substring(int start,int end): 从start位置开始一直到end位置,截取字符串,返回的是截取到的字符串. 不包含end位置对应的字符
* 转换功能相关的方法
public byte[] getBytes(): 把一个字符串转换成一个字节数组
public char[] toCharArray(): 把一个字符串转换成一个字符数组
public static String valueOf(char[] chs): 把一个字符数组转换成一个字符串
public static String valueOf(int i): 把一个int类型的值转换成String类型
public String toLowerCase(): 把一个字符串的字符全部转换成小写
public String toUpperCase(): 把一个字符串中的字符全部转换成大写
public String concat(String str): 拼接字符串
* 其他功能相关的方法
** 替换功能
public String replace(char old,char new) 把指定字符串中的old字符使用new字符进行替换
public String replace(String old,String new) 把指定字符串中的old字符串使用new字符串进行替换
** 去除两端空格
public String trim() 去除两端空格
** 按照字典顺序进行比较
public int compareTo(String str)
public int compareToIgnoreCase(String str)
举例: 扎金花
AK8 AK3
源码:
public int compareTo(String anotherString) {
int len1 = value.length;
int len2 = anotherString.value.length;
int lim = Math.min(len1, len2);
char v1[] = value;
char v2[] = anotherString.value;
int k = 0;
while (k < lim) {
char c1 = v1[k];
char c2 = v2[k];
if (c1 != c2) {
return c1 - c2;
}
k++;
}
return len1 - len2;
}