博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java学习总结:飘逸的字符串
阅读量:4963 次
发布时间:2019-06-12

本文共 2428 字,大约阅读时间需要 8 分钟。

Java学习:飘逸的字符串

前言

相信不管我们运用Java语言来开发项目还是进行数据分析处理,都要运用到和字符串相关的处理方法。这个社会处处有着和字符串相关的影子:日志、文档、书籍等。既然我们离不开字符串,那么就来好好认识一下吧。

怎么构造一个字符串?

Java语言里,有两种方法来创建一个字符串对象:一是用字符串直接量

1 String message=new String("Welcome to Java");2 String message2="Welcome to Java";

二是通过字符数组。

1 char[] array={'G','o','o','d',' ','D','a','y'};2 String message3=new String(array);

注意String变量存储的是对String对象的引用,String对象里存储的才是字符串的值。所以严格的说,术语String变量、String对象和字符串值是不同的,只是平常我们为了简单起见,都统称为字符串而已。

不可变?字符串这么拽!

String对象是不可变的,它的内容是不能改变的。比如下面的两行代码:

1 String s="Java";2 s="html";

第一条语句创建了内容为“Java”的String对象,并将其引用赋值给s。第二条语句创建了一个内容为“html”的新String对象,并将其赋值给s。所以执行这两条语句之后,两个String的对象都没有改变,并且其中的内容也没有发生变化,只是s变量最后指向了新的String对象。

字符串的比较

一旦看到比较两字,我们想到的是“==”。然而,运算符==只能检测字符串String1String2是否指向同一个对象,但它不会告诉我们它们的内容是否相同。因此Java里面判断字符串是否相同,我们应该使用equals方法或者compareTo方法。

1 String s1=new String("Welcome to Java");2 String s2="Welcome to Java";3 String s3="Welcome to C++";4 String s4="welcome TO java";5 System.out.println(s1.equals(s2));6 System.out.println(s1.equals(s3));7 System.out.println(s1.compareTo(s2));

补充:当比较两个字符串是否相等的时候,方法equalsIgnoreCasecompareToIgnoreCase可以先忽略字母大小写然后进行比较。

1 System.out.println(s1.equalsIgnoreCase(s4));2 System.out.println(s2.compareToIgnoreCase(s4));

字符串长度、字符和组合字符串

lengthString类的一个方法,但它是数组对象的一个属性,所以,我们要获取字符串s的字符个数,就要使用s.length()。方法s.charAt(index)可用于提取字符串s的某个特定字符,其中下标index的取值范围在0s.length()-1之间。

另外,我们可以使用concat方法连接两个字符串。如下代码所示,将字符串s1s2连接构成了s3

1 String ss="BaiYi";2 String ss2="ShaoNian";3 String ss3=ss.concat(ss2);4 System.out.println(ss3);

当然了,好像平常我们更倾向于更简单的方法,那就是直接使用加号(+)来连接两个或者更多的字符串构成新的字符串。

怎么样获取子串呢?

前面已经提到了我们可以通过charAt方法来获取字符串的任意一个单字符,但是获取它的子串应该怎么办呢?我们就用substring方法。

1 System.out.println("Welcome to Java".substring(0,11) + "C++");

字符串的转换、替换和分隔方法,学习ing...

toLowerCase:返回将所有字符都转换为小写之后的新字符串

toUpperCase:返回将所有字符都转换为大写之后的新字符串

trim:返回去掉两端的空白字符之后的新字符串

replace:返回用一个新子串替换这个字符串中所有和它匹配的字符的新字符串

replaceFirst:返回用一个新子串替换这个字符串中第一个和它匹配的子串之后的新字符串

replaceAll:返回用一个新子串替换这个字符串中所有和它匹配的子串之后的新字符串

split:返回用定界符分隔的子串所构成的一个字符串数组

1 System.out.println("Welcome TO".toLowerCase()); 2 System.out.println("Welcome to".toUpperCase()); 3 System.out.println(" Welcome to ".trim()); 4 System.out.println("Welcome to".replace('e','A')); 5 System.out.println("Welcome to".replaceFirst("e","ABC")); 6 System.out.println("Welcome to".replaceAll("e","AB")); 7          8 String[] str="Java#HTML#C++".split("#",0); 9 for (int i=0; i

转载于:https://www.cnblogs.com/BaiYiShaoNian/p/4836936.html

你可能感兴趣的文章
Time Complexity of Loop with Powers
查看>>
python高级特性
查看>>
Linux编程之PING的实现
查看>>
[iOS开发]ShareSDK
查看>>
上一家公司倒闭,为什么我又来了创业公司?
查看>>
最大正方形 · Maximal Square
查看>>
746. Min Cost Climbing Stairs 最不费力的加权爬楼梯
查看>>
PHP中面向对象的关键字
查看>>
解决mac pro 软件损坏
查看>>
python如何简单的处理图片(1):打开\显示
查看>>
来简书坚持一个月日更之后
查看>>
程序员如何利用空余时间挣零花钱?
查看>>
美食小记
查看>>
Java笔记——关于线程同步
查看>>
Java 7 中 NIO.2 的使用——第一节 Path 类的使用
查看>>
我一直记不住的vim用法
查看>>
使QScrollArea的背景透明,并且不影响子控件
查看>>
最完美的毁尸灭迹:皮箱连环弃尸案始末
查看>>
tempdb过大事故记录-sqlserver
查看>>
ASP.NET Core远程调试
查看>>