• java基础:6.3 封装类、Number类、格式化输出、String


    所有的基本类型,都有对应的类类型。比如int对应的类是Integer,这种类就叫做封装类

    1.Number类

    包含的子类:ByteShortIntegerLongFloatDouble

    讲到这个必须要了解一下“自动装箱”和“自动拆箱”的概念了!

    自动装箱 基本类型 -->类类型
    不需要调用构造方法,通过=符号自动把 基本类型 转换为 类类型 就叫装箱
    int i = 5;
    Integer it = new Integer(i); //基本类型转换成封装类型
    Integer it2 = i; //自动转换就叫装箱

     
    自动拆箱 类类型 -->基本类型
    可以直接将类类型的元素赋给“=”一个基本类型的变量。不需要调用Integer的intValue方法
    int i = 5;
    Integer it = new Integer(i);
    int i2 = it.intValue(); //封装类型转换成基本类型
    int i3 = it; //自动转换就叫拆箱

    每一个封装类 有很多方法,查手册了解
     

    2.格式化输出

    首先,了解一下 prinfformat 一样的。
    %s 表示字符串
    %d 表示数字
    %n 表示换行

            String sentenceFormat ="%s 在进行了连续 %d 次击杀后,获得了 %s 的称号%n";
            //使用printf格式化输出
            System.out.printf(sentenceFormat,name,kill,title);
            //使用format格式化输出
            System.out.format(sentenceFormat,name,kill,title);
    

    3. String

    1. 在Java中,字符串是一个类,所以我们见到的字符串都是对象。当创建一个String对象并给它赋值后,不可再改变
    2. 可以用 + 进行字符串的连接。 String day = nian + yue + ri;
    3. 格式化字符串 String sentenceFormat ="%s 在进行了连续 %d 次击杀后,获得了 %s 的称号%n";
    4. 常用方法
      String sentence = “ab,cd.ef,gb”;
    方法 含义 举例
    charAt(int index) 获取指定位置的字符 char a = sentence.charAt(0); // a= ‘a’;
    toCharArray() 获取对应的字符数组 char[] c2a = sentence.toCharArray();
    subString 截取子字符串 String subString1 = sentence.substring(5);
    String subString2 = sentence.substring(3,5);
    split 根据分隔符进行分隔 String subSentences[] = sentence.split(",");
    trim 去掉首尾空格 sentence.trim();
    toLowerCase 全部变成小写 sentence.toLowerCase();
    toUpperCase 全部变成大写 sentence.toUpperCase();
    indexOf 判断字符或者子字符串第一次出现的位置 sentence.indexOf(‘b’);   // =1;
    lastIndexOf 判断字符或者子字符串最后一次出现的位置 sentence.indexOf(‘b’);;   // =10;
    contains 是否包含子字符串 sentence.contains(“ab”); ;   //ture;
    replaceAll 替换所有的 sentence.replaceAll(“a”, “t”);
    replaceFirst 只替换第一个 sentence.replaceFirst(“a”, “t”);
    equals 进行字符串内容的比较,必须大小写一致 str1.equals(str2);   // ture or false
    equalsIgnoreCase 忽略大小写判断内容是否一致 str1.equalsIgnoreCase(str3);   // ture or false
    startsWith 判断该字符串是否以另以字符串开始 s1.startsWith(s2);   // ture or false
    endsWith 判断该字符串是否以另以字符串结束 s1.startsWith(s2);   // ture or false
    randomString 随机字符串 String s = randomString(10); 长度为10的随机串

    4. StringBuffer

    1. String类是创建后就不可改动,所以是定长的。StringBuffer的区别为:是可变长的。它可变的机制是因为,创建一个StringBuffer对象后,相对比你初始化的赋值(比如“aaa"),系统留有冗余长度,方便后续的追加、插入等。当冗余长度被填满后,就会分配一个新的数组,长度比原来多一些,把原来的数据复制到新的数组中,看上去 数组长度就变长了。

    2. 常用方法
      StringBuffer s = new StringBuffer(“abcdefg”);

    方法 意义 举例
    append 追加 s.append(" + h");   // s = abcdefg + h;
    delete 删除 s.delete(2, 3);   // 从第2个开始删,到第3个截止(此个不删) s =abdefg;
    insert 插入 s.insert(0, 123);   // s = 123abcdefg;
    reverse 反转 s.reverse();   // s = gfedcba;
  • 相关阅读:
    给定一个字符串,打印输出有重复的字符和重复的次数,并且按照重复的次数升序输出
    Failed to bind NettyServer on /10.254.4.57:20880, cause: Failed to bind to: /0.0.0.0:20880 配置dubbo遇到的问题
    Feign远程调用,调用方法有返回值,没有返回原方法,Canal监听数据库发生的异常:end of stream when reading header,异常中还有“你的主机中的软件中止了一个已建立的连接”等信息
    idea格式化代码把方法上的文字注释换行的问题
    使用Docker报的错误 docker WARNING: IPv4 forwarding is disabled. Networking will not work
    11月新的开始
    二叉树学习总结
    leetcode刷题日志(200913)637.二叉树的层平均值
    leetcode刷题日志(200909)1512.好数对的数目
    leetcode刷题日志(200908)1480.一维数组动态和
  • 原文地址:https://www.cnblogs.com/l20902/p/10610891.html
Copyright © 2020-2023  润新知