2022-07-20 第四组 王佳齐

目录

  • String
  • 包装器类型

String

  • String是一个类
  • 一个类中可以有那些结构
  • 属性,方法,构造器
  • String中也有这三种结构
public class Ja11 {
    public static void main(Ja11[] args) {
        String s1 = "acvb";
//        s1是String类的对象
//        类如果想创建对象要有new
        String s2 = new String("ssss");
        String s3 = new String("ssss");
        String s4 = "acvb";
//        new创建对象要创建构造器
//        s1的字符串放在方法池里,s2new创建的会放在堆里。
//        一new就新开辟内存,有一个新的地址
        System.out.println(s1==s2);
//        不相等,存储位置不同
//        双等号比较的是虚地址:对象在内存中存储的位置。
//        基本数据类型可以,因为都是存在栈里的
        System.out.println(s3==s2);
//        不相等,虚地址不同
        System.out.println(s1==s4);
//        相等,都是常量,不在堆内存储
//        总结,=赋值无论怎么比较都是true,new赋值,用双等号相比,全是false

    }

 

String中的方法

* equals方法
* 1.需要传入String类型的参数
* 2.方法返回值为Boolean类型
* 3.访问权限public
* 4.只比较字符串内容,不比较地址

 

 

 

//        length
//        1.不用传参
//        2.返回值类型是int
//        3.访问权限:public
        /*
        * 面试题
        * 字符串获取长度的方法和数组有什么区别
        * 1.数组的length是属性
        *   字符串的是方法*/

 

 

//        取出指定下标位置的字符
        s1.charAt(2);
//        System.out.println(s1.charAt(100));
//        异常:字符串下标越界

 

 

       String  s1="fjwj";
//        判断指定字符是否存在,返回值为字符串在w的下标(int类型)
        System.out.println(s1.indexOf("w"));
//        如果不存在返回-1
        System.out.println(s1.indexOf("j"));
//        如有重复会返回从左到右的第一个下标
        System.out.println(s1.indexOf("j",2));
//        第一个位置传入字符,第二个位置传入从第几个下标开始找[包括此下标]{last那个是从后往前找}
//        只要说到下标,无论数组字符串,下标永远不变

 

 

        str.substring(1);
//        生成新的字符串不会改变原始字符串
        System.out.println(str.substring(1));
//        如果传一个参数,从指定位置开始截取到字符串的末尾,包括指定位置
        str.substring(1,2);
        System.out.println(str.substring(1,2));
//        传两个参数,包含起始位置,不包含终止位置
 

 

       String str = "dc sv";
        String str1="SD";
        str.toLowerCase();
//        转小写
//        下面所有方法都创建新的字符串
//        转大写
        str.toUpperCase();
//        判断是不是一什么开头
        str.startsWith("a");
//        偏移几位在判断
        str.startsWith("a",2);
//        判断结尾
        str.endsWith("a");
//        忽略大小写进行比较内容
        str.equalsIgnoreCase(str1);
//        去掉空格,网页端常用
        str.trim();
//        根据指定字符分割,分割之后分割条件消失
        String str2 = "123,456,789";
        str2.split(",");
        String [] strings = str2.split(",");
//字符串替换
        String str3="hello";
//        打l全换
        str3.replace('h','g');
        System.out.println(str3.replace('h','g'));
//        替换全部
        str3.replaceAll("hello","hi");
//        字符串和各种数据类型的转换
        int i = 10;
        String s = String.valueOf(i);
//        任何数据类型和字符串类型结果都是字符串
//        String s=i+"";       转换成字符串
//        字符串有两种空,一种是空串,一种是null
//        数组转字符串
        int [] arr=new int[]{1,2,3,2,3,2};
//        把数组元素变成字符串,遍历拼接
//        字符串转数组
//        转成字符型数组
        char[] Array=str3.toCharArray();
//                转成字节型数组
        byte[] bytes=str3.getBytes();
//        一般情况下字节型数组实在操作文件是使用

 

 

 

包装器类型

 /*
        * 原理
        * 装箱:把基本数据类型转换成对应包装器类型
        * 拆箱:把包装器类型转换成对应基本数据类型
        * 把int类型包装成了对应的Inter类型,称为装箱*/
//        异常
        /*
        * 1.数组下标越界
        * 2.内存溢出
        * 3.空指针
        * 4.数字格式化
        * 5.字符串下标越界*/

 

 学习心得

今天学习了很零散的知识,很多String的方法,下午学习了昨天的作业,老师讲解的很细致,但是没听懂,可能是因为没有基础,心累的一天!

posted @ 2022-07-20 19:17  Iamnotarapper  阅读(37)  评论(0)    收藏  举报
ヾ(≧O≦)〃嗷~