【Java】从头开始的Java复健day5
用的书:《Java从入门到精通》
day1(3.1-3.3): 【Java】从头开始的Java复健day1
day2(3.4-3.8): 【Java】从头开始的Java复健day2
day3(4.1-4.4): 【Java】从头开始的Java复健day3
day4(4.5-5.2): 【Java】从头开始的Java复健day4
第五章 字符串
5.3 获取字符串信息
长度信息
str.length();
字符串查找
索引范围(0, length-1)
- indexOf()
返回首次出现的索引位置 没有则返回-1 - lastIndexOf()
返回最后一次出现的索引位置 没有则返回-1
如果查找的是"" 则返回的是长度
获取指定索引位置的字符
str.charAt(int index)
public class Java5_3 {
public static void main(String[] args){
String s = "hello world!";
int len = s.length();
System.out.println(len);
// indexOf()
int idx1;
idx1 = s.indexOf('l');
System.out.println(idx1);
// lastIndexOf()
int idx2, idx3;
idx2 = s.lastIndexOf('l');
idx3 = s.lastIndexOf("");
System.out.println(idx2);
System.out.println(idx3);
System.out.println(s.length());
// 获取指定索引位置的字符
System.out.println(s.charAt(4));
}
}
5.4 字符串操作
获取字符串
截取字符串
- substring(int beingIndex)
从开始截取到结尾 - substring(int beingIndex, int endIndex)
指定开头和结尾
去除空格
trim()
只忽略前边和后边的空格
字符串替换
str.replace(char oldChar, char newChar)
如果出现多次会全部替换
判断字符串的开始和结尾
- startsWith() 判断是否以某字符串开始
- endsWith() 判断是否以某字符串结尾
判断字符串是否相等
因为“==”是在比较两个变量的地址是否相同
但是两个字符串就算内容一样地址也不同 所以只能是false
所以要使用equals()
和equalsIgnoreCase()
后者忽略了大小写
按照字典顺序比较两个字符串
基于Unicode值 在要比较的之前为负数 之后为正数 相同的为0
str.compareTo()
字母大小写转换
数字和非字符不受影响
- toLowerCase() 转小写
- toUpperCase() 转大写
字符串分割
- spilt(String sign) 根据给定字符切割
- spilt(String sign, int limit) 根据给定字符切割并限定次数
public class Java5_4 {
public static void main(String[] args){
String s = " maybe this is an example ";
// 获取字符串
String s1 = s.substring(2);
System.out.println(s1);
String s2 = s.substring(2, 6);
System.out.println(s2);
// 去除空格
String s3 = s.trim();
System.out.println(s3);
// 字符串替换
String s4 = s.replace("a", "b");
System.out.println(s4);
// 判断字符串的开始和结尾
System.out.println(s.startsWith(" "));
System.out.println(s.endsWith("z"));
// 判断字符串是否相等
String s5 = " maybe this is an example ";
String s6 = " Maybe this is an EXAMPLE ";
System.out.println(s.equals(s5));
System.out.println(s.equalsIgnoreCase(s6));
// 按照字典顺序比较两个字符串
System.out.println(s.compareTo(s6));
System.out.println(s.compareTo(s5));
// 字母大小写转换
System.out.println(s.toUpperCase());
// 字符串分割
String[] ss = s.split(" ");
String[] ss1 = s.split(" ", 3);
// 遍历数组
for (String i:ss) {
System.out.println(i);
}
for (String i:ss1) {
System.out.println(i);
}
}
}