String类即字符串的相关方法

简介: String类即字符串的相关方法

前言

       众所周知,现主流的编程语言都是以英文为计算机所识别,所以当中国程序员想要创建一种,可以操纵中文的,数据类型时,String字符串类型,便有了极大的帮助。

一、字符串是什么?

       字符串,String,是一种数据类型。所有被输入法录入的文字,都可以以字符串的数据类型,被电脑所操作。

二、使用方法

1.String类

        (1)声明字符串

               语法: String  对象;

                           String 对象,对象,对象;

String a;
String a,b,c;

(2)创建字符串

                a. 直接创建字符串常量

                       示例:

                        第壹种:

String a = "天生我材必有用";
//创建的 a 对象 可以打印输出引号中的内容

          第贰种:

String b ="人生得意须尽欢", c ="莫使金樽空对月";
//创建的 b对象 c对象 可以打印输出引号中的内容

   第叁种:

String str1,str2;
str1 = "We are men";
str2 = "We are fighting";
//创建的 str1对象 str2对象 可以打印输出引号中的内容

 b.通过构造方法 实例化 字符串常量

String a = new String("考研难,难于上青天");
String b = new String(a);
//创建的 b 对象 可以打印输出引号中的内容

 c.通过字符数组 实例化 字符串常量

                       第壹种

char charArray[] ={'t','i','m','e'};
String a = new String(charArray);
/*创建的 a 对象 可以打印输出引号中的内容   
* 输出结果:time
*/

 第贰种  构造方法 public String(字节数组,获取的起始位置,获取的个数)

char charArray[] ={'时','间','就','是','金','钱'};
String a = new String(charArray,4,2);
/*创建的 a 对象 可以打印输出引号中的内容
*数组是从0开始计数 获取的个数从1开始计数
*输出结果:金钱
*/

2.字符串的相关方法

       (1)连接字符串

               a.使用“+”运算符

String a ="123"+"456";
//输出结果:123456
String b = a+"789";
//输出结果:123456789

    b.使用“+=”运算符 (变量对象的名字过长时 尤其推荐使用)

String somethingAboutString ="123";
somethingAboutString +="456";
/*创建的 somethingAboutString 对象 可以打印输出引号中的内容
* 输出结果:123456
*/

 (2)获取字符串的长度

                length()方法:获取到创建的字符串长度

String a = "0123456789";
int size = a.length();
/*创建的 size 对象 可以打印输出引号中的内容
* 输出结果:10
*/

(3)查找字符串是否存在

                indexOf(" ")方法:判断字符串中是否有" "中的字符串

                                               结果为true  返回值 为索引位置的数字 >=0

                                               结果为false 返回值 为 -1        

String object1, object2;
object1 = "8888";
object2 = "888B";
//num2中最后一位为B 不是 8
if(num1.indexOf("B")>-1){
    System.out.println("物品1编码中包含B");
}else{
    System.out.println("物品1编码中不包含B");
}
/* object1 中 8888 不含B 返回值为 -1
*  输出结果:物品1编码中不包含B
*/
if(num2.indexOf("B")>-1){
    System.out.println("物品2编码中包含B");
}else{
    System.out.println("物品2编码中不包含B");
}
/* object2 中 888B 含B 返回值为 3
*  输出结果:物品2编码中包含B
*/

(4)获取指定字符串及其位置        

               chatAt()方法:获取对应索引位置的子字符

String name = "Peter";
char ch = name.charAt(0);
/*创建的 ch 对象 可以打印输出引号中的内容
* 输出内容:P
*/1. St

  indexOf()方法:

                       a.获取第一次出现的索引

String str = "No war in the world";
int index = str.indexOf("e");
/*从0开始从左往右数,算上空格,字符串中第一个e在12
* 输出结果:12
*/1. S

     b.从指定位置开始查

String str = "We are the world";
int index =str.indexOf("e",3);
/* 从第三个位置开始索引,搜索到 are 中的 e ,此 e 在整个字符串中位于第五位
*  打印 index 的输出结果:5
*/

   c.获取最后一次出现的索引

String str = "Let it go!Let it go!";
int lastIndex = str.lastInedxOf("t");
/* 索引整个字符串中最后一个 t,在 it 中 搜索到 t, t 位于整个字符串中的第十五位 
*  打印 lastIndex ,输出结果:15
*/

    d.从指定位置往前查

String str = "Let it go!Let it go!";
int lastIndex =str.lastInedxOf("t",14);
/*从整体字符串的第十四位开始往前数,从 it 中的 i 往前数,检索到let 中的 t,处于第 12 位
* 打印 lastIndex 输出结果:12
*/

(5)获取子字符串

               substring()方法:截取字符串

                       a.从某个位置开始截取字符串

String id ="123456193108047890";
String birthday =id.substring(6);
/*substring()方法 从整体字符串第 6 位开始截取
* 打印 birthday 对象,输出结果:193108047890
*/

    b.截取整体字符串中的部分子字符串

String id ="123456193108047890";
String birthday =id.substring(6,14);
/*截取整体字符串第 6 位到第 13 位的子字符串
* 打印 birthday 对象,输出结果:19310804
*/

(6)去除字符串中的空格

               trim()方法

                       a.去除字符串左右两边的空格

String str ="    a b  c    ";
String shortStr =str.trim();
System.out.println("["+str+"]");
System.out.println("["+shortStr+"]");
/* trim()方法 去除了 str 对象 整体字符串中 左右两边的空格 赋值给了shortStr
*  打印 str 对象,     输出结果:[    a b  c    ]
*  打印 shortStr 对象,输出结果:[a b  c]
*/

   b.去除字符串中所有的空格

String str ="a b  c  d   e     f   ";
String shortStr =str.replaceAll("\\s","");
/* replaceAll()方法 去除了str对象中的 所有空格 赋值给了 shortStr 对象
*  打印 shortStr 对象 输出结果: abcdef
*/

(7) 字符串替换

               replace()方法:

String str ="馒头一文一个";
String replaceStr =str.replace("一","壹");
/* replace()方法 将整体字符串中的 一 全部替换成 壹
*  打印 str 对象 输出结果:馒头一文一个
*  打印 replaceStr 对象 输出结果:馒头壹文壹个
*/

(8)判断字符串的开始与结束

               endsWith()方法:判断字符串的结尾

String fileName ="HellowWorld.java";
boolean bool1 =fileName.endsWith(".java");
boolean bool2 =fileName.endsWith(".jpg");
/* endsWith()方法 判断整体字符串结尾 是否为某一特定 结尾 返回值 true of false
*  打印 bool1 对象 输出结果:true
*  打印 bool2 对象 输出结果:false
*/

  startsWith()方法:判断字符串的开始

String str ="新华社记者从前方发来报道...";
boolean bool1 =str.startsWith("新华社");
boolean bool2 =str.startsWith("新华书店");
/* startsWith()方法 判断整体字符串开始 是否为某一特定 开始 返回值 true of false
*  打印 bool1 对象 输出结果:true
*  打印 bool2 对象 输出结果:false
*/

(9)判断字符串是否相等

                equals()方法:

String name1 = new String("tom");
String name2 = new String("tom");
Boolean bool =name1.equals(name2);
/* equals()方法 判断 name1 与 name2 字符串内容相同 返回值为 true, 反之为 false
*  打印 bool 对象 输出结果:true
*/

  equalsIgnoreCase()方法:忽略字母大小写,对字符串进行对比

String str1 = new String("abc");
String str2 = new String("ABC");
Boolean bool = str1.equalsIgnoreCase(str2);
/* equalsIgnoreCase()方法 忽略字母大小进行对比 相同,返回值为true,不同则为 false
*  打印 bool 对象 输出结果:true
*/

(10)字母大小写的转换

               toUpperCase()方法:将字符串变成大写

               toLowerCase()方法:将字符串变成小写

String str ="abcDEF";
String strLow =str.toLowerCase();
String strUp =str.toUpperCase();
/* toLowerCase()方法 将整体字符串中 所有字母 改为小写 赋值给了 strLow 对象
*  toUpperCase()方法 将整体字符串中 所有字母 改为大写 赋值给了 strUp 对象
*  打印 strLow 对象 输出结果:abcdef
*  打印 strUp 对象  输出结果:ABCDEF
*/

11)字符串分割

               split()方法:

                       a.将字符串按照指定符号分割成数组

String str ="abc,def,ghi";
String strArray[] = str.split(",");
for(String tmp:strArray){
    System.out.println(tmp);
}
/* split()方法 指定符号 分割字符串
*  输出结果:abc
*           def
*           ghi
*/

     b.通过参数限定分割的次数

String str ="192.168.0.1";
String firstArray[] = str.split("\\.");
//上面这个是和 有数字限定分割次数的 进行对比
String secondArray[] = str.split("\\.",2);
/* split("",数字)方法 可以限定分割的次数 需要分割的次数+1=方法中填的数字
*  打印 firstArray 对象  输出结果:192 168 0 1
*  打印 secondArray 对象 输出结果:192 168.0.1
*/

总结

       以上就是今天要讲的内容,本文仅仅简单介绍了String及其方法的使用,快五千字了,大学生很容易猝死的呀,累死我了。

相关文章
|
10天前
|
Python
Python中的f-string:更优雅的字符串格式化
Python中的f-string:更优雅的字符串格式化
193 100
|
10天前
|
开发者 Python
Python中的f-string:高效字符串格式化的利器
Python中的f-string:高效字符串格式化的利器
210 99
|
13天前
|
Python
Python中的f-string:更优雅的字符串格式化
Python中的f-string:更优雅的字符串格式化
|
13天前
|
开发者 Python
Python f-string:高效字符串格式化的艺术
Python f-string:高效字符串格式化的艺术
|
2月前
|
Python
Python中的f-string:更简洁的字符串格式化
Python中的f-string:更简洁的字符串格式化
214 92
|
3月前
|
自然语言处理 Java Apache
在Java中将String字符串转换为算术表达式并计算
具体的实现逻辑需要填写在 `Tokenizer`和 `ExpressionParser`类中,这里只提供了大概的框架。在实际实现时 `Tokenizer`应该提供分词逻辑,把输入的字符串转换成Token序列。而 `ExpressionParser`应当通过递归下降的方式依次解析
221 14
|
4月前
|
存储 编译器 C语言
关于string的‘\0‘与string,vector构造特点,反迭代器与迭代器类等的讨论
你真的了解string的'\0'么?你知道创建一个string a("abcddddddddddddddddddddddddd", 16);这样的string对象要创建多少个对象么?你知道string与vector进行扩容时进行了怎么的操作么?你知道怎么求Vector 最大 最小值 索引 位置么?
82 0
|
7月前
|
缓存 安全 Java
《从头开始学java,一天一个知识点》之:字符串处理:String类的核心API
🌱 **《字符串处理:String类的核心API》一分钟速通!** 本文快速介绍Java中String类的3个高频API:`substring`、`indexOf`和`split`,并通过代码示例展示其用法。重点提示:`substring`的结束索引不包含该位置,`split`支持正则表达式。进一步探讨了String不可变性的高效设计原理及企业级编码规范,如避免使用`new String()`、拼接时使用`StringBuilder`等。最后通过互动解密游戏帮助读者巩固知识。 (上一篇:《多维数组与常见操作》 | 下一篇预告:《输入与输出:Scanner与System类》)
149 11