• 字符串



      java语言中,字符串是字符的序列,包含零或多个字符。作为对象处理,被封装在双引号中(不是单引号,单引号封装的是char类型的数据)。他提供了一系列方法对整个字符串进行操作,使得对字符串的处理更加容易和规范。

      java.lang包中定义了两个用于字符串操作的类:String 和 StringBuffer 类。在运行中其值不能被改变的字符串用String 类存储;其值能被改变的字符串用StringBuffer类来存储。

      String 和 StringBuffer 类都被声明为final ,因此都不能被继承。下面重点讨论String 类。


    1.String 字符串创建

      String类的对象可用字符串常量对其初始化,也可调用其构造方法来进行。例:

    String s = "Hello World ";                        //使用字符串常量"Hello World "初始化s对象
    

      注:利用字符串常量对String 类的对象赋值,为该对象在常量池中分配内存空间。经常使用的创建字符串的另一个方法是使用String类的构造方法。String类的主要构造方法见下表:

    String类的主要构造方法
    方法 功能 示例
    String() 初始化一个新建的String对象,是其表示一个空字符序列

    String s = new String();

    s 的内容为""(空)

    String(String original)

    初始化一个新创建的String 对象,使其表示一个与参数相同的字符序列,

    换句话说,新创建的字符串是该参数字符串的副本

    String s = new String("Hello");

    s 的内容为"Hello"

    String(char[] value) 分配一个新的String,使其表示字符数组参数中当前包含的字符序列

    char[] ch = {'H','e','l','l','o'};

    String s = new String(ch);

    s 的内容为"Hello"

    String(char[] value,int offset,int count) 分配一个新的String,它包含取自字符数组参数一个子数组的字符

    char[]

    ch={'H','e','l','l','o','','j','a','v','a'};

    String s = new String(ch,0,5);

    s 的内容为"Hello"

      注:java语言不能讲讲字符串看做字符数组。使用new操作创建的字符串在堆内存中为其分配空间。


    2.String类的常用方法

      String类的功能很强大,几乎覆盖了所有的字符串运算操作。下面是一些常用方法:

    String类的常用方法
    方法 功能 示例
    char charAt(int index) 返回指定索引处的char值

    String s ="Hello java";

    char c = s..charAt(6);

    c的值为’j’

    String concat(String str) 将指定字符串连接到此字符串的结尾

    String s1 = "Hello";

    String s2 = "java";

    s1 = s1.cancat(s2);

    s1 的内容为"Hello java"

    boolean equals(Object anObject) 将次字符串与制定的对象比较,当且仅当该参数不为null,并且是与此对象表示相同字符序列的String对象是,结果才为true

    String s1 = "Hello java"

    String s2 = new String("Hello java");

    boolean b = s1.equals(s2);

    b的值为true

    int indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引

    int x = 97; // 对应小写字母a

    String s = "Hello java";

    int index = s.indexOf(x);

    index 是小写字母a在字符串中的第一次出现的索引值,即7

    int indexOf(String str) 返回指定子字符串在此字符串中第一次出现的索引

    String s = "Hello java";

    int index = s.indexOf("Hello");

    index 是字符串"Hello"在字符串s中第一次出现的索引值,即0
    boolean isEmpty()

    当且仅当length() 为0 时返回 true

    String s1 ="";

    String s2 = "Helo java";

    boolean b1=s1.isEmpty();

    boolean b2 =s2.isEmpty();

    b1的值为true,B2的值为false

    int length() 返回此字符串的长度,字符串的下标是从0~(length-1)

    String s ="Hello java";

    int l = s.length();

    l 的值为10

    String substring(intbeginIndex,int endIndex) 返回从beginIndex 位置到endIndex(不包括该位置)之间的所有字符组成的新字符串

    String s1 = "Hello java";

    String s2 = s1.subString(6,9);

    s2的内容为java

    String toLowerCase() 使用默认语言环境的规则将String 中的所有字符都转换为小写

    String s1 = "Hello java";

    String s2 = s1.toLowerCase();

    s2的内容为"hello java"

    String toUpperCase() 使用默认语言环境的规则将String 中的所有字符都转换为大写

    String s1 = "Hello java";

    String s2 = s1.toUpperCase();

    s2的内容为"HELLO JAVA"

    static String valueOf(type value) 返回相应类型参数的字符串表现形式

    int value = 123;

    String s1 = String.valueOf(value);

    String s2 = String.valueOf(153.2);

    s1的内容为"123",s2 的内容为"153.2"

        注:1.包含一个空格字符的字符串不是空串

        2.区分数组中的length属性与String类中的length()方法。


    3.字符串与数值之间的转换

      java语言为每种基本数据类型提供了封装类,分别对应为Byte,Short,Integer,Long,Float,Double,Character和Boolean 类。这些封装(wrapper)类提供了很直观的实用方法。特别是每种封装类(除Character)中都有parseXXX()方法将一个String 对象转换成相应的数值。同时,在String类中提供了多个静态的重载valueOf()方法,将相应的基本数据类型转换成相应的字符串类型。


  • 相关阅读:
    二叉树层次遍历
    链表
    线段树加离散化
    前缀和
    RMQ(Range MinimumQuery)问题之ST算法
    2016"百度之星"
    2016"百度之星"
    Dragon Balls[HDU3635]
    Building Block[HDU2818]
    Dogs[HDU2822]
  • 原文地址:https://www.cnblogs.com/xiaonanman/p/6684153.html
Copyright © 2020-2023  润新知