zoukankan      html  css  js  c++  java
  • 字符串String

    字符串String思维导图

     创建字符串

    String类即字符串类型,像基本数据类型一样使用,用双引号括起来进行声明。在Java中用String类的构造方法来创建字符串变量。

    1.String()

    一个String对象,可表示一个空字符序列。

    例 :使用String()方法初始化一个新创建的String对象。

    String s=new String();

    2.String(char a[])

    用一个字符数组a创建String对象。

    例 :使用String(char a[])方法创建String对象。

    char a[]={'g','o','o','d'};

    String s=new String(a);

    等价于String s=new Sring("good")

                    //String
            
            String str3="字符串常量";
            
            String str="字符串常量";
            
            char[]c=new char[]{'我','很','好'};
            
            String str4=new String(c);
            
            System.out.println("str4="+str4);

    字符串操作

    一.字符串连接

    1.多个字符串连接

    连接多个字符串时,在每两个连接的字符串之间用"+"相连,"+"就是字符串的连接符,连接之后生成一个新的字符串。

    例 :使用"+"运算符完成对多个字符串的连接。

    String s1=new String("hello");//声明String对象是s1

    String s2=new String("world");//声明String对象是s2

    String s=s1+" "+s2;//将对象s1和s2连接后的结果赋值给s

    将s1、空格和s2进行连接,运行结果是"hello world".

    Java中的字符串不能分开在两行中写。如果一个字符串太长,需要将这个字符串分在两行上书写,此时可以使用"+"将两个字符串联起来,并在加号处换行。

    2.连接其它数据类型

    在字符串和其他数据类型连接时,同样使用"+"连接符,连接之后的返回值是字符串。

    当其他数据类型与字符串相连时会自动将其转换成字符串类型,然后进行连接。

    只要“+”运算符的一个操作类型是字符串,编译器就会将另外的操作类型转换成字符串形式,所以应谨慎地将其他数据类型与字符串相连。

    获取字符串信息

    字符串变量是一个对象,可以通过相应的方法获取字符串的有效信息,如获取字符串的长度,获取指定字符串的索引位置等。

    1.获取字符串长度

    使用String类的length()方法可获取声明的字符串对象的长度。

    str.length();

    str:指定的字符串对象。

    返回值:返回指定字符串的长度。

    例 :使用length()方法得出字符串的长度。

    String s=“We are students”;

    System.out.println("字符串的长度是:"+s.length());

    获取字符串“We are students”的长度,运行结果是"字符串的长度是:15",很明显在计算字符串长度时字符串中的空格也被计算在内了,这点应该注意。

    //字符串信息
            
            str="字符串常量字符串常量";
            
            System.out.println("字符串长度="+str.length());

    2.获取指定子符的索引位置

    String类提供了indexof()和lastindexof()方法来获取指定字符的索引位置,不同的是,indexof()方法返回的是搜索的字符首次出现位置的索引,而lastindexof()方法返回的是搜索的字符最后出现位置的索引。

    (1)indexof()方法

    调用字符串的indexof()方法搜索s时,会从字符串的起始位置依次搜索,返回s首次出现位置的索引,如果没有检索到字符串s,返回-1.

    str.indexof(substr)

    str:任意字符串对象

    substr:要搜索的字符。

    返回值:返回字符序列中第一次出现该字符的索引。

    //字符串信息

    str="字符串常量字符串常量";


    String str="字符串常量"; //查找字符串中子字符串的位置,返回找到之后的索引值 System.out.println("常字的位置="+str.indexOf("常")); System.out.println("常量的位置="+str.indexOf("常量")); //查找不到,返回-1 System.out.println("我的位置="+str.indexOf("我")); System.out.println("最后常字的位置="+str.lastIndexOf("常"));//还是从前面往后数

    (2)lastindexof()方法

    调用字符串的lastindexof()方法搜索s时,会从字符串的起始位置依次搜索,返回s最后出现位置的索引,如果没有检索到字符串s,返回-1.

    str.lastindexof(substr)

    str:任意字符串对象。

    substr:要搜索的字符串。

    返回值:返回字符序列中最后出现的该字符的索引。

    如上图所示、

    3.获取指定索引位置的字符

    使用String类的charAt()方法可获取指定索引处的字符,返回字符的索引。

    str.charAt(int index)

    str:任意字符串

    int index:整型值,用于指定要返回字符的下标

    返回值:返回指定索引位置的字符

    //获取字符
            
            char c1=str.charAt(0);
            System.out.println("c1="+c1);

    判断字符串

    1.判断字符串是否相等

    (1)equals()方法

    使用equals()方法对字符串进行比较时是严格区分大小写的,在此条件下,如果两个字符串仍具有相同的字符和长度,则返回true,否则返回false。

    str.equals(String otherstr)

    str:参与比较的一个字符串对象

    otherstr:参加比较的另一个字符串对象

    返回值:返回boolean类型

         String str3="字符串常量";
            
            String str="字符串常量";
            
            char[]c=new char[]{'我','很','好'};
            
            String str4=new String(c);
            
            System.out.println("str4="+str4);
            
            String str1=new String("字符串常量");//构造方法
            
            String str2=new String("字符串常量");//new开辟新的内存空间
            
            System.out.println("str="+str);
            System.out.println("str1="+str1);
            System.out.println("str2="+str2);
            
            System.out.println("str1和str2是否==:"+(str1==str2));
            System.out.println("str和str1是否==:"+(str==str1));
            System.out.println("str和str2是否==:"+(str==str2));
            System.out.println("str和str3是否==:"+(str==str3));
            
            //==运算,比较的是内存地址是否相等
            
            System.out.println("str1和str2是否相同:"+str1.equals(str2));
            System.out.println("str和str1是否相同:"+str.equals(str1));
            

  • 相关阅读:
    UVA 1025 A Spy in the Metro DP水题
    ZOJ 3814 Sawtooth Puzzle BFS
    ZOJ 3816 Generalized Palindromic Number
    UVA 10859 Placing Lampposts 树形DP
    UVA 11825 Hackers' Crackdown 状压DP
    POJ 2887 Big String 线段树 离线处理
    POJ 1635 Subway tree systems Hash法判断有根树是否同构
    BZOJ 3110 k大数查询 & 树套树
    sdoi 2009 & 状态压缩
    来自于2016.2.24的flag
  • 原文地址:https://www.cnblogs.com/cycanfly/p/5228014.html
Copyright © 2011-2022 走看看