码迷,mamicode.com
首页 > 编程语言 > 详细

S1/使用Java理解程序逻辑/15- 字符串

时间:2016-07-07 06:18:47      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:

简单地说,使用字符串主要分为两步。

(1)定义并初始化字符串。

(2)使用字符串,对字符串进行一些处理。

前面已经学过如何创建一个字符串,如下所示。

//创建一个字符串对象"Hello World"

String s="Hello World";

在Java中,字符串被作为String类型的对象来处理。String类是Java设计人员预先提供的一个非常有用的类,它位于java.lang包中,默认情况下,该包被自动导入所有的程序。创建String对象的另外两种方法如下列代码所示。

//创建一个空字符串

String s=new String();

或者

//创建一个字符串对象"Hello World"

String s=new String("Hello World");

 

1、String类提供的方法——字符串的长度

语法:

字符串1.length();

返回字符串1的长度。

 

2、String类提供的方法——字符串的比较(包含大小写)

语法:

字符串1.equals(字符串2);

比较两个字符串的值是否相同,返回boolean类型的值。如果相同,则返回true;否则返回false。

在使用equals()方法比较两个字符串时,对于字符的大小写,也在检查范围之内。

注意:在Java中,双等号(==)和equals()方法虽都应用于两个字符串,但判断的内容是有差别的。简单地讲,“==”判断的是两个字符串对象在内存中的首地址是否相等,即判断是否是同一个字符串对象,而equals()判断的是两个字符串对象的值是否相等。

 

3、String类提供的方法——字符串的比较(忽略大小写)

语法:

字符串.equalsIgnoreCase(字符串2);

忽略大小写比较字符串1和字符串2。如果都相同,则返回true;否则返回false。

 

4、String类提供的方法——字符串的转换大小写

语法:

字符串.toLowerCase()

返回字符串的小写形式

字符串.toUpperCase()

返回字符串的大写形式

toLowerCase():转换字符串中的英文字母为小写。                              Java→java

toUpperCase():转换字符串中的英文字母为大写。                              Java→JAVA

修改示例中的代码如下,同样可以实现忽略大小写实现登录。

if(uname.equals(("TOM").toLowerCase())&&pwd.equals(("1234567").toUpperCase())){

System.out.print("登录成功!");

}else{

System.out.print("用户名或密码不匹配,登录失败!");

}

 

1、复杂的字符串处理——连接字符串

连接字符串的方法有两种:使用“+”运算符;使用String类的concat()方法。

(1)在定义一个字符串时可以使用“+”运算符进行连接。如:System.out.println("SQL:"+sqlScore+"Java:"+javaScore+"HTML:"+htmlScore);

在使用“+”运算符连接字符串和int(或double)类型数据时,“+”将int(或double)类型数据自动转换成String类型。

(2)除此之外,在Java中,String类也提供了另一个方法concat()方法,将一个字符串连接到另一个字符串的后面,语法如下。

语法:

字符串1.concat(字符串2);

字符串2被连接到字符串1的后面,返回连接后的新字符串。

使用这个方法,让计算机向你问好,代码如下所示。

String s=new String("你好,");

String  name=new String("张三!");

String sentence=s.concat(name);

System.out.println(sentence);

执行完毕,字符串sentence的内容便是“你好,张三!”,s和name的值依然为“你好,”、“张三”。

 

2、复杂的字符串处理——字符串的提取和查询

String类提供的一些常用的提取和查询方法。

常用提取和查询字符串的方法

序号

方法

说明

1

public int indexOf(int ch)

public int indexOf(String value)

搜索第一个出现的字符ch(或字符串value)

2

public int lastIndexOf(int ch)

public int lastIndexOf(String value)

搜索最后一个出现的字符ch(或字符串value)

3

public String substring(int index)

提取从位置索引开始的字符串部分

4

public String substring(int beginindex,int endindex)

提取beginindex和endindex之间的字符串部分

5

public String trim()

返回一个前后不含任何空格的调用字符串的副本

字符串是一个字符序列,每一个字符都有自己的位置,字符串事实上也是一个字符数组,因此他的位置从0开始(字符串长度-1)结束。如字符串“青春无悔”,其中“青”,“春”,“无”,“悔”的索引下标依次为0、1、2、3。

在常用提取和查询字符串的方法一表中,前面1、2中的4个方法的作用是执行搜索操作,后面3、4、5中的3个方法用于提取字符或字符串。

(1)indexOf()方法

该方法是在字符串内搜索某个指定的字符或字符串,它返回出现第一个匹配字符的位置。如果没有找到匹配,则返回-1。调用时,括号中写明要搜索的字符(或字符串)的名字。例如,搜索“青春无悔”中字符“春”的位置。

String s="青春无悔";

int index=s.indexOf(‘春‘);

执行后,返回字符“春”的位置是1。

(2)lastIndexOf()方法

该方法也是在字符串内搜索某个指定的字符或字符串,但是它是搜索最后一个出现的字符(或字符串)的位置。例如,搜索字符串“青春无悔青春无悔”中最后出现字符串“青春”的位置。

String s="青春无悔青春无悔";

int index=s.lastIndexOf(‘青春‘);

执行后,返回字符串“青春”的首字符位置,index的值为6.

(3)substring(int index)方法

该方法用于提取从位置索引开始的字符串部分,调用时括号中写的是要提取的字符串的开始位置,方法的返回值就是要提取的字符串。例如,要提取字符串“青春无悔”中的“春无悔”。

String s="青春无悔";

String result=s.substring(1);

(4)substring(int beginindex,int endindex)方法

该方法用于提取位置beginindex和位置endindex位置之间的字符串部分。特别要注意的是,对于开始位置beginindex,Java是基于字符串的首字符为0来进行处理的,但是对于终止位置endindex,Java是基于字符串的首字符为1来处理的,如下图所示。

0

1

2

3

4

5

6

7

计算起始位置

 

 

1

2

3

4

5

6

7

8

计算终止位置

例如,要提取“青春无悔无悔青春”中的“无悔无悔”。

String s="青春无悔无悔青春";

String result=s.substring(2,6);

(5)trim()方法

该方法可以忽略字符串前后的空格,。在接收用户输入的字符串时,一般会调用trim()方法过滤掉字符串前后的多余空格。

 

3、复杂的字符串处理——字符串的拆分

Java的String类提供了一个拆分字符串的方法split(),将一个字符串分隔为子字符串,结果作为字符串数组返回。

语法:

字符串1.split(String separator,int limit);

其中:

(1)separator可选项,标识拆分字符串时使用一个或多个字符。如果不选择该项,则返回包含该字符串所有单个字符的元素数组。

(2)limit可选项,该值用来限制返回数组中的元素个数。

 

StringBuffer类

StringBuffer类位于java.lang包中,是String类的增强型。

使用StringBuffer类也需要两步完成。

1、声明StringBuffer对象并初始化。

//声明一个空的StringBuffer对象

StringBuffer sb1=new StringBuffer();

//声明一个字符串“青春无悔”

StringBuffer sb2=new StringBuffer("青春无悔");

2、使用StringBuffer对象

StringBuffer类提供了很多方法以供使用,调用时使用“.”操作符完成。

 

常用的StringBuffer类方法

1、语法:字符串1.toString();

将StringBuffer类型的字符串1转换为String类型的对象并返回。

例如:

String s1=sb2.toString();                   //转换为String类

 

2、语法:字符串1.append(字符串2);

将字符串2连接到字符串1后并返回。

该方法和String类的concat()方法一样,都是把一个字符串追加到另一个字符串后面,所不同的是String中只能将String类型的字符串追加到一个字符串后,而StringBuffer可以将任何类型的值追加到字符串之后。

 

3、语法:字符串1.insert(位置,参数);

将参数插入到字符串1的指定位置(int类型)后并返回。参数可以是包括String的任何类型。

S1/使用Java理解程序逻辑/15- 字符串

标签:

原文地址:http://www.cnblogs.com/water5832/p/5648649.html

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