第三周总结

String相关:

1:

String是字符串类型可以定义字符串变量指向字符串对象

String是不可变字符串的原因:String变量每次的修改其实都是产生并指向新的字符串对象,原来的字符串对象都是没有改变的

2:

字符串对象的特点:

双引号的字符串对象,在字符串常量池中存储同一个;

通过new构造器创建的字符串对象,在堆内存中分开存储

3:String创建对象

  public class sh{
    public static void main(String[]args){
        //创建一个空白对象
        String s1=new String();
        System.out.println(s1);//空白
        //创建字符对象
        String s2=new String("阿巴斯看");
        System.out.println(s2);//阿巴斯看
        //根据数组内容创建字符串对象
        char[] s={'a','b','c'};
        String s3=new String(s);
        System.out.println(s3);//abc
        //根据字节数组内容创建字符串对象
        byte[]  q={97,98,99,65,66,67};
        String s4=new String(q);
        System.out.println(s4);//abcABC
    }
}

通过new构造器每new一个就会产生一个新对象

char[] chs={'a','b','c'};

String s3=new String(chs);

​
 String s5=new String("abcd");//创建了两个对象“abcd”放在字符串常量池中new出来的abcd放在堆内存中
 String s6=new String("abcd");
 System.out.println(s5==s6);//false

​

4:String提供equals,equalsIgnoreCase

import java.util.Scanner;
public class sh{
    public static void main(String[]args){
        Scanner sc=new Scanner(System.in);
        String name="sahqx";
        String sw=sc.next();
        if(name.equals(sw)) System.out.println(true);//用equals判断字符内容是否一致
        else System.out.println(false);
        if(name.equalsIgnoreCase(sw)) System.out.println(true);
        else System.out.println(false);//忽略大小比较字符串是否一致
    }

}

String常用API:

public class sh{
    public static void main(String[]args){
        //1:获取字符串长度
        String c="我的dd";
        System.out.println(c.length());//4
        //2:获取某个索引的位置
        char s=c.charAt(1);
        System.out.println(s);//的
        //3:把字符串换成字符数组toCharArray
        char[] d=c.toCharArray();
        for (int i = 0; i < d.length; i++) {
            char s1 = d[i];
            System.out.println(s1);//我的dd
        }
          //4:截取内容(包前不包后)String substring
            String name="widhdhd";
            String r=name.substring(1,3);
            System.out.println(r);//id
     //5:从当前索引一直截取到末尾
        String a=name.substring(1);
        System.out.println(a);//idhdhd
        //6:
        String f=name.replace("wid","***");
        System.out.println(f);//***hdhd
        //7:contians,startsWith判断内容true false
        //8:按照内容把字符串分割字符串数组返回
       String qq="需要我得,biubiu";
       String[]  z=qq.split(",");
        for (int i= 0; i < z.length ;i++) {
            System.out.println("选择了" + z[i]);
        }
        }
        }

集合:
集合类型可以不固定,大小可变;集合适用于数据个数不确定且要做增删元素的场景;

ArrayList集合

public ArrayList()   创建一个空的集合对象

​
​
import java.util.ArrayList;
    public class dw {
        public static void main(String[] args) {
            ArrayList list = new ArrayList();
            list.add("java");
            list.add("jsi");
            list.add(12);
            list.add(22 + "jdkj");
            System.out.println(list);
        }
    }

​

​

ArrayList<String>此集合只能操作字符串类型

ArrayList<integer>此集合只能操作整数类型

存储引用类型,不支持基本数据类型

集合常用方法

 String e = list.get(3);
        System.out.println(e);//h获取某个索引位置的元素值
 System.out.println(list.size());//获取集合的大小(元素个数)
        
 for (int i = 0; i <list.size() ; i++) {
            System.out.println(list.get(i));//集合的遍历
        }
 String s2=list.remove(2);//删除某个索引位置的元素值并返回被删除的元素值
            System.out.println(s2);
            System.out.println(list);
 String s3=list.set(0:"jdd");
            System.out.println(s3);//jsi
            System.out.println(list);//修改某个索引位置处的元素值
        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值