Java常用类

一、Object类

jdk版本用的是jdk11

简介

类层次结构最顶层的基类,所有类都直接或间接的继承自object类,所以,所有类都是一个Object(对象)

构造方法

方法名称说明
Object()构造一个对象,所有子类对象初始化时都会优先调用该方法

成员方法

方法名称说明
int hashCode()返回对象的哈希码值,该方法通过对象的地址值进行计算,不同对象的返回值一般不同
Class<?> getClass()返回调用此方法对象的运行时类对象(调用者的字节码文件对象)
String toString()返回此方法的字符串表示
boolean equals()返回其他某个对象是否于此对象“相等”。默认情况下比较两个对象的引用,建议重写
public class Test {
    public static void main(String[] args) {
        //非静态方法的调用方式:通过 .对象名的形式调用
        //创建Object类型的对象
        Object obj1 = new Object();
        Object obj2 = new Object();

        //测试Object类中的成员方法
//  int hashCode()  返回对象的哈希码值,该方法通过对象的地址值进行计算,不同对象的返回值一般不同
        int code1 = obj1.hashCode();
        int code2 = obj2.hashCode();
        //不同对象的哈希码值不同
        System.out.println(code1); //356573597
        System.out.println(code2); //1735600054
        System.out.println("-----------------");

//  Class<?> getClass() 返回调用此方法对象的运行时类对象(调用者的字节码文件对象)
        Class<?> aClass = obj1.getClass();
        Class<?> bClass = obj2.getClass();
        //一个类可以创建多个对象,但只有一个字节码文件对象
        System.out.println(aClass); //class java.lang.Object
        System.out.println(bClass); //class java.lang.Object
        System.out.println("-------------------");

//  String toString()  返回此方法的字符串表示
        String s1 = obj1.toString();
        String s2 = obj2.toString();
        //默认打印的是地址值,不同对象的地址值不同
        System.out.println(s1); //java.lang.Object@1540e19d
        System.out.println(s2); //java.lang.Object@677327b6
        System.out.println("-------------------");

//  boolean equals()  返回其他某个对象是否于此对象“相等”。默认情况下比较两个对象的引用,建议重写
        boolean b1 = obj1.equals(obj2);
        //比较两个对象是否相等,默认比较的是地址值
        System.out.println(b1); //false
    }
}

二、Scanner类

简介

扫描器。能够解析字符串(String)和基本数据类型的数据

构造方法

方法名称说明
Scanner(InputStream)构造一个扫描器对象,从指定输入流中获取数据参数Stytem.in,对应键盘录入

成员方法

方法名称说明
hasNextXxx()判断是否还有下一个输入项,其中Xxx可能是任意基本数据类型,返回结果为布尔类型
nextXxx()获取下一个输入项,其中Xxx可能是任意基本数据类型,返回对应类型的数据
String nextLine()获取下一行数据。以换行符作为分隔符。
String next()获取下一个输入项,以空白字符作为分隔符空白字符:空格、tab、回车等
public class Test {
    public static void main(String[] args) {
        //创建Scanner类型的对象
        //System.in:标准的输入流,默认指向键盘(键盘录入)
        Scanner scanner = new Scanner(System.in);
//        scannerInt(scanner);


        System.out.println("请输入一个字符串:");
//        结束标记是:换行符
//        String s = scanner.nextLine();
//        System.out.println(s);

        // 结束标记是:空白字符(空格、tab、换行符)
        String s2 = scanner.next();
        System.out.println(s2);


    }

    private static void scannerInt(Scanner scanner) {
        //接收整数
        System.out.println("请输入一个整数:");
        //为了防止用户输入其他类型的数据导致程序异常,可以加入一个判断
        if (scanner.hasNextInt()){ //如果用户输入的不是整数类型,程序不执行
            int i = scanner.nextInt(); //只能接收int类型的整数
            System.out.println("录入的整数为:" + i);
        }
    }
}

三、String类

简介

字符串,每一个字符串对象都是常量

判断方法

构造方法

方法名称说明
String(byte[])构造一个String对象,将指定字节数组中的数据转化成字符串
String(char[])构造一个String对象,将指定字符数组中的数据转化成字符串

成员方法

方法名称说明
boolean equals(String)判断当前字符串与给定字符串是否相同,区分大小写
boolean equalsIgnoreCase(String)判断当前字符串与给定字符串是否相同,不区分大小写
boolean startsWith(String)判断是否以给定字符串开头
boolean isEmpty()判断字符串是否为空
public class Test {
    public static void main(String[] args) {
        //将指定的字节数组转成字符串
        byte[] bytes = {97,98,99};
        String s1 = new String(bytes);
        System.out.println("s1 :" + s1);

        //将指定的字符数组转成字符串
        char[] chars = {'h','e','l','l','o'};
        String s2 = new String(chars);
        System.out.println("s2:" + s2);

        String str1 = "abc";
        String str2 = "ABC";
        String str3 = "";

//        boolean equals(String)           | 判断当前字符串与给定字符串是否相同,区分大小写
        boolean b1 = str1.equals(str2);
        System.out.println(b1);//flase
//        boolean equalsIgnoreCase(String) | 判断当前字符串与给定字符串是否相同,不区分大小写
        boolean b2 = str1.equalsIgnoreCase(str2);
        System.out.println(b2);//true
//        boolean startsWith(String)       | 判断是否以给定字符串开头
        boolean b3 = str1.startsWith("a");
        System.out.println(b3);//false
//        boolean isEmpty()                | 判断字符串是否为空
        boolean b4 = str1.isEmpty();
        boolean b5 = str3.isEmpty();
        System.out.println(b4);//false
        System.out.println(b5);//true
    }
}

获取方法

方法名称说明
int length()获取当前字符串的长度
char charAt(int index)获取指定索引位置的字符
int indexOf(String)获取指定字符第一次出现的索引
int lastIndexOf(String)获取指定字符最后一次出现的索引
String substring(int)获取指定索引位置之后的字符串
String substring(int,int)获取从索引start位置(含)起至索引end位置(不含)的字符串
public class Demo01 {
    public static void main(String[] args) {
        String s = "Hello World";

//        int length()              | 获取当前字符串的长度
        int length = s.length();
        System.out.println("length:" + length);//11

//        char charAt(int index)    | 获取指定索引位置的字符
        char charAt = s.charAt(4);
        //索引是从0开始
        System.out.println("charAt: " + charAt);//0

//        int indexOf(String)       | 获取指定字符第一次出现的索引
        int indexOf = s.indexOf("o");
        System.out.println("indexOf:" + indexOf);//4

//        int lastIndexOf(String)   | 获取指定字符最后一次出现的索引
        int lastIndexOf = s.lastIndexOf("o");
        System.out.println("lastIndexOf:"+lastIndexOf);//7

//        String substring(int)     | 获取指定索引位置之后的字符串
        String substring = s.substring(6);//包含
        System.out.println("substring:" + substring);//World

//        String substring(int,int) | 获取从索引start位置(含)起至索引end位置(不含)的字符串
        String substring1 = s.substring(2, 4);
        System.out.println("substring1:"+substring1);//ll
    }
}

转换方法

方法名称说明
byte[] getBytes()将字符串转换成字节数组
char[] toCharArray()将字符串转换成字符数组
static String valueOf()将指定类型数据转换成字符串
String replace(old,new)将指定字符(串)替换成新的字符(串)
String[] split(String)切割字符串,返回切割后的字符串数据,原字符串不变
String trim()去掉字符串两端的空白字符
public class Demo02 {
    public static void main(String[] args) {
        //定义一个字符串
        String s1 = "abc";

//        byte[] getBytes()       | 将字符串转换成字节数组
        byte[] bytes = s1.getBytes(); //97,98,99
        for (int i = 0; i < bytes.length; i++) {
            System.out.println(bytes[i]);
        }
//        char[] toCharArray()    | 将字符串转换成字符数组
        char[] chars = s1.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            System.out.println(chars[i]);
        }
        System.out.println("--------------");

//        static String valueOf() | 将指定类型数据转换成字符串
        String s = String.valueOf(123);
        System.out.println(s + 4); //1234,是字符串拼接形式

//        String replace(old,new) | 将指定字符(串)替换成新的字符(串)
        String str = "abc abc abc";
        //将b替换为d
        String replace = str.replace("b", "d");
        System.out.println(replace);

//        String[] split(String)  | 切割字符串,返回切割后的字符串数据,原字符串不变
        String[] str2 = str.split(" ");
        for (int i = 0; i < str2.length; i++) {
            System.out.println(str2[i]);
        }

//        String trim()           | 去掉字符串两端的空白字符
        String str3 = " a b c ";
        String trim = str3.trim();
        System.out.println(trim);
    }
}

四、StringBuilder和StringBuffer类

简介

可变字符序列,用于构造字符串对象,内部使用自动扩容的数组操作字符串数据。StringBuilder和StringBuffer使用相同的API(用法是一样的)。StringBuilder效率比StringBuffer快,所以使用StringBuilder要多一点

构造方法

方法名称说明
StringBuilder构造一个空的StringBuilder
StringBuilder(String)构造一个StringBuilder容器,并添加指定字符串

成员方法

方法名称说明
StringBuilder append()将任意数据添加到StringBuilder容器中,返回自身
String toString()将当前StringBuilder容器转成字符串
public class Deno03 {
    public static void main(String[] args) {
//      StringBuilder         | 构造一个空的StringBuilder
        StringBuilder sb = new StringBuilder();
//        StringBuilder append() | 将任意数据添加到StringBuilder容器中,返回自身
        StringBuilder sb2 = sb.append("abc");
        //StringBuilder是一个容器,添加的数据会返回到容器内
        System.out.println("sb:" + sb); //abc
        System.out.println("sb2:" + sb2); //abc

//        StringBuilder(String) | 构造一个StringBuilder容器,并添加指定字符串
        StringBuilder sb3 = new StringBuilder("abc");
        //将string类型的“abc”转换成StringBuilder类型的对象
        System.out.println(sb3);

        StringBuilder sb4 = new StringBuilder();
        sb4.append("hello,");
        sb4.append("World");
        System.out.println(sb4);

//        String toString()      | 将当前StringBuilder容器转成字符串
        String s = sb4.toString();
        System.out.println(s);


    }
}

五、Date和Clendar类

简介

日期和日历类,用于操作日期相关信息

构造方法

方法名称说明
Date()构造一个日期对象,当前系统时间,精确到毫秒
Data(long)构造一个日期对象,时间为自“1970年1月1日00:00:00 GMT”起,至指定参数的毫秒数

成员方法

方法名称说明
long getTime()将日期对象转换成对应时间的毫秒值
static Calendar getInstance()根据当前系统时区和语言环境获取日历对象
int get(int field)返回给定日历字段的值
void set(int field,int value)将给定的日历字段设置为指定的值
public class Demo01 {
    public static void main(String[] args) {
        //Date()构造一个日期对象
        //采用当前操作系统默认时间
        Date date1 = new Date();
        System.out.println(date1);

//long getTime()                | 将日期对象转换成对应时间的毫秒值
        long time = date1.getTime();
        //1624373595686
        System.out.println("time:" + time);

//Data(long)构造一个日期对象,时间为自“1970年1月1日00:00:00 GMT”起,至指定参数的毫秒数
        //毫秒值参数因为是long类型的所以要加L
//        Date date2 = new Date(1624373595686L);
        //可以直接把日期参数毫秒值传入Date对象
        Date date2 = new Date(time);
        System.out.println(date2);


    }
}
public class Demo02 {
    public static void main(String[] args) {
//static Calendar getInstance() | 根据当前系统时区和语言环境获取日历对象
        Calendar c = Calendar.getInstance();
        System.out.println(c);
//int get(int field)            | 返回给定日历字段的值
        //获取年月日的信息
        int year = c.get(Calendar.YEAR);
        //java中月份是从零开始的
        int month = c.get(Calendar.MONTH);
        int day = c.get(Calendar.DATE);
        System.out.println(year + "年" + (month+1) + "月" + day + "日");
//void set(int field,int value) | 将给定的日历字段设置为指定的值
        //设置年月日信息
        c.set(2077,6,15);
        //获取年月日信息
        int year2 = c.get(Calendar.YEAR);
        int month2 = c.get(Calendar.MONTH);
        int day2 = c.get(Calendar.DATE);
        System.out.println(year2 + "年" + (month2 + 1) + "月" + day2 + "日");
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值