字符串——String

目录

1:String概述

2.String注意点

3.创建String对象的二种方法

4.字符串的比较

4.1:==号比的是什么?

4.1.1:基本数据类型(比较的是数据值)

4.1.2:引用数据类型(比较的是地址)

注:new是在堆里面开辟一个空间,int a=10中a记录的是串池的地址值。

4.2:比较

5.字符串的练习

5.1:用户登录

5.2:遍历字符串


1:String概述

java.lang.String类代表字符串,java程序中的所以字符串文字都是此类的对象(eg:"abc")。

2.String注意点

字符串的内容不会发生改变,它的对象在创建后不能被改变。

3.创建String对象的二种方法

1.直接赋值:

 String name="随便写";

2;new关键字

package Demo;

public class first {
    public static void main(String[] args) {
        //直接赋值
        String name="随便写";
        System.out.println(name);//随便写

        //使用new方法来获取一个字符串对象
        //空参构造:可以获取一个空白的字符串对象
        String s2=new String();
        System.out.println("@"+s2+"!");//@!

        //传递一个字符串,根据传递的字符串内容创建一个新的字符串对象
        String s3=new String("abc");
        System.out.println(s3);//abc

        //传递一个字符数组,根据字符数组的内容再创建一个新的字符串对象
        //需求:我要修改字符串的内容。
        char[] chs={'a','b','c','d'};
        String s4=new String(chs);
        System.out.println(chs);//abcd

        //根据一个字节数组,根据字符数组的内容再创建一个新的字符串对象
        //我们一般把字节信息进行转换,转换字符串,此时就要用到这个构造了。
        byte[] bytes={97,98,99,100};
        String s5=new String(bytes);
        System.out.println(s5);//abcd
    }

}

4.字符串的比较

4.1:==号比的是什么?

4.1.1:基本数据类型(比较的是数据值)

package Demo;

public class second {
    public static void main(String[] args) {
    int a=10;
    int b=20;
    System.out.println(a==b);//false


    }
}

4.1.2:引用数据类型(比较的是地址)

String s1=new String("abc");
    String s2=new String("abc");
    System.out.println(s1==s2);//false
注:new是在堆里面开辟一个空间,int a=10中a记录的是串池的地址值。

4.2:比较

4.2.1:boolean equals方法(比较字符串) 完全一样才是true,否则为false。

4.2.2:boolean equalsIgnoreCase(要比较字符串) 忽略大小写的比较。

package Demo;

public class second {
    public static void main(String[] args) {
    String s1=new String("abc");
    String s2="Abc";
    System.out.println(s1==s2);//false

        boolean result=s1.equals(s2);
        System.out.println(result);//false
        boolean result1=s1.equalsIgnoreCase("abc");
        System.out.println(result1);//true
    }
}

5.字符串的练习

5.1:用户登录

要求:已经知道正确的用户名和密码,请用程序实现模拟登录。总共用三次机会,登录以后,给出相应的提示(设置的账号被锁定,请联系客服)。

package Demo;

import java.util.Scanner;

public class 登录设置 {
    public static void main(String[] args) {

        String rightUsername="zhangsan";
        String rightPassword="123456";

        for(int i=0;i<3;i++) {
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入用户名:");
            String username = sc.next();

            System.out.println("请输入密码:");
            String password = sc.next();

            if (username.equals(rightUsername) && password.equals(rightPassword)) {
                System.out.println("用户登录成功");
                break;
            } else {
                if(i==2) {
                    System.out.println("账号"+rightUsername+"被锁定,请联系客服");
                }else{
                    System.out.println("用户登录失败,用户名或密码有误,你还剩下" + (2 - i) + "次机会");
                }
            }
        }

    }
}

5.2:遍历字符串

注:public char charAt(int index):根据索引返回字符

package Demo;
import java.util.Scanner;
public class four {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String str=sc.next();

        for(int i=0;i<str.length();i++){
            char c=str.charAt(i);
            System.out.println(c);
        }
    }
}

//请输入一个字符串:saca
输出:
s
a
c
a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值