Jave String字符串深入

字符串即string类,是Java中一个比较特殊的类,它不是Jave的基本数据类型之一,却可以像基本数据类型一样使用,像声明各初始化等操作都是相同的,并且使用非常频繁,是程序经常处理的对象,如果处理不好就会影响唾弃运行的效率所以学好string类的用法是很重要的。

创建字符串

string类即字符串类型,并不是Java的基本数据类型,但可以像基本数据类型一样使用,用双引号括起来进行声明,在Jave中用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 String("good")

3.String(char a[],int offset,int length)

提取字符数组a中的一部分创建一个字符串对象。参数offset表示开始截取字符串的位置,length表示截取字符串的长度。

使用String(char a[],int offset,int length)方法创建String对象

char a[]={'s','t','u','d','e','n','t'};
String s = new String(a,2,4);

等价于

String s =new String("uden");

对于已经声明的字符串,可以对其进行相应的操作,String类中包含很多种方法,程序员可以使用这些方法对字符串进行操作以满足实际编程的需要。

字符串连接
字符串连接是对字符串的最基本的操作之一,主要有连接多个字符串和连接其他数据类型两中不同的操作,下面分别介绍这两种操作。

1.多个字符串连接

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

使用“+”运算符完成对多个字符串的连接

String s1 = new String("hello");      //声明String对象s1
String s2 = new String("word");       //声明String对象s2
String s3 = s1+" "+s2;                //将对象s1和s2连接后的结果赋值给s3

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

2.链接其他数据类型

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

在项目中创建类,在主方法中创建数值型变量,实现将字符串与整型,浮点型变量相连的结果输出

public class Link{
     public static void main(String args[]){
     int booktime = 4;
     float practice = 2.5f;
     System.out.println("我每天花费"+booktime+"小时看书;"+practice+"小时上机练习;");
     }
}
运行结果:我每天花费4小时看书;2.5小时上机练习;

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

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

获取字符串信息

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

1.获取字符串的长度
使用String类的length()方法可以获取声明的字符串对象的长度。语法格式如下:

str.length();

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

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

String s = "We are students";
System.out.println("字符串的长度是:"+s.length());

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

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

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

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

str.indexOf(substr)

str:任意字符串对象
substr:要搜索的字符。
返回值:返回字符序列中第一次出现该字符的索引。

在项目中创建Select类,在主方法中创建String对象,使用indexOf()方法查找字符s在字符串s中的索引位置,并将结果输出。

public class Select{
    public static void main(String[]args){
    String s = "We are students";
    System.out.println("字符s在字符串s中的位置是:"+s.indexOf(s));

   }
}
运行结果是7

说明在计算机中String对象的索引是从0开始的,这点需要注意。

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

str.lastIndexOf(substr)

str:任意字符串对象
substr:要搜索的字符。
返回值:返回字符序列中最后次出现该字符的索引。

使用lastIndexOf方法查找字符s在字符串s中的索引位置。

String s = "We are students";
System.out.println("字符s在字符串s中的位置是:");
System.out.println(+s.lastIndexOf("s"));
运行的结果是“字符s在字符串s中的位置是:14”

表明此方法输出字符s在字符串s中最后一次出现的位置

注意:如果lastIndexOf()方法中的参数是空字符串” “,则返回的结果与调用该字符串的length()方法的返回结果相同。

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

使用String类的char At()方法可获取指定索引的字符,返回字符的索引。语法格式如下:

str.charAt(int index)

str:任意字符串。
index:整型值,用于指定要返回字符的下标
返回值:返回指定索引位置的字符。

使用charAt()方法查找字符串“hello word”的索引位置是6的字符。

String s = "hello word";
char mychar2=s.charAt(6);
System.out.println("字符串s中索引位置是6的字符为:"+"mychar2");
运行结果是"字符串s中索引位置是6的字符为:w"
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值