java_day11_StringBuffer、System、Arrays、Date、包装类

一、StringBuffer

StringBuffer: 可变的字符序列,可以看作一个存储字符的一个容器
构造方法:
    public StringBuffer()
    public StringBuffer(int capacity)
    public StringBuffer(String str)

代码案例

public class StringBufferDemo1 {
    public static void main(String[] args) {
        //public StringBuffer() 创建默认大小的StringBuffer容器
//        StringBuffer sb1 = new StringBuffer();
//        //获取默认StringBuffer容器的大小
//        System.out.println("StringBuffer默认的容量大小为:" + sb1.capacity()); // 16
//        System.out.println("sb1: " + sb1);
//        System.out.println("StringBuffer实际存储字符数量:"+ sb1.length()); // 0

        //public StringBuffer(int capacity) 创建指定大小容量的StringBuffer
//        StringBuffer sb2 = new StringBuffer(50);
//        System.out.println("StringBuffer默认的容量大小为:" + sb2.capacity()); // 50
//        System.out.println("sb1: " + sb2);
//        System.out.println("StringBuffer实际存储字符数量:" + sb2.length()); // 0

        //public StringBuffer(String str) 创建默认大小的StringBuffer容器,其中存储了一个字符串
        StringBuffer sb3 = new StringBuffer("hello");
        System.out.println("StringBuffer默认的容量大小为:" + sb3.capacity()); // 21
        System.out.println("sb1: " + sb3);
        System.out.println("StringBuffer实际存储字符数量:" + sb3.length()); // 5
    }
}
StringBuffer中的成员方法:
    添加功能
        public StringBuffer append(String str)
        public StringBuffer insert(int offset,String str)
    删除功能
        public StringBuffer deleteCharAt(int index)
        public StringBuffer delete(int start,int end)
    替换功能
        public StringBuffer replace(int start,int end,String str)
    反转功能
        public StringBuffer reverse()

代码案例

public class StringBufferDemo2 {
    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer();
        System.out.println("sb: " + sb);
        System.out.println("------------------------");
        //public StringBuffer append(String str) 在StringBuffer末尾处添加新的字符串
//        StringBuffer sb2 = sb.append(100);
//        System.out.println("sb: "+sb);
//        System.out.println("sb2: "+sb2);
//        System.out.println(sb==sb2);
        sb.append(100);
        sb.append(12.343);
        sb.append(true);
        System.out.println("sb: " + sb);
        System.out.println("------------------------");

        //public StringBuffer insert(int offset,String str) 在StringBuffer指定位置中添加字符串
        //10012.343true
        sb.insert(10,"java");
        System.out.println("sb: " + sb);
        System.out.println("------------------------");

        //public StringBuffer deleteCharAt(int index) 指定索引删除StringBuffer某一个字符
        //10012.343tjavarue
        sb.deleteCharAt(5);
        System.out.println("sb: " + sb);
        System.out.println("------------------------");

        //public StringBuffer delete(int start,int end) 指定开始和结束索引,删除StringBuffer一部分字符
        //10012343tjavarue
        sb.delete(9,13); //[start, end)
        System.out.println("sb: " + sb);
        System.out.println("------------------------");

        //public StringBuffer replace(int start,int end,String str) 使用字符串替换StringBuffer一部分字符
        //10012343true
        sb.replace(6,9,"李刚");
        System.out.println("sb: " + sb);
        System.out.println("------------------------");

        //public StringBuffer reverse()
        //100123李刚rue
        sb.reverse();
        System.out.println("sb: " + sb);
        System.out.println("------------------------");

StringBuffer的截取功能】

返回新的StringBuffer
public String substring(int start)
public String substring(int start,int end)

代码案例

public class StringBufferDemo3 {
    public static void main(String[] args) {
        StringBuffer sb1 = new StringBuffer("hello world java hadoop");

        //public String substring(int start)
        String s1 = sb1.substring(4);
        System.out.println("sb1: "+sb1);
        System.out.println("s1: "+s1);

        //public String substring(int start,int end)
        String s2 = sb1.substring(6, 11);
        System.out.println("sb1: "+sb1);
        System.out.println("s2: "+s2);

    }
}

二、System

System: 是和系统操作相关的类
    public static void gc() 垃圾回收
    public static void exit(int status) 强制退出程序
    public static long currentTimeMillis()

三、Arrays

Arrays: java提供了一个类专门针对数组一系列操作的工具类
public static String toString(int[] a)
public static void sort(int[] a)
public static int binarySearch(int[] a,int key)

代码案例

public class ArraysDemo1 {
    public static void main(String[] args) {
        //传入任意类型元素的一维数组,将其变成一个字符串形式返回
        int[] arr = {11,22,33,44,55};
//        String s1 = Arrays.toString(arr);
        System.out.println(Arrays.toString(arr));


        //public static void sort(int[] a)
        //对除了boolean类型以外的一维数组做排序
        int[] arr2 = {21,31,6,23,78,12,47};
        Arrays.sort(arr2); // 底层是快速排序
        System.out.println(Arrays.toString(arr2));


        //public static int binarySearch(int[] a,int key) 二分查找,前提是被查找的序列是有序的!
        //查找元素key在数组a中的位置
        //[6, 12, 21, 23, 31, 47, 78]
        int index = Arrays.binarySearch(arr2, 4);
        System.out.println(index); // -8  -1




    }
}

四、Date

//1727510083386
//需求:将时间戳转成指定的格式输出

Date: java为了描述日期,提供了一个Date类
构造方法:
    Date() 分配一个 Date对象,并初始化它,以便它代表它被分配的时间,测量到最近的毫秒。
    Date(long date) 分配一个 Date对象,并将其初始化为表示自称为“时代”的标准基准时间以后的指定毫秒数,即1970年1月1日00:00:00 GMT。

SimpleDateFormat: java为了格式化日期提供的一个类
构造方法:
    SimpleDateFormat(String pattern) 使用给定模式 SimpleDateFormat并使用默认的 FORMAT语言环境的默认日期格式符号。

代码案例

public class DateDemo1 {
    public static void main(String[] args) throws Exception{
//        Date d1 = new Date(); // 获取当前时间日期
//        System.out.println(d1); // Sat Sep 28 16:01:22 CST 2024

        // Date(long date) 将毫秒级别的时间戳转成Date类型对象
        Date d2 = new Date(1727510083386L);
        System.out.println(d2); // Sat Sep 28 15:54:43 CST 2024

        //xxxx年xx月xx日 xx时xx分xx秒
        //xxxx-xx-xx xx:xx:xx
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒 a");
        String time = sdf.format(d2); // Date -> String
        System.out.println(time);

        Date d3 = sdf.parse("2024年09月28日 03时54分43秒 下午");// String -> date
        System.out.println(d3);


    }
}

五、包装类

包装类:
    java针对每一个基本数据类型都提供了与之对应的引用数据类型
        byte         Byte
        short        Short
        int          Integer
        long         Long
        float        Float
        double       Double
        boolean      Boolean
        char         Character

代码案例

public class IntegerDemo1 {
    public static void main(String[] args) {
        int a = 10;
        //获取int类型的最大值
        System.out.println(Integer.MAX_VALUE);

//        Integer i = new Integer(100);
//        Integer i = new Integer("100"); // "100" -> 100
//        System.out.println(i);

        Integer i = 100; // 自动装箱
        //当包装类做运算的时候,会自动将其中包装的值拆出来进行运算
        System.out.println(i+100);  // 自动拆箱
        System.out.println("--------------------------------");
        //将字符串转int类型
        int i1 = Integer.parseInt("100"); // String -> int
        System.out.println(i1);
        Integer i2 = Integer.valueOf("100"); // String -> Integer
        System.out.println(i2);
        Integer i3 = Integer.valueOf(100); // int -> Integer
        Integer i4 = 200;
        String s1 = i4.toString(); // Integer -> String
        String s2 = String.valueOf(100); // int -> String

        System.out.println("--------------------------------");
        //Character是char的包装类
        Character c1 = 'a'; // 自动装箱
        Character c2 = new Character('b');
        Character c3 = new Character('8');

        /*
            public static boolean isUpperCase(char ch)
            public static boolean isLowerCase(char ch)
            public static boolean isDigit(char ch)
            public static char toUpperCase(char ch)
            public static char toLowerCase(char ch)

         */
        System.out.println(Character.isUpperCase('b'));
        System.out.println(Character.isLowerCase('b'));
        System.out.println(Character.isDigit('e')); // 判断字符是否是数字
        System.out.println(Character.isDigit('9'));
        System.out.println(Character.toUpperCase('m'));
        System.out.println(Character.toLowerCase('P'));





    }
}
posted @ 2024-10-16 16:22  w我自横刀向天笑  阅读(0)  评论(0编辑  收藏  举报