带你走进java-第十一章.String类的基本方法

String类

1.概念:String  字符串类 (系统类)
  注意:String  str  =   常量(或者 new String(常量))
      一个表示创建的字符串对象str 指向常量池中的常量(一个指向 堆内存中的字符串)
  特点: 字符串是常量(String str是引用字符串的地址,"abc"是字符串)
       字符串不可变,但是引用地址可以改变
  所以: 字符串的使用 和 基本数据类型一样
        // 直接声明"abc", 是声明在常量池中
        String s1 = "abc";
        // new声明 , 是声明在堆内存中
        String s2 = new String("abc");
        String s3 = "abc";
        //  ==  比较的是地址(字符串)   
        // equals比较的是字符串中每一个字符是否相等
        //       比较的是字符串的值
        System.out.println(s1 == s2);
        System.out.println(s1.equals(s2));
        // s1和s2的区别
        // s1表示的是一个对象
        // s2表示的是两个对象
        System.out.println(s1 == s3);
2.系统类  String类 存在地址
  java.lang包 (使用java.lang包 不用导入头文件) 

3.String类的构造方法
  String(Char[] value){}代表  将字符数组 拼接成 字符串

4.String类的方法(学习系统类,就是学习该类的方法)
     举例:String  s = "javastudy";
 //  1.根据 下标 获取 字符
    s.charAt(int index) 
 //  2.根据 字符 获取 下标(获取 第一个该字符 所在位置,可设置起始索引位置,若不设置,默认为0,但不能超过边界)
    s.indexOf(int char,int fromindex)  // int  char是因为字符和整型能相互转换(ASCII码)
 //  若输入的是字符串, 则 查找该字符串是否存在,返回该字符串 第一个字符的下标
    举例:String  s = "javastudy";
//  1.字符串中 是否包含某 字符串(返回boolean)
      s.contains(String str)
//  2.字符串的拼接
      String str1 = "wang";
      String str2 = "jun";
      1️⃣
      str1 + str2 = "wangjun";
      2️⃣
      str1.concat(str2);
//  3.是否以 这个前缀开头(返回boolean) 
      String s = "www.baidu.com"
      s.startsWith("www");
//  4.是否以 这个后缀结束(返回boolean)
      s.endsWith(".com");
    String  s1 = "wangjun";
    String  s2 = "WANGJUN";
//  1.判断 两个字符串 是否相等(boolean)
    s1.equals(s2);
//  2.判断 两个字符串 忽略大小写 是否相等(boolean)
    s1.equalsIgnoreCase(s2);
//  3.字符串 转小写
    s2.toLowerCase();
//  4.字符串 转大写
    s1.toUpperCase();
   String s1 = "wangjun";
// 1.替换 字符或字符串
   s1.replace('a','x');
   结果:
   "wxngjun";
----------
   s1.replace("jun","123");
   结果:
   "wang123";
----------
// 2. 切割 字符串
   String s2 = "www.baidu.com";
   s2.split("\\.");
   注意: 若从 .  开始切割,需要添加 \\转义字符
// **快速遍历 (  只打印 的情况)**
// for(容器中元素类型  随意名 : 要遍历的容器)
   for(String s: str)
     String s1 = "  wang jun  ";
//  1. 获取子串 [start-index,end-index) 留头不留尾
     s1.substring(start-index,end-index);
//  2. 去除空格(去除前后空格 中间空格 不去除)
     s1.trim();
     结果:
     "wang jun";
//  1.字符串  的比较(与 equals 不同,返回值不同)
    String s1 = "abc";
    String s2 = "ab123";
    s1.compareTo(s2);
    结果:
    // 相等  返回0;
    // 当两个字符串 长度相等,值不相等;  返回 第一个不相等的两个字符的ASCII码的差值(正值,前面大 / 反之,后面大)
    // 当字符串 长度不相等(长度相同的部分,字符串相等), 返回 字符串长度相差值
//  1.把 字符数组 转换成 字符串
    char[] array = {'1','2','3'};
    使用String构造方法转换
    String str = new String(array);
//  2.把 字符串 转换成 字符数组
    char[] array2 = str.toCharArray();
    打印 该字符数组(快速遍历)
    for(char s : array2){
    System.out.println(s);
    }
       String s1 = "  wang jun  ";
//   1.判断 字符串 是否为空
       s1.isEmpty();
     注意:字符串 不能指向空,否则会报错(空指针异常)
//   2.基本数据类型  转化  字符串
     String s1 = String.valueOf(false);
//   3.字符串  转化  基本数据类型
     int num = integer.parInset(str);

猜你喜欢

转载自blog.csdn.net/qq_35368276/article/details/82352461