当前位置: 首页 > article >正文

字符串——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


http://www.kler.cn/a/318699.html

相关文章:

  • linux设置主机名
  • 用vscode编写verilog时,如何有信号定义提示、信号定义跳转(go to definition)、模块跳转这些功能
  • 基于非时空的离身与反身智能
  • Wireshark
  • vue2或vue3的name属性有什么作用?
  • uniapp 设置安全区域
  • 量子计算如何引发第四次工业革命——解读加来道雄的量子物理观
  • Android平台使用VIA创建语音交互应用
  • 【ArcGIS微课1000例】0122:经纬网、方里网、参考格网绘制案例教程
  • 0基础带你入门Linux之使用
  • 初识C#(一)
  • 2.以太网
  • 毕设基于SSM+Vue3实现设备维修管理系统四:后台框架及基础增删改查功能实现
  • 常见区块链数据模型介绍
  • [leetcode]113_路径总和II_输出所有路径
  • 【AIGC】ChatGPT RAG提取文档内容,高效制作PPT、论文
  • day-59 四数之和
  • 【React】(推荐项目)使用 React、Socket.io、Nodejs、Redux-Toolkit、MongoDB 构建聊天应用程序 (2024)
  • 数据集-目标检测系列-海洋鱼类检测数据集 fish>> DataBall
  • short-link笔记
  • ubuntu 24.04 输入设备显示没有,系统没有找到电脑麦克风
  • web平台搭建-LAMP(CentOS-7)
  • 【自动驾驶】基于车辆几何模型的横向控制算法 | Stanley 算法详解与编程实现
  • ai写论文哪个平台好?分享4款ai论文写作平台软件
  • Python范例总结
  • 【计算机视觉】YoloV8-训练与测试教程