Java 中的字符串函数 | Java 字符串 [附示例]

已发表: 2020-12-01

目录

介绍

Java因其面向对象的编程支持和为数据类型提供的预定义函数而在程序员中赢得了很多尊重。 字符串是 java 提供的令人印象深刻的数据类型之一。

它们是不可变的,并存储在称为字符串常量池的单独内存块中的堆区域中。 java中有很多字符串的预定义函数,让我们来探索一下吧!

职能

字符()

要访问特定位置的字符,我们不需要循环来迭代该索引,charAt() 函数为您完成了艰苦的工作! charAt() 函数返回字符串中特定位置的字符,记住在 java 中索引从 0 开始。

此函数使用访问修饰符定义为 public 并返回一个字符。 此方法需要一个整数作为参数,使用大于字符串长度的参数访问函数会返回 IndexOutOfBounds 异常,这是一个运行时异常。

字符串str = 你好

字符优先= str 字符( 0 );

字符= str 字符( 1 );

系统 出来 println(第一个+ +第二个);

上面的代码段将给出“h e”作为输出,因为变量 first 被分配了字符“h”,而变量 second 被分配了字符“e”。

compareTo() 和 compareToIgnoreCase()

比较两个字符串将无法使用 java 中的 == 运算符,因为它会检查两个变量的地址,如果两个变量具有相同的地址,则返回 true。 因此 == 运算符无法比较字符串的内容,这时 compareTo() 方法开始起作用。

此公共方法需要一个字符串或一个对象作为要比较的参数,并在字典比较后返回一个整数值,请记住此方法区分大小写。 但是我们可以使用 compareToIgnoreCase() 来进行忽略字符的小写和大写的比较。

字符串str1 = 你好

字符串str2 = 你好

字符串str3 = 你好

诠释i1 = str1 comapreTo(str2);

诠释i2 = str2 比较(str3);

诠释i3 = str2 compareToIgnoreCase(str3);

系统 出来 println(i1 + " " i2 + " " + i3);

上面的代码片段将打印 '1 0 1' 作为输出,因为变量 i1 被赋值为 1,因为两个字符串相等,变量 i2 被赋值为 0,因为我们正在按区分大小写比较字符串。 同样,变量 i3 被赋值为 1,因为我们通过忽略大小写来比较字符串。

连接()

由于字符串是不可变的,我们不能编辑字符串的值,而是可以将更新后的值重新分配给同一个变量。 我们可以使用 concat() 方法来连接两个字符串。 此方法需要一个字符串作为要连接的参数并返回一个新的连接字符串。

字符串s1 = 第一个

字符串s2 =

系统 出来 println(s1 . concat(s2));

上面的代码片段打印了一个字符串“first second”。

阅读: JavaBeans 属性和优势:您应该如何利用?

包含()

检查一个字符串是否作为另一个字符串的子序列存在现在是小菜一碟。 Java 中的 contains() 方法是一个布尔公共函数,如果字符串中存在字符序列,则返回 true,否则返回 false。 此方法需要一个字符序列作为参数,如果一个空对象作为参数传递,则返回 NullPointerException。

字符串s1 = 你好

系统 出来 println(s1 . contains( ) ); //第1行

系统 出来 println(s1 . contains( “” )); //第2行

系统 出来 println(s1 .包含( null )); //第3行

上面的代码片段为第 1 行打印 True,因为字符串中存在序列“the”,类似地,第 2 行打印 True,因为空序列默认返回 True。 第 3 行抛出一个 NullPointerException,因为一个 null 被传递了一个参数。

指数()

我们已经看到了一个 java 函数,它返回给定索引处出现的字符,但是如果我们想要给定字符第一次出现的索引怎么办。 放松,indexOf() 函数完成了这项工作。 这个函数在内部被四个不同的签名覆盖,让我们来看看它们。

字符串s1 = 嘿那里,嘿那里,嘿那里,嘿那里

系统 出来 println(s1 . indexOf( 那里 )); //第 1 行

系统 出来 println(s1 . indexOf( 那里 , 5 )); //第 2 行

系统 出来 println( s1.indexOf ( ' T ' )); //第 3 行

系统 出来 println(s1 . indexOf( ' T ' , 16 )); //第 4 行

在上面的代码片段中,在 line1 中调用的函数需要一个字符串,它返回给定字符串第一次出现的起始索引,在这种情况下它打印 4。 在 line2 中调用的函数需要一个字符串和一个整数作为参数,现在这个整数是指从该索引开始搜索给定字符串的起始索引,在这种情况下它打印 37。

在 line3 中调用的函数需要一个字符作为参数,它返回给定字符的第一次出现,在这种情况下它打印 15。 类似地,第 4 行中的函数需要一个字符和一个整数。

如果整数表示起始索引,然后从该字符开始搜索给定字符,在这种情况下会打印 26。 请记住,此函数完全区分大小写,我们可以在上面的代码片段中看到。

是空的()

这个函数完成了一项简单的任务,但从程序员的角度来看是一个非常有用的任务。 如果字符串为空,此布尔函数返回 True,否则返回 False。 此函数有助于在对字符串执行任何任务之前检查字符串是否为空,因为很少有函数会为空字符串引发异常,从而中断执行流程。

字符串s1 = 你好

字符串s2 = “” ;

系统 出来 println(s1 .isEmpty ()); //第1行

系统 出来 println(s2 .isEmpty ()); //第2行

上面的代码段为 line1 打印 False,为 line2 打印 True。

长度()

找出字符串的长度不再是一项繁琐的任务,java中的length()函数返回给定字符串的长度。 如果将空字符串作为参数传递,则返回零。

字符串s1 = abcdefghijklmnopqrstuvwxyz

系统 出来 println(s1 .length ()) ;

上面的代码打印 26。

代替()

与 indexOf() 函数只返回序列的第一次出现不同,replace() 函数用给定的新字符替换所有指定的字符并返回一个新字符串。 这个公共函数需要两个字符,比如 c1 和 c2 作为参数。 它搜索等于 c1 的所有字符并用 c2 替换它们。

字符串s1 = 你好

系统 出来 println(s1 .replace ( ' l ' , ' p ' ) );

记住这个函数是区分大小写的,所以上面的代码片段打印出“heppoHELLO”。

toLowerCase() 和 toUpperCase()

将字符串转换为小写或反之是java中的一项有趣的任务,它只需要一行代码的艺术,而toLowerCase()、toUpperCase()函数是艺术家。

这些公共函数不需要参数,并返回一个新字符串,其中包含更新的大小写字符。

字符串s1 = 你好

系统 出来 println(s1 . toUpperCase()); //第1行

系统 出来 println(s1 . toLowerCase()); //第2行

在上面的代码片段中,line2 打印“hey there”,line1 打印“hey there”。

学习: Java 中的事件处理:这是什么以及它是如何工作的?

修剪()

删除字符串中尾随和前导空格的一种天真的方法是循环字符串并删除字符(如果它是空格),但有一种最佳方法。 trim() 函数删除字符串的所有前导和尾随空格并返回一个新字符串。 这个公共函数不需要任何参数。

字符串s1 = 你好

系统 出来 println(s1 .trim ());

上面的代码片段打印出“Hey There”,这是修剪尾随和前导空格后的新字符串。

结论

我们已经浏览了 Java 中的一些字符串函数,了解了它们的工作原理、期望值以及返回值。 探索了几个函数的重写签名,通过示例代码片段进行正确理解。 现在您已经了解了一些功能,请在需要时开始使用它们。

如果您有兴趣了解有关 Java、OOP 和全栈软件开发的更多信息,请查看 upGrad 和 IIIT-B 的全栈软件开发 PG 文凭,该文凭专为在职专业人士设计,提供 500 多个小时的严格培训,9 + 项目和任务、IIIT-B 校友身份、实用的实践顶点项目和顶级公司的工作协助。

为未来的职业做准备

行业值得信赖的学习 - 行业认可的认证。
了解更多