String类——Java中常见的类(模拟登录案例练习)

慈云数据 2024-03-18 技术支持 100 0

目录

String类的概述及构造方法(String类是Java中最常见的类)

String的特点

 String类的判断功能

 模拟登录案例

​ String类的获取功能

两个小练习

String类的转换功能和String类的其他功能

string类练习

String类的概述及构造方法(String类是Java中最常见的类)

  • String类概述

            –字符串是由多个字符组成的一串数据

            –字符串可以看成是字符数组

    • 构造方法

              –public String(String original)

              –public String(char[] value)

              –public String(char[] value,int offset,int count)

              –直接赋值也可以是一个对象

      4种字符方式赋值如下:

      package com.demo02;
      /*
       * String:字符串类
       * 		由多个字符组成的一串数据
       * 		字符串本身就是一个字符数组
       * 
       *构造方法:
       * 		String(String original):把字符串数据封装成字符串对象
       * 		String(char[] value):把字符数组的数据封装成字符串对象
       * 		String(char[] value, int index, int count):把字符数组中的一部分数据封装成字符串对象
       * 
       * 注意:字符串是一种比较特殊的引用数据类型,直接输出字符串对象输出的是该对象中的数据
       */
      public class StringDemo {
      	public static void main(String[] args) {
      		//方式1
      		//String(String original):把字符串数据封装成字符串对象
      		String s1 = new String("hello");
      		System.out.println("s1:"+s1);
      		System.out.println("---------");
      		
      		//方式2
      		//String(char[] value):把字符数组的数据封装成字符串对象
      		char[] chs = {'h','e','l','l','o'};
      		String s2 = new String(chs);
      		System.out.println("s2:"+s2);
      		System.out.println("---------");
      		
      		//方式3
      		//String(char[] value, int index, int count):把字符数组中的一部分数据封装成字符串对象
      		//String s3 = new String(chs,0,chs.length);
      		//char[] chs = {'h','e','l','l','o'};
      		String s3 = new String(chs,0,5);//从哪个位置开始,多长
      		System.out.println("s3:"+s3);
      		System.out.println("---------");
      		
      		//方式4,比较常用的
      		String s4 = "hello";
      		System.out.println("s4:"+s4);
      	}
      }

      String的特点

      • 通过构造方法创建字符串对象

                –String s = new String(“hello”);

        • 直接赋值创建字符串对象

                  –String s = “hello”;区别是什么?

          通过构造方法创建的字符串是在堆内存,直接复制方式创建对象的方法是在常量池。

          基本数据类型:比较的是基本数据类型的值是否相同。

          引用数据类型:比较的是引用数据类型的地址是否相同。

          package com.demo02;
          public class StringDemo2 {
          	public static void main(String[] args) {
          		String s1 = new String("hello");
          		String s2 = "hello";
          		
          		System.out.println("s1:"+s1);
          		System.out.println("s2:"+s2);
          		
          		System.out.println("s1==s2:"+(s1==s2)); //false
          		
          		String s3 = "hello";
          		System.out.println("s1==s3:"+(s1==s3)); //false  放回的地址是不是相等
          		System.out.println("s2==s3:"+(s2==s3)); //true
          		System.out.println(s1.equals(s2));// 返回的值是不是相等
          	}
          }
          

           String类的判断功能

          1. boolean equals(Object obj)——比较两个字符串的值是否相等
          2. boolean equalsIgnoreCase(String str)——不管大小写,都会转化成一样的去做比较
          3. boolean startsWith(String str)——从哪个字符串开始
          4. boolean endsWith(String str)——从哪个字符串结束

          其中API有关equals

          package com.demo03;
          public class StringDemo {
          	public static void main(String[] args) {
          		//创建字符串对象
          		String s1 = "hello";
          		String s2 = "hello";
          		String s3 = "Hello";
          		
          		//boolean equals(Object obj):比较字符串的内容是否相同
          		System.out.println(s1.equals(s2));
          		System.out.println(s1.equals(s3));
          		System.out.println("-----------");
          		
          		//boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
          		System.out.println(s1.equalsIgnoreCase(s2));
          		System.out.println(s1.equalsIgnoreCase(s3));
          		System.out.println("-----------");
          		
          		//boolean startsWith(String str):判断字符串对象是否以指定的str开头
          		System.out.println(s1.startsWith("he"));
          		System.out.println(s1.startsWith("ll"));
          		System.out.println("-----------");
          		
          		//boolean endsWith(String str):判断字符串对象是否以指定的str结尾
          		System.out.println(s1.endsWith("ll"));
          	}
          }

           模拟登录案例

          package com.demo03;
          import java.util.Scanner;
          /*
           * 给三次机会,并提示还有几次
           * 
           * 分析:
           * 		A:定义两个字符串对象,用于存储已经存在的用户名和密码
           * 		B:键盘录入用户名和密码
           * 		C:键盘录入用户名和密码和已经存在的用户名和密码做比较
           * 			如果内容相同,表示登录成功
           * 			如果内容不同,登录失败,并提示还有几次机会
           */
          public class StringTest {
          	public static void main(String[] args) {
          		//定义两个字符串对象,用于存储已经存在的用户名和密码
          		String username = "admin";
          		String password = "admin";
          		
          		//给三次机会,用for循环
          		for(int x=0; x
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon