java字符串

掌握:

掌握string的用法
会使用== 和equals()进行操作比较
stringbuffer

tip:

string s= new string("hello world")//数据存在堆里
String s="hello world"//数据存在字符串常量池.

equals()方法的比较原理:

检查组成字符内容的字符是否完全一致(一位一位的比较)

与"=="的区别:==比较的是地址.但equals()比较的是里面的值.

知识补充

基本数据类型的存储区域在栈中
每一个数据都是相互独立存在的
==比较的是两个数的大小(是在栈里比较的)

引用数据类型,如数组
数据占两个空间,块和栈
栈里面存放数组数据在栈中存在的首地址(数组名)
堆里面存放的是数组数据

String arr[] = new String[2];
        arr[1] = "gu";
        arr[2] = "jh";
        String arr2[] = new String[2];
        arr2[1] = "gu";
        arr2[2] = "jh";
        System.out.println(arr == arr2);
        System.out.println(Arrays.equals(arr, arr2));

普通的声明字符串方法,只会在字符串常量池里开辟空间
并且开辟空间之前,会检查字符串常量池里是否已经存在
相同的数据,如果有,直接指向已经存在的数据.如果没有.会在字符串常量池里开辟一个新的空间

        String s = "gjh";
        String s2 = "gjh";
        System.out.println(s ==s2);

一个引用(栈里)两个实例(堆里和常量池里)

        String string1 = new String("gjh");
        String string2 = new String("gjh");
        System.out.println(string1 == string2);

这里写图片描述

方法的使用

大小写的变换

equalsIgnoreCase():无视大小写比较.
toLowerCase():大写变小写
toUpperCase():小写变大写
        String string = "GjH";
        String string2 = "hJh";
        System.out.println(string.equalsIgnoreCase(string2));
        System.out.println(string2.toLowerCase());
        System.out.println(string.toUpperCase());

这里写图片描述

拼接concat

public static void main(String[] args) {
        String s = "gu";
        String string = new String("junhua");
        System.out.println(s.concat(string));
    }

这里写图片描述

提取方法:

此处介绍了对字符串的位置和提取部分字符串的方法
public static void main(String[] args) {
        //此处前面添加了三个空格
        String message = "   Mj jordan   ";
        // indexOf() 获取字符串的某个字符或字符串首次出现的位置
        System.out.println(message.indexOf("j"));
        // lastIndexOf() 获取字符串的某个字符或字符串最后一次出现的位置
        System.out.println(message.lastIndexOf("j"));

        // substring() 从指定位置开始截取字符串,直到最后一个
        String newS = message.substring(1);
        System.out.println(newS);

        // substring() 从指定位置开始截取字符串,直到索引结束位置
        String newS1 = message.substring(6, 9);
        System.out.println(newS1);

        // trim() 去除字符串前后的空格
        String newS2 = message.trim();
        System.out.println(newS2);
    }

这里写图片描述

用stringbuffer在字符串中进行增删改

public static void main(String[] args) {
        StringBuffer buffer = new StringBuffer("abcde");
        // append() 追加内容
        buffer.append("f");
        System.out.println(buffer);
        // insert()
        buffer.insert(1, "m");
        System.out.println(buffer);
        // deleteCharAt() 删除指定索引的元素
        buffer.deleteCharAt(0);
        System.out.println(buffer);
        // delete() 根据开始索引和结束索引删除一段字符串
        buffer.delete(0, 3);
        System.out.println(buffer);

    }

这里写图片描述

用.split来对字符串中的字符进行分割

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = "古dasdas 军dsaf 华saf";
        String[] resize = s.split(" ");
        for (int i = 0; i < resize.length; i++) {
            System.out.println(resize[i]);
        }
    }

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值