2022-07-20 第六组 李俊琦 关键字和封装

String类

今日重点

1.比较字符串的内容

2.字符串的操作

3.包装器类型(包装类,封装类)

学习内容

比较字符串的内容

equals方法:
1.需要传参,传String类型的参数
2.有,返回值是boolean类型
3.访问权限public
System.out.println(s3.equals(s4));

Length方法

1.不需要传参
2.有返回值,整型int
3.访问权限public
数组的length是属性,
字符串的length()是方法

  System.out.println(s1.length());
  System.out.println(arr.length);

取出指定下标位置的字符

点击查看代码

public static void main(String[] args) {
        String s1 = "abcdefg";
System.out.println(s1.charAt(0));
Scanner sc = new Scanner(System.in);
        char c = sc.next().charAt(0);
       字符串转int要+1
        System.out.println(c + 1);
    }

判断当前字符串是否存在

public static void main(String[] args) {
       String s1 = "abcdefgabcdaaa";
       s1.indexOf('a');
       // 判断指定字符串是否存在,返回值为字符串在s1的下标
       // 返回从左到右遇到的第一个匹配的下标
       // 如果不存在。返回-1
       // indexOf(String,int)代表从int位置开始查找,包括当前位置
//        System.out.println(s1.indexOf("a",8));
       // 从后往前找
       System.out.println(s1.lastIndexOf("a",12));
   }

字符串的截取

点击查看代码

 public static void main(String[] args) {
        // 字符串的截取
        String str = "abcdefghijklmn";
        /*
            如果传一个参数,从指定位置开始截取,直到字符串的末尾
            考虑一下?
            包不包括1位置的字符,包括起始位置的字符
            生成一个新的字符串,不会改变原有数据
         */
        String s = str.substring(1);
        // bc or b
        // 包含起始位置,不包含终止位置
        s = str.substring(1,2);
        System.out.println(s);
    }

返回一个新的字符串

点击查看代码
// 转大写
        System.out.println(str.toUpperCase());
        // 转小写
        System.out.println(str.toLowerCase());
        // 判断是否以xxxx开头
        System.out.println(str.startsWith("a",2));
        // 判断是否以xxxx结尾
        System.out.println(str.endsWith("F"));
        // 忽略大小写进行比较内容
        // 验证码
        System.out.println(str.equalsIgnoreCase(str1));
        // 去掉字符串前后的空格
        System.out.println(str1.trim());
        // 根据指定的字符分割,分割之后,分割条件是消失
        String [] strings = str2.split(",");
//        System.out.println(Arrays.toString(strings));
        for (String string : strings) {
            System.out.println(string);

字符串的替换

public static void main(String[] args) {
 String str = "hello";
    System.out.println(str.replaceAll("l", "i"));
    }

数组转字符串

int [] arr = new int[]{1,2,3,4,5};
int i= 10;

把int类型转成字符串(推荐)

String s = String.valueOf(i);
      s = new String(i);

字符串转数组

点击查看代码
  String str = "abcdefg";
 转成字符型的数组
//        char[] array = str.toCharArray();
//        for (char c : array) {
//            System.out.println(c);
//        }
 // 转成字节型数组
        // 一般情况下,字节型数组在操作文件的时候常用的IO流
        byte[] bytes = str.getBytes();
        for (byte b : bytes) {
            System.out.println(b);
        }

包装类型

byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

原理:

(自动)装箱:把int类型包装成了包装器Integer类型。基本数据类型转换成对应的包装器类型

(自动)拆箱:把Integer类型转换成int类型。包装器类型转换成对应的基本数据类型

JDK5以后的新功能:
1.自动装箱和自动拆箱
2.增强for循环(foreach)
3.枚举(switch case)

JDK7以后的新功能:
Switch...case可以用String

装箱:
Integer i2 = Integer.valueOf(50);

拆箱
int ii2 = i2.intValue();

posted @ 2022-08-04 14:43  闹市闲人甲  阅读(33)  评论(0)    收藏  举报