String 类的运用

这篇具有很好参考价值的文章主要介绍了String 类的运用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.字符串构造

 2.String对象的比较

2.1==比较是否引用同一个对象

2. 2boolean equals(Object anObject)

2.3int compareTo(String s) 方法: 按照字典序进行比较

2.4int compareToIgnoreCase(String str) 

3.字符串查找

 4.2大小写转换

4.3字符串转数组

 4.4 格式化

5.字符串替换

5.1把字符串中的某个字符替换成指定字符

5.2 把字符串中的某个字符串替换成指定字符串

5.3替换首个内容 

6.字符串拆分

6.1String[] split(String regex)

 6.2String[] split(String regex, int limit)

7 字符串截取

7.1String substring(int beginIndex)

7.2String substring(int beginIndex, int endIndex)

8.String trim()


1.字符串构造

String类提供的构造方式非常多,常用的就以下三种:

(1)使用常量串构造
String str1="wang";
(2)直接 new String 对象
String str3 = new String("123");
(3)使用字符数组进行构造
char arr[]={'a','b','c'};
String str4 = new String(arr);

String 类的运用,java,开发语言

                                字符串的内存储存图(图1-1)

看下面代码回答运行结果

public class Text {
    public static void main(String[] args) {
        char arr[]={'a','b','c'};
        String str1 = new String(arr,1,2);
        System.out.println(str1);

        String str2=new String();
        System.out.println(str2);

        String str3 ="";
        System.out.printf(str3);
        System.out.println(str3.length());

        String str4=null;
        System.out.println(str4);

    }
}

运行结果:

String 类的运用,java,开发语言 

 

但如果强行这串代码

String 类的运用,java,开发语言

 运行结果:

String 类的运用,java,开发语言

 

对str3,str4经行解析:

String 类的运用,java,开发语言


 2.String对象的比较

2.1==比较是否引用同一个对象

String s1 = new String ( "hello" );
String s2 = new String ( "hello" );
String s3 = new String ( "world" );
String s4 = s1 ;
System . out . println ( s1 == s2 ); // false
System . out . println ( s2 == s3 ); // false
System . out . println ( s1 == s4 ); // true

小结:

对于基本类型变量,==比较两个变量中存储的值是否相同,对于引用类型变量,==比较两个引用变量引用的是否为同一个对象

2. 2boolean equals(Object anObject)

方法:按照字典序比较

String s1 = new String ( "hello" );
String s2 = new String ( "hello" );
String s3 = new String ( "wello" );
System . out . println ( s1 . equals ( s2 )); // true
System . out . println ( s1 . equals ( s3 )); // false

解析: 

equals 比较: String 对象中的逐个字符
 虽然 s1 s2 引用的不是同一个对象,但是两个对象中放置的内容相同,因此输出 true s1与 s3 引用的不是同一个对象,而且两个对象中内容也不同,因此输出 false

2.3int compareTo(String s) 方法: 按照字典序进行比较

equals 不同的是, equals 返回的是 boolean 类型,而 compareTo 返回的是 int 类型。
具体比较方式:
1. 先按照字典次序大小比较,如果出现不等的字符,直接返回这两个字符的大小差值
2. 如果前k个字符相等(k为两个字符长度最小值),返回值两个字符串长度差值
String s1 = new String("abc");
String s2 = new String("ac");
String s3 = new String("abc");
String s4 = new String("abcdef");
System.out.println(s1.compareTo(s2)); // 不同输出字符差值-1
System.out.println(s1.compareTo(s3)); // 相同输出 0
System.out.println(s1.compareTo(s4)); // 前k个字符完全相同,输出长度差值 -3

2.4int compareToIgnoreCase(String str) 

与compareTo方式相同,但是忽略大小写比较
String s1 = new String ( "abc" );
String s2  = new String ( "ABc" );
System . out . println ( s1 . compareToIgnoreCase ( s2 )); // 相同输出 0

 

3.字符串查找

字符串查找也是字符串中非常常见的操作, String 类提供的常用查找的方法:
方法
功能
char charAt(int index)
返回 index 位置上字符,如果 index 为负数或者越界,抛出 IndexOutOfBoundsException异常
int indexOf(int ch)
返回 ch 第一次出现的位置,没有返回 -1
int indexOf(int ch, int fromIndex)
fromIndex 位置开始找 ch 第一次出现的位置,没有返回 -1
int indexOf(String str)
返回 str 第一次出现的位置,没有返回 -1
int indexOf(String str, int fromIndex)
fromIndex 位置开始找 str 第一次出现的位置,没有返回 -1
int lastIndexOf(int ch)
从后往前找,返回 ch 第一次出现的位置,没有返回 -1
int lastIndexOf(int ch, int fromIndex)
fromIndex 位置开始找,从后往前找 ch 第一次出现的位置,没有返 回-1
int lastIndexOf(String str)
从后往前找,返回 str 第一次出现的位置,没有返回 -1
int lastIndexOf(String str, int fromIndex)
fromIndex 位置开始找,从后往前找 str 第一次出现的位置,没有返 回-1
public static void main ( String [] args ) {
String s = "aaabbbcccaaabbbccc" ;
System . out . println ( s . charAt ( 3 )); // 'b'
System . out . println ( s . indexOf ( 'c' )); // 6
System . out . println ( s . indexOf ( 'c' , 10 )); // 15
System . out . println ( s . indexOf ( "bbb" )); // 3
System . out . println ( s . indexOf ( "bbb" , 10 )); // 12
System . out . println ( s . lastIndexOf ( 'c' )); // 17
System . out . println ( s . lastIndexOf ( 'c' , 10 )); // 8
System . out . println ( s . lastIndexOf ( "bbb" )); // 12
System . out . println ( s . lastIndexOf ( "bbb" , 10 )); // 3

4.转化

4.1数值转化字符串
String 类的运用,java,开发语言

 4.2大小写转换

String toUpperCase()
字符串转大写
String toLowerCase()
字符串转小写

 这两个函数只转换字母。

String s1 = "wang" ;
String s2 = "HELLO" ;
// 小写转大写
System . out . println ( s1 . toUpperCase ());
// 大写转小写
System . out . println ( s2 . toLowerCase ());

 运行结果: 

String 类的运用,java,开发语言

4.3字符串转数组

String s = "hello" ;
// 字符串转数组
char [] ch = s . toCharArray ();
// 数组转字符串
String s2 = new String ( ch );

 4.4 格式化

String s = String . format ( "%d-%d-%d" , 2002 , 5 ,2 4 );
System . out . println ( s );

 运行结果:  

String 类的运用,java,开发语言


 

5.字符串替换

使用一个指定的新的字符串替换掉已有的字符串数据

5.1把字符串中的某个字符替换成指定字符

String str="aa1212bbac";
String str1=str.replace('a','0');
System.out.println(str1);

运行结果:  

String 类的运用,java,开发语言

5.2 把字符串中的某个字符串替换成指定字符串

String str="aa1212bbacbb";
String str2=str.replace("bb","ww");
System.out.println(str2);

运行结果:  

String 类的运用,java,开发语言

5.3替换首个内容 

String str="aa1212bbacbb";
String str3=str.replaceFirst("bb","ww");
System.out.println(str3);

运行结果:  

String 类的运用,java,开发语言

 


6.字符串拆分

6.1String[] split(String regex)

将字符串全部拆分
String str="123 0 456 789";
String arr[]=str.split(" ");
for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}

运行结果:  

String 类的运用,java,开发语言

 6.2String[] split(String regex, int limit)

将字符串以指定的格式,拆分为limit组
String str="123 0 456 789";
String arr[]=str.split(" ",2);
for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}

运行结果:  

String 类的运用,java,开发语言

拆分是特别常用的操作. 一定要重点掌握. 另外有些特殊字符作为分割符可能无法正确切分, 需要加上转义.  

注意事项 :
1. 字符 "|","*","+" 都得加上转义字符,前面加上 "\\" .
2. 而如果是 "\\" ,那么就得写成 "\\\\" .
3. 如果一个字符串中有多个分隔符,可以用 "|" 作为连字符 .
String str = "name\\wang*age=21";
String arr1[]=str.split("\\*|\\\\");
for (int i = 0; i < arr1.length; i++) {
    System.out.println(arr1[i]);
}

运行结果:  

String 类的运用,java,开发语言

 


7 字符串截取

从一个完整的字符串之中截取出部分内容。

7.1String substring(int beginIndex)

从指定索引截取到结尾
String str="123abcwang";
System.out.println(str.substring(4));

运行结果: 

String 类的运用,java,开发语言

7.2String substring(int beginIndex, int endIndex)

截取部分内容
String str="123abcwang";
System.out.println(str.substring(4,7));

运行结果: 

String 类的运用,java,开发语言

注意事项 :
1. 索引从 0 开始
2. 注意前闭后开区间的写法 , substring(0, 5) 表示包含 0 号下标的字符 , 不包含 5 号下标

8.String trim()

去掉字符串中的左右空格,保留中间空格
String str = " hello world " ;
System . out . println ( "[" + str + "]" );
System . out . println ( "[" + str . trim () + "]" );

运行结果: 

String 类的运用,java,开发语言


以上为我个人的小分享,如有问题,欢迎讨论!!! 

都看到这了,不如关注一下,给个免费的赞 String 类的运用,java,开发语言

String 类的运用,java,开发语言 文章来源地址https://www.toymoban.com/news/detail-635993.html

到了这里,关于String 类的运用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 鸿蒙开发:深入了解Arkts语言中的Want对象及其运用

    Arkts语言中的 Want 是一种用于对象间信息传递的载体,主要用于应用组件之间的信息传递。本文将深入探讨 Want 的定义、用途、类型以及参数说明

    2024年02月04日
    浏览(38)
  • 鸿蒙开发:深入了解Arkts语言中的Want对象及其运用【鸿蒙专栏-23】

    Arkts语言中的 Want 是一种用于对象间信息传递的载体,主要用于应用组件之间的信息传递。本文将深入探讨 Want 的定义、用途、类型以及参数说明

    2024年02月05日
    浏览(38)
  • Java语言------四种内部类的详细讲解

    目录 一.内部类的介绍 二.内部类的种类 2.1实例内部类       2.2.静态内部类 2.3局部内部类 2.4匿名内部类 总结        内部类: 一个类定义在  另一个类  的  内部。        内部类分为 四种 : 实例内部类、静态内部类、局部内部类、匿名内部类。 使用时机:当一个事

    2023年04月25日
    浏览(33)
  • 《string类的使用介绍》

    本文主要介绍string的常见的接口的使用 字符串是 表示字符序列的类 标准的字符串类提供了对此类对象的支持,其接口类似于标准字符容器的接口,但添加了专门用于操作单字节字符字符串的设计特性。 string类是使用char(即作为它的字符类型,使用它的默认char_traits和分配器

    2024年02月03日
    浏览(31)
  • string类的函数讲解

    首先关于string类的了解,我先给出官方的string类的讲解,以便于大家的学习:链接: http://www.cplusplus.com/reference/string/string/?kw=string 这个网站是C++官方网站,里面对于各个和库函数的讲解都是很官方的,大家有需要的时候可以参考 我们对string类进行一个简单的总结: st

    2024年02月03日
    浏览(27)
  • string类的模拟实现

    上一篇博客我们对string类函数进行了讲解,今天我们就对string类进行模拟实现,以便于大家更加深入地了解string类函数的应用 由于C++的库里面本身就有一个string类,所以我们为了不让编译器混淆视听,我们可以首先将我们自己模拟实现的string类放入一个我们自己定义的命名空

    2024年01月21日
    浏览(25)
  • 【c++】string类的使用

    目录 一、标准库中的string类 1、简单介绍string类 2、string类的常用接口注意事项 2.1、string类对象的常用构造 2.2、string类对象的容量操作 2.3、string类对象的访问及遍历操作 2.4、string类对象的修改操作 二、string类的模拟实现         (1)string是表示字符串的字符串类;    

    2024年02月01日
    浏览(62)
  • 【C++】string类的模拟实现

    前言:在上一篇中我们讲到了string类的使用方法,今天我们将进一步的去学习string类,去底层看看它顺带模拟实现部分的内容。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:高质量C++学习 👈 💯代码仓库:卫卫周大胖的学习日记💫 💪关注博主和博主一起学习!一起努

    2024年03月21日
    浏览(30)
  • 【C++】String类的模拟实现。

    🎉博客主页:小智_x0___0x_ 🎉欢迎关注:👍点赞🙌收藏✍️留言 🎉系列专栏:C++初阶 🎉代码仓库:小智的代码仓库 string类中需要三个成员变量分别记录元素个数、容量和内容。还需要一个 size_t 类型npos-1表示整型的最大值。 这段代码是 string 类的构造函数。构造函数是在

    2024年02月13日
    浏览(29)
  • 【C++】string类的深入介绍

    作者:爱写代码的刚子 时间:2023.5.26 本篇博客主要深入介绍string类、string类的常用接口及操作,string中迭代器的使用,以及string中的部分方法。(由于篇幅有限,剩余方法以及string的深浅拷贝将在之后的博客介绍) 前言:C语言中,字符串是以’\\0’结尾的一些字符的集合,

    2024年02月08日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包