Java的编程之旅35——String对字符串的操作

目录

1.字符串的获取

1.获取空字符串

2.字符数组获取字符串

3.直接获取

2.字符串比较

3.String类的常用方法

1.返回给定索引位置的对应字符

2.比较字符串的大小

 3.字符串的连接

4.返回字节数组

5.查找给定字符所在的位置

6.返回字符串长度

7.拆分字符

8.截取字符串

9.返回字符数组

10.去掉两端多余空格

 11.判断是否为空串


1.字符串的获取

基本语法形式:

String s =  new String(<参数>);

1.获取空字符串

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

2.字符数组获取字符串

方法1:

char[] arr = {"J","a","v","a"};
String s2 = new String(arr);
System.out.println(s2);

 方法2:

byte[] b = "JavaSE".getBytes();
System.out.println(Arrays.toString(b));
String s = new String(b);
System.out.println(s);

3.直接获取

String s3 = "Java";
System.out.println(s3);

2.字符串比较

String s1 = "Hello";
String s2 = new Scanner(System.in).nextLine();
if(s1 == s2){  //字符串引用数据类型使用==判断时,比较的是内存地址
   System.out.println("相等");
}else {
   System.out.println("不等");
}

if(s1.equals(s2)){  //字符串引用数据类型使用equals判断时,比较的是大小
   System.out.println("相等");
}else{
   System.out.println("不等");
}
    

这段代码首先定义了一个字符串s1为"Hello",然后通过用户输入获取了一个字符串s2

接下来,通过使用==运算符来判断s1s2是否相等。由于字符串是引用数据类型,使用==运算符比较的是两个字符串对象的内存地址。在这个示例中,由于s1s2分别是不同的字符串对象,它们的内存地址是不同的,因此if条件不成立,输出"不等"。

接着,使用equals()方法来比较s1s2的字符串内容是否相等。equals()方法比较的是字符串的内容而不是内存地址。在这个示例中,由于s1s2的字符串内容都是"Hello",所以if条件成立,输出"相等"。

所以,最终的输出结果是:"不等"和"相等"。

3.String类的常用方法

1.返回给定索引位置的对应字符

charAt()方法

String s = "qwertyu";
System.out.println(s.charAt(0));

2.比较字符串的大小

compareTo()方法 

String s1 = "qwertyu";
String s2 = "qwertyuiio";
System.out.println(s2.compareTo(s1));

这段代码首先定义了两个字符串s1为"qwertyu",s2为"qwertyuiio"。

然后使用s2.compareTo(s1)方法来比较s2s1的大小。compareTo()方法是字符串类的方法,用于比较两个字符串的大小关系。

该方法的返回值是一个整数,具体的返回值为:

  • 如果s2的字典顺序在s1之前,返回一个负整数。
  • 如果s2的字典顺序与s1相同,返回0。
  • 如果s2的字典顺序在s1之后,返回一个正整数。

在这个示例中,"qwertyuiio"在字典顺序上大于"qwertyu",因此s2.compareTo(s1)返回一个正整数。

所以,代码的输出结果是一个正整数。具体的数值可以根据具体的字典顺序确定。

 3.字符串的连接

concat()方法

System.out.println("Java".concat("SE"));

4.返回字节数组

        byte[] bytes = "Linux".getBytes();
        for (byte b :
                bytes) {
            System.out.print(b+" ");
        }

该段代码的作用是将字符串"Linux"转换为字节数组,并遍历字节数组打印每个字节的值。

首先,通过调用字符串的getBytes()方法将字符串转换为字节数组。该方法会将字符串按照默认的字符编码转换为字节数组。

然后,使用for-each循环遍历字节数组。在循环中,通过变量b依次获取字节数组中的每个字节。

最后,使用System.out.print()方法打印每个字节的值,由于字节是整数类型,所以会直接打印字节的整数值。

所以,代码的输出结果是字节数组中每个字节的整数值,以空格分隔。例如,对于字符串"Linux",它的字节数组表示为: 76 105 110 117 120

5.查找给定字符所在的位置

indexOf()方法

System.out.println("Linux".indexOf(110));
System.out.println("Linux".indexOf("n"));

6.返回字符串长度

.length()方法

System.out.println("JavaSE".length());

7.拆分字符

split()方法

String[] str = "hello,java".split(",");
for(String str : s){
    System.out.print(s+" ");
}

8.截取字符串

subString()方法

String substring = "asdfghjkkl".substring(3, 6);//[a(下标从0开始),b)
System.out.println(substring);

该段代码的作用是截取字符串"asdfghjkkl"的部分子串。

通过调用substring()方法,可以截取字符串的一部分。该方法接受两个参数,第一个参数是起始位置的索引(包括),第二个参数是结束位置的索引(不包括)。索引从0开始,表示字符串中的字符位置。

在代码中,substring(3, 6)表示从索引3(包括)开始到索引6(不包括)结束的子串。所以,截取的子串包括第4个字符(索引为3)到第6个字符(索引为5)。

最后,通过System.out.println()方法打印截取得到的子串。

所以,代码的输出结果是"fgh"。

9.返回字符数组

toCharArray()方法

        char[] chars = "huhshllaljodhuds".toCharArray();
        for (int i = 0; i < chars.length; i++) {
            System.out.print(chars[i]+" ");
        }

该段代码的作用是将字符串"huhshllaljodhuds"转换为字符数组,并逐个打印字符。

通过调用toCharArray()方法,可以将字符串转换为对应的字符数组。该方法将字符串中的每个字符以相同的顺序存储到一个字符数组中。

在代码中,"huhshllaljodhuds".toCharArray()将字符串"huhshllaljodhuds"转换为一个字符数组。然后通过for循环遍历字符数组,逐个打印数组中的字符。

最后,通过System.out.print()方法打印每个字符,并在字符之间添加一个空格。

所以,代码的输出结果是"h u h s h l l a l j o d h u d s"。

10.去掉两端多余空格

trim()方法

String trim = " hh  ".trim();
System.out.println(trim);

 11.判断是否为空串

isEmpty()方法

System.out.println("".isEmpty());//返回值为True,是空串
System.out.println("dshgf".isEmpty());//返回值为False,不是空串

  • 32
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

惊爆点大男主

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值