Java基础十一

1 String类的概述

  • 在实际开发中,字符串的操作是最常见的操作,没有之一。
  • Java中没有内置的字符串类型,所以,Java提供了一个类String供我们使用。
  • 字符串是由多个字符组成的一串字符。
  • 字符串可以看成是字符序列。

2 String类的构造方法

  • 示例:无参构造方法
public String(){}
  • 示例:把字节数组转换为字符串
public String(byte[] bytes){}
  • 示例:把字节数组的一部分转换为字符串
public String(byte[] bytes,int offset,int length){}
  • 示例:把字符数组转换为字符串
public String(char[] value){}
  • 示例:把字符数组的一部分转换为字符串
public String(char[] value,int offset,int length){}
  • 示例:把字符常量转换为字符串
public String(String original){}
  • 示例:
package com.xuweiwei;

public class StringDemo {
    public static void main(String[] args) {
        //public String(){}
        String s1 = new String();
        System.out.println("s1:" + s1);
        System.out.println("s1.length():" + s1.length());
        System.out.println("--------------");

        //public String(byte[] bytes){}
        byte[] bytes = {97,98,99,100,101};
        String s2 = new String(bytes);
        System.out.println("s2:" + s2);
        System.out.println("s2.length():" + s2.length());
        System.out.println("--------------");

        //public String(byte[] bytes,int offset,int length){}
        byte[] bytes2 = {97,98,99,100,101};
        String s3 = new String(bytes2,2,2);
        System.out.println("s3:" + s3);
        System.out.println("s3.length():" + s3.length());
        System.out.println("--------------");

        //public String(char[] value){}
        char[] chs = {'a','b','c','d'};
        String s4 = new String(chs);
        System.out.println("s4:" + s4);
        System.out.println("s4.length():" + s4.length());
        System.out.println("--------------");

        //public String(String value)
        String s5 = new String("abvc");
        System.out.println("s5:" + s5);
        System.out.println("s5.length():" + s5.length());
        System.out.println("--------------");

    }
}

3 String的特点

  • 一旦被赋值,就不能改变。

4 String类的判断功能

  • 示例:比较字符串的内容是否大小
public boolean equals(String str)
  • 示例:比较字符串的内容是否相等,忽略大小写
public boolean equalsIgnoreCase(String str)
  • 示例:判断字符串中是否包含指定的字符串
public boolean contains(String str)
  • 示例:判断字符串以某个指定的字符串开头
public boolean startsWith(String str)
  • 示例:判断字符串以某个指定的字符串结尾
public boolean endsWith(String str)
  • 示例:判断字符串内容是否为空
public boolean isEmpty()
  • 示例:模拟登录
package com.xuweiwei;

import java.util.Scanner;

public class StringDemo2 {
    public static void main(String[] args) {
        String username = "admin";
        String passwrod = "admin";

        Scanner input = new Scanner(System.in);

        for (int x = 0; x < 3; x++) {
            System.out.print("请输入用户名:");
            String name = input.nextLine();
            System.out.print("请输入密码:");
            String pwd = input.nextLine();

            if (username.equals(name) && passwrod.equals(pwd)) {
                System.out.println("恭喜你,登录成功");
                break;
            } else {
                if ((2 - x) == 0) {
                    System.out.println("o(╥﹏╥)o,您的账号被锁定,请和管理员联系");
                    break;
                }
                System.out.println("登录失败,你还有" + (2 - x) + "此机会");
            }

        }

    }
}

5 String类的获取功能

  • 示例:获取字符串的长度
public int length()
  • 示例:获取指定索引位置的字符
public char charAt(int index)
  • 示例:返回指定字符在此字符串中第一次出现的索引
public int indexOf(int ch)
  • 示例:返回指定字符串在此字符串中第一次出现的索引
public int indexOf(String str)
  • 示例:从指定的索引开始,返回此字符在指定的字符串中出现的第一次索引位置
public int indexOf(int ch,int offset)
  • 示例:从指定的索引开始,返回此字符串在指定的字符串中出现的第一次索引的位置
public int indexOf(String str,int offset)
  • 示例:从指定的索引开始截取字符串,默认到末尾
public String substring(int start)
  • 示例:从指定的位置到指定的位置结束截取字符串
public String substring(int start,int end)
  • 示例:编写获取字符串中的每一个字符
package com.xuweiwei;

public class StringDemo3 {
    public static void main(String[] args) {
        String str = "abc";
        for(int x = 0;x<str.length();x++){
            char ch = str.charAt(x);
            System.out.println(ch);
        }


    }
}
  • 示例:统计字符串中大写、小写和数字的个数
package com.xuweiwei;

public class StringDemo4 {
    public static void main(String[] args) {
        String str = "hello123WorLd";

        int bigCount = 0;
        int smallCount = 0;
        int numberCount = 0;

        for (int x = 0; x < str.length(); x++) {
            char ch = str.charAt(x);

            if(ch >= '0' && ch <= '9'){
                numberCount ++;
            }

            if(ch >= 'a' && ch <='z' ){
                smallCount++;
            }

            if(ch >='A' && ch<='Z'){
                bigCount++;
            }
        }

        System.out.println("大写字符的个数是:"+bigCount);
        System.out.println("小写字符的个数是:"+smallCount);
        System.out.println("数字字符的个数是:"+numberCount);

    }
}

6 String类的转换功能

  • 示例:把字符串转换为字符数组
public byte[] getBytes()
  • 示例:把字符串转换为字符数组
public char[] toCharArray()
  • 示例:将字符数组转换为字符串
public static String valueOf(char[] chs)
  • 示例:将整型转换为字符串
public static String valueOf(int i)
  • 示例:将字符串转换为小写
public String toLowerCase()
  • 示例:将字符串转换为大写
public String toUpperCase()
  • 示例:连接字符串
public String concat(String str)

7 String类的其他功能

  • 示例:替换功能
public String replace(char old,char new)
public replace(String old,String new)
  • 示例:去掉字符串左右两边空格
public String trim()
  • 示例:按照字典顺序比较两个字符串
public int compareTo(String str)
public int compareToIgnoreCase(String str)

猜你喜欢

转载自www.cnblogs.com/xuweiweiwoaini/p/9261469.html