字符串的创建、比较、拼接和反转

本文详细介绍了Java中String类的使用,包括String对象的创建方法、字符串的比较方式、以及字符串拼接与反转的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、String概述

1.String是java定义好的一个类,定义在java.lang包下,这个包在使用的时候不用导包。

2.java程序中的所有字符串文字(例如:"abc")都被为此类的对象。

3.字符串不可变,它们的值在创建后不能被更改。

二、创建String对象的两种方式

1.直接赋值

String name = "abc";

2.new

构造方法说明
public String()创建空白字符串,不含任何内容
public String(String original)根据传入的字符串,创建字符串对象
public String(char[ ] chs)根据字符数组,创建字符串对象
public String(byte[ ] chs)根据字符数组,创建字符串对象

public class Practice1 {
    public static void main(String[] args) {
        //使用new的方式来获取一个字符串对象
        //空参构造:可以获得一个空白的字符串对象
        String d2 = new String();
        System.out.println("@" + d2 + "*");
        //传递一个字符串,根据传递的字符串内容在创建一个新的字符串对象
        String s3 = new String("abc");
        System.out.println(s3);
        //传递一个字符数组,根据字符数组的内容在创建一个新的字符对象
        //需求:修改字符串的内容    {‘a’,'b','c'}  >  {'x','b','c'}
        char[] chs1 = {'a','b','c','d','e'};
        String s4 = new String(chs1);
        System.out.println(s4);
        //传递一个字符数组,根据字符数组的内容在创建一个新的字符对象
        //应用场景:在网络中传输的数据其实都是字节信息
        //我们一般会把字节信息进行转换,转换成字符串,此时就要用到这个构造
        byte[] b1 = {97,98,99};
        String s5 = new String(b1);
        System.out.println(s5);
    }

}

结果如下:

@*
abc
abcde
abc

三、字符串的比较

==号比的到底是什么?

1.基本数据类型比较的是数据值

int a = 10;
int b = 30;
System.out.print(a == b);//false

2.引用数据类型比较的是地址值

String s1 = new String("abc");
String s2 = new String("abc");
System.out.print(s1 == s2);//false

equals方法以及equalslgnoreCase

boolean equals(要比较的字符串)    完全一样结果才是true,否则为false

boolean equalslgnoreCase(要比较的字符串)   忽略大小写的比较

        String s1 = new String("abc");
        String s2 = "abc";
        boolean r1 = s1.equals(s2);
        System.out.println(r1);
        //忽略大小写只能是英文状态下的a A
        boolean r2 = s1.equalsIgnoreCase(s2);
        System.out.println(r2);


        结果:true
              true

四、字符串的拼接、反转

字符串的拼接案例:

//把数组{1,2,3}拼接成[1,2,3]
public class Practice2 {
    public static void main(String[] args) {
      int[] arr = {1,2,3};
      System.out.println(arrToString(arr));
    }
    public static String arrToString(int[] arr) {
        if (arr == null) {
            return "";
        }
        if (arr.length == 0) {
            return "[]";
        }
        String result = "[";
        for (int i = 0; i < arr.length; i++) {
            if (i == arr.length - 1) {
                result = result + arr[i];
            }else {
                result = result + arr[i] + ",";
            }
        }
        result = result + "]" ;
        return result;
    }
}

结果:[1,2,3]

字符串的反转案例:

//把abc 进行反转为  cba
public class Practice3 {
    public static void main(String[] args) {
        String result = reversere("abc");
        System.out.println(result);
    }
    public static String reversere(String str){
        String result = "";
        for (int i = str.length() - 1; i >= 0; i--) {
            char c = str.charAt(i);
            result = result + c;
        }
        return result;
    }
}

结果:cba

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值