java String字符串——进度1

时间:2022-02-06 14:54:31

String字符串
    在JAVA中提供了多种创建字符串对象的方法,这里介绍最简单的两种,
    第一种是直接赋值,
    第二种是使用String类的构造方法:
    如下所示:
    String str1=null;
    String str2="";
    String str3=new String();
    String str4="Hello world";
    String str5=new String("Hello world");

    第一行代码是说明的是变量str1是一个null(空值)。
    第二行代码是给这个str2赋值一个空的字符串""。
    第三行也是str3赋值一个空的字符串。
    第四行str4的字符串的值为"Hello world"。
    第五行str5的值也是"Hello world".

    需要注意的是
    1.空的字符串""和空值(null)是两个不同的概念,空字符串是说明这个字符串对象是存在的,但是不包含任何字符,而null的意思就是这个对象什么都没有,没有指向任何内存地址
    2.str4,str5分别是用直接赋值和使用String构造方法创建出来的带初始值"Hello world"的字符串变量,然而通过这两种方法创建的字符串却是不同的。
    直接赋值法,是先创建一个字符串的常量"Hello world",并将基赋值给变量str4,
    而使用构造方法创建出来的是先创建一个字符串常量"Hello world",然后再创建一个对象,然后该对象的内容指向这个字符串常量,再然后str5指向这个对象。
    3."Hello world"=="Hello world";返回true,因为这两个是同一个字符串常量,
    str4==str5; 返回false,因为这两个字符串对象虽然内容相同,但是指向的内存地址不一样,
    str4.equals(str5);返回true,因为这两个字符串对象的内容是相同的,而equals()方法比较的就是内容,而不是对象。

  java String字符串——进度1

  1,获取:
         * 1.1 获取字符串中字符的个数(长度).
         *         int length();
         * 1.2 根据位置获取字符。
         *         char charAt(int index);
         * 1.3 根据字符获取在字符串中的第一次出现的位置.
         *         int indexOf(int ch)
         *         int indexOf(int ch,int fromIndex):从指定位置进行ch的查找第一次出现位置
         *         int indexOf(String str);
         *         int indexOf(String str,int fromIndex);
         *          根据字符串获取在字符串中的第一次出现的位置.
         *         int lastIndexOf(int ch)
         *         int lastIndexOf(int ch,int fromIndex):从指定位置进行ch的查找第一次出现位置
         *         int lastIndexOf(String str);
         *         int lastIndexOf(String str,int fromIndex);
         * 1.4 获取字符串中一部分字符串。也叫子串.
         *         String substring(int beginIndex, int endIndex)//包含begin 不包含end 。
         *         String substring(int beginIndex);  

  2,转换。
         *         2.1 将字符串变成字符串数组(字符串的切割)
         *             String[]  split(String regex):涉及到正则表达式.
         *         2.2 将字符串变成字符数组。
         *             char[] toCharArray();
         *         2.3 将字符串变成字节数组。
         *             byte[] getBytes();
         *         2.4 将字符串中的字母转成大小写。
         *             String toUpperCase():大写
         *             String toLowerCase():小写
         *        2.5  将字符串中的内容进行替换
         *            String replace(char oldch,char newch);
         *             String replace(String s1,String s2);
         *         2.6 将字符串两端的空格去除。
         *             String trim();
         *         2.7 将字符串进行连接 。
         *             String concat(string);

  3,判断
         *         3.1 两个字符串内容是否相同啊?
         *             boolean equals(Object obj);
         *             boolean equalsIgnoreCase(string str);忽略大写比较字符串内容。
         *         3.2 字符串中是否包含指定字符串?
         *             boolean contains(string str);
         *         3.3 字符串是否以指定字符串开头。是否以指定字符串结尾。
         *             boolean startsWith(string);
         *             boolean endsWith(string);