java字符串比较,遍历字符串,字符串拼接,字符串反转

本文介绍了Java中字符串的基本操作,包括如何进行字符串比较,例如在用户名密码登录场景中的应用;详细讲解了遍历字符串的方法;探讨了多种字符串拼接的技巧;并详细阐述了字符串反转的实现方式。

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

1.字符串比较

/*
    字符串的比较:
    使用==做比较:
        1)基本类型,比较的是数据值是否相同;
        2)引用类型,比较的是地址值是否相同。
    public boolean equals(Object,anobject);将此字符串与指定对象进行比较,由于我们比较的是字符串对象,所以参数直接传递一个字符串。
 */

public class student {
    public static void main(String[] args) {
        //构造方法的方式得到对象
        char [] chs={'a','b','c'};//有趣,竟然不能用双引号。这是因为“”中为Sting类型,报错也确实是类型问题。
        String s1 = new String(chs);
        String s2 = new String(chs);

        //直接赋值的方式得到对象
        String s3="abc";
        String s4="abc";

        //比较字符串对象地址是否相同
        System.out.println(s1==s2);
        System.out.println(s1==s3);
        System.out.println(s3==s4);
        System.out.println("--------");

        //比较字符串内容是否相同
        System.out.println(s1.equals(s2));//比较s1与s2的字符串内容是否相同。
        System.out.println(s1.equals(s3));
        System.out.println(s3.equals(s4));

    }
}

案例:用户名密码登录

import java.util.Scanner;

/*
    需求:已知用户名和密码,请用程序实现模拟用户登录,总共给3次机会,登录之后,给出相应的提示。
    思路:
    1)已知用户名和密码,定义2个字符串表示即可;
    2)scanner实现录入;
    3)字符串的内容比较,equals()方法实现;
    4)用循环实现多次机会,采用for循环实现,并在登录成功的时候,break结束循环。
 */
public class student{
    public static void main(String[] args) {
        //1)已知用户名和密码,定义2个字符串表示即可;
        String username="Jack";
        String password="123456";

        //4)用循环实现多次机会,采用for循环实现,并在登录成功的时候,break结束循环。
        for (int i=0;i<3;i++) {

            //2)scanner实现录入;
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入用户名:");
            String name = sc.nextLine();
            System.out.println("请输入密码:");
            String pwd = sc.nextLine();

            //3)字符串的内容比较,equals()方法实现;
            if (name.equals(username) && pwd.equals(password)) {
                System.out.println("登录成功");
            } else {
                System.out.println("登录失败,你还有" + (2 - i) + "次机会!");
            }
        }
    }

}

2.遍历字符串

/*
    遍历字符串:
    需求:键盘录入一个字符串,遍历它
    思路:
    1)scanner实现键盘录入;
    2)获取字符串中每一个字符,用public char charAt(int index):返回指定索引处的char值。
    3)字符串的长度;
    4)遍历字符串的通用格式:
    for (int x=0;x<s.length();x++){
        s.charAt(x)//就是索引x处的字符
    }
 */

import java.util.Scanner;

public class studentDemo {
    public static void main(String[] args) {
        //1)scanner实现键盘录入;
        Scanner sc = new Scanner(System.in);

        //提示信息
        System.out.println("请输入一个字符串:");
        String line = sc.nextLine();

        // 2)获取字符串中每一个字符,用public char charAt(int index):返回指定索引处的char值。
        System.out.print("[");
        for (int x=0;x<line.length();x++){
            //System.out.print("[");
            if (x==line.length()-1){
                System.out.print(line.charAt(x));
            }else{
                System.out.print(line.charAt(x)+",");
            }

        }
        System.out.println("]");

    }
}

3.字符串拼接

/*
    字符串拼接:
    需求:数组为 int [] arr ={1,2,3,4},输出为[1,2,3,4]
    思路:
    1)静态初始化这个数组;
    2)定义一个方法,将数组按指定格式返回;
    3)遍历数组,拼接;
    4)调用方法,变量接受;
    5)输出结果。
 */
public class studentDemo{
    public static void main(String[] args) {
        // 1)静态初始化这个数组;
        int [] arr={1,2,3,4};
        //调用方法
        String s = arraytoString(arr);

        //输出结果
        System.out.println(s);
    }
    //2)定义一个方法,将数组按指定格式返回;
    public static String arraytoString(int [] arr){//static 必不可少!!!
        String s="";
        s+="[";
        for (int x=0;x<arr.length;x++){
            if (x==arr.length-1){
                s+=arr[x];
            }else{
                s+=arr[x];
                s+=",";
            }
        }
        s+="]";
        return s;

    }

}

4.字符串反转

import java.util.Scanner;

/*
    字符串反转:
    需求:键盘录入字符串比如abc,输出cba。
    思路:
    1)scanner实现键盘录入;
    2)定义一个方法(2个注意,注意返回值类型:String;注意参数:String s),实现字符串反转
    3)在方法中将字符串倒着遍历;
    4)调用方法,变量接收;
    5)输出结果。
 */
public class studentDemo{
    public static void main(String[] args) {
        //1)scanner实现键盘录入;
        Scanner sc=new Scanner(System.in);
        //提示输入字符
        System.out.println("请输入字符:");
        String line = sc.nextLine();

        //4)调用方法,变量接收;
        String s = reverse(line);
        //5)输出结果。
        System.out.println(s);
    }

    //2)定义一个方法(2个注意,注意返回值类型:String;注意参数:),实现字符串反转
    public static String reverse(String s){
        //3)在方法中将字符串倒着遍历;
        String ss="";
        for (int x=s.length()-1;x>=0;x--){
            ss+=s.charAt(x);
        }
        return ss;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值