Java入门初次学习(三)String类


前言

很长时间没有更新了,自己最近也是玩的有点high,Java的基础内容也是学完了,自己对于Java还是有些盲区,最近在看一些进阶的教程,比如maven编程,Junit等一些核心的内容,那么我今天来谈谈这个string类


一、string类

前面我们谈到了char类型,但是他只能表示单个字符,在c++中其实也出现了string这个概念,字符串类型,它来自cstring或者string的头文件,在Java中string类也和c++中的string是一样的,它在java.lang包中。

二、Stirng类的使用

1.声明字符串

在Java中,字符串一定的包含在一对双引号之间,比如"redbeard""12.23"“哈喽”。而string的声明和c++中一样,string str

2.创建字符串

Java的特点就是面向对象的编程思维,所以,他会把字符串也当做也个对象来处理,下面来介绍string类的常用构造方法:
(1)String(char a[])
这是用一个字符数组来创建一个string对象

char a[]={"h","e","l","l","o"};
String s =new String(a);
//这两行代码相当于String s=new String("good");

(2)String(char a[],int offset,int length)
这个初始化是截取char数组的一部分创建一个string对象,参数offset表示开始截取的位置,而length表示截取的长度。

char a[]={"h","e","l","l","o"};
String s =new String(a,2,3);
//这两行代码相当于String s=new String("llo");

(3)关于string类的内存存储结构

String str1,str2;
str1="we are the champion";
str2="we are the champion";

在这里插入图片描述
str1和str2都引用相同的字符串常量,具有相同的实体,内存示意图如图

3、连接字符串

使用+可以实现多个字符串的加法,“+”可以连接多个运算符并产生一个string对象。

public static void main(String[] args) {
	String str1=new String("hello");
	String str2=new String("bi2arRe");
	String str=str1+" "+str2;
	System.out.println(str);
	//最后两行可以简写成System.out.println(str1+" "+str2);
    }

在这里插入图片描述
演示代码和运行结果如图。算是比较好用的一个功能,我最开始学习的时候,考虑过一个问题,就是如何实现像c++一样在cout返回x+y这样的情况,但是经过测试发现会自动识别加号的意义,对于常用return x+y的同学还是比较友好的。对于+还可以连接不同的数据类型哦。

4、获取字符串信息

1、获取字符串的长度。

String str="we are the champion";
int size=str.length();

2、字符串查找
字符串查找包括indexOf()和lastIndexOf(),前者返回的是字符串首次出现的位置,后者返回是字符串最后出现的位置。

String str="we are the champion";
int size=str.indexOf("e");

3、获取指定索引位置的字符charAt()。
可以根据你想要的索引位置找到这个位置所对应的字符。

4、获取字符串substring()
通过String类中的substring()可以对字符串进行截取,都是利用下标进行索引,

str.substring(int beginIndex);//beginIndex是索引开始的位置,一直到结尾。
str.substring(int beginIndex,int endIndex);//endIndex是截取末尾的索引。

5、trim()出去空格
6、字符串替换replace()

str.replace(char oldChar,char newChar);
//oldChar是要替换的字符串,newChar是用于替换的内容。

6、判断字符串的开始与结尾

str.startsWith(String prefix);//prefix是前缀字符
str.endstsWith(String suffix);//suffix是后缀字符

7、判断字符串是否相等
对于字符串对象,我们无法用==判断其是否相等,所以产生了equals()和equalsIgnoreCase()方法
(1)equals()方法
若连个字符串有着相同的字符和长度,则使用该方法比较时返回true

str.equals(String otherstr);//str和otherstr是要比较的两个字符串。

(2)equalsIgnoreCase()方法
这个方法和上面方法的区别在于这个方法不区分大小写

str.equalsIgnoreCase(String otherstr);//str和otherstr是要比较的两个字符串。

8、字母的大小写转换
(1)toLowerCase()
该方法把String转换为小写,如果都是小写,则将原字符串返回

str.toLowerCase();

(2)toUpperCase()

str.toUpperCase();//将字符串转化成大写。

9、字符串分割
使用split()方法可以是字符串按指定的分割字符或者字符串内容进行分割,并将分割后的结果存在字符串数组中。
(1)split(String sign)
按照分割字符对字符串进行拆分,其中的参数也可以是正则表达式

str.split(String sign);

(2)split(Stirng sign,int limit)
limit限制了拆分的次数

str.split(String sign,int limit);

limit模式匹配次数,如果设置为n,那么根据正则表达式匹配n-1次,得到的结果数组的长度不会大于n,数组的最后一项是最后匹配的分隔符以后的全部内容。

对于这个分割还是很有用的,上学期的课设的音乐播放器,要求歌词滚动,我第一时间就是想到正则表达式,将歌词出现的时间和歌词放在一行,然后进行分割,一半为时间一半为歌词,然后分别读取,这样就实现了歌词的滚动。

总结

对于这节主要讲述了Java的String类的各种方法,对于之后字符串的处理可以调用String库里面的内容进行处理,可以说十分的方便,如有不足请指出,虚心受教,最近在学其他内容更新比较慢,多多体谅- -TKU,很开心能有伙伴一起学习,交流可以加qq:1158455410

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值