20220720 学习笔记分享

   java学习序列6

         今日重点 :String字符串

    

String字符串

 

String字符串是一个类,类当中可以有属性,方法,构造器。String一旦声明,不可以改变。

对于基本数据类型,比如int来说,如果你新赋一个值,他会把原来的值,给“干掉”。

对于String来说,在内存级别中,你定义了一个String类型的值,它会一直在内存中

字符串也有长度,也有下标

 

字符串常用方法:

        1. length() 取得字符串的长度,和数组长度区别:数组length是属性,字符串length()是方法

  String s1 = "abcdefg";
  String s2 = new String("abcdefg");
  System.out.println(s1.length());
  System.out.println(arr.length);

        2. 对象名.equals(String 类型参数),返回值boolean类型true,false

String s1 = new String("abcdefg");
String s2 = new String("abcdefg");
System.out.println(s1.equals(s2);

 

        3. indexOf()字符寻找位置,返回int,lastIndexOf(),从后往前找

 public static void main(String[] args) {
        String s1 = "abcdefgabcdaaa";
        s1.indexOf('a');
        // 判断指定字符串是否存在,返回值为字符串在s1的下标
        // 返回从左到右遇到的第一个匹配的下标
        // 如果不存在。返回-1
        // indexOf(String,int)代表从int位置开始查找,包括当前位置
//        System.out.println(s1.indexOf("a",8));
        // 从后往前找
        System.out.println(s1.lastIndexOf("a",12));
    }

 

        4.String 类的 indexOf()方法在字符串中查找子字符串出现的位置,如过存在返回字符串出现的位置(第一位为0),如果不存在返回 -1

        5. 字符串函数 substring()函数来截取字符串中的一个字符

 public static void main(String[] args) {
        // 字符串的截取
        String str = "abcdefghijklmn";
        /*
            如果传一个参数,从指定位置开始截取,直到字符串的末尾
            考虑一下?
            包不包括1位置的字符,包括起始位置的字符
            生成一个新的字符串,不会改变原有数据
         */
        String s = str.substring(1);
        // bc or b
        // 包含起始位置,不包含终止位置
        s = str.substring(1,2);
        System.out.println(s);
    }

 

        6. replace方法可以替换字符串中的字符

        String str="Hello World,Hello Java.";
            System.out.println(str.replace('H','W')); //替换全部
            System.out.println(str.replaceFirst("He","Wa")); //替换第一个遇到的
            System.out.println(str.replaceAll("He", "Ha")); //替换全部

        7. Javareverse()可字符串反转 

        8. split(string)方法通过指定分隔符将字符串分割为数组。

        String str="www-baidu-com";
            String[] temp;
            String delimeter = "-";  //指定分隔符
            temp = str.split(delimeter);  //分割字符串
            //普通for循环
            for(int i =0; i < temp.length; i++){
                System.out.println(temp[i]);
                System.out.println("");
            }

        9. String toUpperCase() 方法将字符串从小写转为大写 

  10. concat() 连接两个字符串

  11. trim() 去掉起始和结尾的空格

  12. valueOf() 转换为字符串

 int [] arr = new int[]{1,2,3,4,5};
int i= 10;
 把int类型转成字符串(推荐)
        String s = String.valueOf(i);
        s = new String(i);

 

  13. charAt() 取出指定下标位置的字符

public static void main(String[] args) {
        String s1 = "abcdefg";
System.out.println(s1.charAt(0));
Scanner sc = new Scanner(System.in);
        char c = sc.next().charAt(0);
       字符串转int要+1
        System.out.println(c + 1);
    }

 

  14. contains() 方法用于判断字符串中是否包含指定的字符或字符串

  15. substring(),截取字符串;substring(1),字符串下标包括1之后的;substring(0,3),字符串0到2,不包括3

  16. startswith("a",2)是不是以什么开头,从2开始

  17. endswith()是不是以什么结尾

  18.equalscase()  忽略大小写

 

  包装器类型(包装类,封装类)

   * byte             Byte
   * short           Short
   * int          Integer
   * long          Long
   * float                       Float
   * double                   Double
   * char                       Character
   * boolean                 Boolean

原理:

   (自动)装箱:把int类型包装成了包装器Integer类型。基本数据类型转换成对应的包装器类型

Integer i2 = Integer.valueOf(50);

   (自动)拆箱:把Integer类型转换成int类型。包装器类型转换成对应的基本数据类型

int ii2 = i2.intValue();

 

JDK5以后的新功能:

  1. 自动装箱和自动拆箱
  2. 增强for循环(foreach)
  3. 枚举(switch case)

JDK7以后的新功能:

        Switch...case可以用String

 

今日总结

      今天学习的内容还比较容易,都听懂了,只是练习挺难得又不会做。。。

posted @ 2022-07-21 19:59  兜兜里藏着糖  阅读(20)  评论(0编辑  收藏  举报