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及其方法的使用,快五千字了,大学生很容易猝死的呀,累死我了。

相关文章
|
3天前
|
C++ 容器
C++字符串string容器(构造、赋值、拼接、查找、替换、比较、存取、插入、删除、子串)
C++字符串string容器(构造、赋值、拼接、查找、替换、比较、存取、插入、删除、子串)
12 1
|
2天前
|
存储 Java API
Java基础之String类
Java的String类是引用类型,用于创建和操作字符串。字符串对象在`java.lang`包中,不可变。创建方式包括字面量和`new`关键字。字符串池存储字符串常量,避免重复。比较字符串用`equals()`(区分大小写)和`equalsIgnoreCase()`(不区分大小写)。`length()`返回长度,`concat()`或`+`拼接,`substring()`截取,`indexOf()`和`lastIndexOf()`查找,`replace()`替换,`split()`分割。这些是常用的字符串API。
7 0
|
2天前
|
Java
Java基础之String类
Java基础之String类
8 0
|
4天前
|
存储
MyString:string类的模拟实现
MyString:string类的模拟实现
|
4天前
string类重要接口(2):`+=`
string类重要接口(2):`+=`
|
4天前
string类:`reserve()`,`resize()`详解
string类:`reserve()`,`resize()`详解
|
6天前
|
Java UED
Java中String强转int:一种常见的错误和解决方法
在Java中将非数字字符串转换为整数会导致`NumberFormatException`。要解决这个问题,可以使用`try-catch`捕获异常,正则表达式验证数字格式,或利用异常信息提供错误提示。例如,`Integer.parseInt()`会因遇到非数字字符如`"123abc"`而抛出异常,但通过异常处理或正则`\\d+`可确保安全转换。记得在编程时避免直接强转,以防止程序异常中断。
|
1天前
|
安全 Java
Java基础之StringBuffer
Java中的`StringBuffer`是线程安全的可变字符串,适用于多线程环境,其方法同步导致较慢。`StringBuilder`在Java 5引入,非线程安全但更快,适合单线程操作。两者均提供append、insert、delete等方法。在不需要线程安全时,选择`StringBuilder`以提升效率。
8 1
|
5天前
|
Java 数据处理 Apache
探讨Java中判断String类型为空和null的方法
探讨Java中判断String类型为空和null的方法
11 1
|
8天前
|
Java API 索引
java中String类常用API
java中String类常用API