【Java】从头开始的Java复健day5

发布时间 2023-08-11 23:08:12作者: ryukirin

用的书:《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);
        }
    }
}