码迷,mamicode.com
首页 > 其他好文 > 详细

字符串String

时间:2016-02-29 23:21:13      阅读:340      评论:0      收藏:0      [点我收藏+]

标签:

字符串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));
        

技术分享

字符串String

标签:

原文地址:http://www.cnblogs.com/cycanfly/p/5228014.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!