【JavaSE】核心API

目录

 一 API概述

二 Scanner类

三 Random类

四 Runtime类

五 Math类

六 String类

七 Arrays类

八 Object类

九 Calendar类

十 SpringBuilder类


 一 API概述

API(Applictaion Programming )应用程序接口:预先定义的接口供开发人员使用。JDK中以包的形式提供了丰富的API接口。

java.lang包:是所有类库的基础,支持Java程序运行。lang包已经被嵌入到JVM虚拟机中并创建为对象,因此在使用时不需要导入。

以下所有类都是在java.lang包中的

导包:java.lang.*

二 Scanner类

说明:是一个用于扫描输入文本,可以解析基本类型和字符串的文本扫描器

使用示例:

 public static void main(String[] args) {
        //创建一个Scanner扫描
        Scanner sc = new Scanner(System.in);

        System.out.println("输入一个布尔类型:");
        boolean bo = sc.nextBoolean();
        System.out.println("输入的布尔值是:" + bo);
        System.out.println("--------------------");

        System.out.println("输入一个int值:");
        int i = sc.nextInt();
        System.out.println("输入的int值是:" + i);
        System.out.println("--------------------");

        System.out.println("输入一个字符串:");
        String s = sc.next();
        System.out.println("输入的字符串是:" + s);
        System.out.println("--------------------");


    }

注意:

next()、nextLine()、nextInt()、hasnext()

三 Random类

说明:用于生产伪随机数,这个随机也是有规则的。随机算法的起源数字为种子数(seed),相同种子数的random对象,两次生成的随机数是完全相同的,所有在生成多个随机数时要注意。

使用示例:

四 Runtime类

说明:封装了与虚拟机相关的方法,可以获取当前程序运行信息,退出程序,关闭虚拟机等操作。

使用示例:

 public static void main(String[] args) {
        //获取JVM内存信息
        Runtime runtime = Runtime.getRuntime();
        //最大内存
        long maxMemory = runtime.maxMemory();
        //总内存
        long totalMemory = runtime.totalMemory();
        //空闲内存
        long freeMemory = runtime.freeMemory();
        System.out.println("最大可用内存空间:" + (maxMemory/1024/1024)+"M");
        System.out.println("所有可用内存空间:" + (totalMemory/1024/1024)+"M");
        System.out.println("剩余内存空间:" + (freeMemory/1024/1024)+"M");
    }

五 Math类

说明:执行基本数学运算,大都是静态方法。

使用示例:

  
    public static void math(){
        //绝对值
        int abs = Math.abs(-20);
        System.out.println(abs);//20
        
        //向上取整
        double ceil = Math.ceil(30.2);
        System.out.println(ceil);//31.0
        
        //向下取整
        double floor = Math.floor(45.4);
        System.out.println(floor);//45
        
        //四舍五入
        long r1 = Math.round(44.6);
        System.out.println(r1);
        
        //生成[0,1)的随机数
        for (int i = 0; i < 20; i++) {
            System.out.println(Math.random());
        }
    }

Math.random:

Math.random() * 9 + 1:随机生成一位数1-9

(Math.random() * 9 + 1 )*10:随机生成二位数10-99

(Math.random() * 9 + 1 )*100:随机生成三位数100-999

 public static void main(String[] args) {
        //生成6个四位数验证码
        for (int i = 0; i < 6; i++) {
            int num =(int)((Math.random()*9+1)*1000);
            System.out.println(num);
        }
    }

六 String类

1.说明:

用于创建字符串,创建后不再改变,其值视为常量

2.使用示例:

构造方法

public static void main(String[] args) {
        //1.String()创建一个空的字符串对象
        String str1 = new String();
        System.out.println("str1:" + str1);//空字符串

        //2.String(String original) 根据字符串来创建一个字符串对象
        String str2 = new String("good!");
        System.out.println(str2);//good

        //3.String(char[] value)通过字符数组创建字符串对象
        char[] ch = {'A','B','D'};
        String str3 = new String(ch);
        System.out.println(str3);//ABD

        //4.String(byte[] bytes)通过字节数组来构造新的字符串对象
        byte[] bytes = {97,98,99,100};
        String str4 = new String(bytes);
        System.out.println(str4);//abcd

        //5.String(byte[] bytes, int offset, int length)
        //通过字节数组一部分来构造字符串对象
        String str5 = new String(bytes, 1, 2);
        System.out.println(str5);//bc
    }

常用方法:

        /*1.比较功能方法*/
        String s1 = "ww";
        String s2 = "ww";
        String s3 = "Ww";
        //boolean equals(Object anObject)将此字符串与直到对象进行比较
        System.out.println(s1.equals(s2));//true
        System.out.println(s2.equals(s3));//false
        System.out.println("-------------------");

        //boolean equalsIgnoreCase(String str)忽略大小写
        System.out.println(s1.equalsIgnoreCase(s2));//true
        System.out.println(s2.equalsIgnoreCase(s3));//true


        /*2.获取功能方法*/
        String str = "HelloWorld";

        //public int length():返回字符串长度
        System.out.println(str.length());//10


        //public String concat(String str):将指定字符串连接到该字符串末尾
        String str2 = str.concat("_2023");
        System.out.println(str2);//HelloWorld_2023

        //public char charAt(int index):返回指定索引处的char值
        char ch = str.charAt(4);
        System.out.println(ch);//o

        //public int indexOf(String str):返回子字符串第一次出现在字符串中的索引
        int a = str.indexOf("ll");
        int b = str.indexOf("w");
        System.out.println(a);//2
        System.out.println(b);//-1

        /*3.转换功能方法*/
        String str = "abc";

        //public char[] toCharArray():将此字符串转换为新的字符数组
        char[] chars = str.toCharArray();//a,b,c
        for (int i = 0; i < chars.length; i++) {
            System.out.println(chars[i] + ",");
        }

        //public byte[] getBytes():使用默认字符集将该String编码转换为新的字节数组
        byte[] bytes = str.getBytes();//97,98,99
        for (int i = 0; i < bytes.length; i++) {
            System.out.println(bytes[i] + ",");
        }

        //public String toLowCase():转小写
        String low = str.toLowerCase();
        System.out.println(low);//abc

        //public String toUpperCase():转大写
        String up = str.toUpperCase();
        System.out.println(up);//ABC

        //public String replace(CharSequence target, CharSequence replacement) :第二个参数替换第一个
        String str2 = "good";
        String str3 = str2.replace("o","O");
        System.out.println(str2);//good
        System.out.println(str3);//gOOd

        /*4.切割功能方法*/
        String str = "HelloWorld";

        //public String substring(int beginIndex):从beginIndex位置开始截取字符串到结尾
        String sub1 = str.substring(5);
        System.out.println(sub1);//World

        //public String substring(int beginIndex, int endIndex):[beginIndex,endIndex)
        String sub2 = str.substring(0,5);
        System.out.println(sub2);//Hello

        //String[] split(String regex):按照指定规则拆分
        String word = "燕麦奶加咖啡液,美味,真的美味";
        String[] words = word.split(",");
        for (int i = 0; i < words.length; i++) {
            System.out.println(words[i]);
        }
        //燕麦奶加咖啡液
        //美味
        //真的美味
        
        

3.常量池

简介:常量池是JVM中的一块内存区域。


七 Arrays类

说明:关于数组操作的工具类,均为静态方法。

使用示例:

public static void main(String[] args) {
        int[] arr1 = {11,22,33,44,55,66};
        int[] arr2 = {11,22,33,44,55,66};

        //1.比较两个数组的元素是否相同
        System.out.println(Arrays.equals(arr1, arr2));//true

        //2.toString()方法
        String s = Arrays.toString(arr1);
        System.out.println(s);//[11, 22, 33, 44, 55, 66]


        /*3拷贝*/
        int[] arr = {1,2,3,4,5,6,7};
        //[0,4)从0下标拷贝到4下标,将中间的元素放入新数组并返回
        int[] newArr1 = Arrays.copyOfRange(arr,0,4);

        //[2,4)从2下标拷贝到4下标,将中间的元素放入新数组并返回
        int[] newArr2 = Arrays.copyOfRange(arr,2,4);
        System.out.println(Arrays.toString(arr));//[1, 2, 3, 4, 5, 6, 7]
        System.out.println(Arrays.toString(newArr1));//[1, 2, 3, 4]
        System.out.println(Arrays.toString(newArr2));//[3, 4]

        //从0下标开始拷贝2个元素到新数组并返回
        int[] newArr = Arrays.copyOf(arr,2);
        System.out.println(Arrays.toString(newArr));//[1, 2]



        /*4.sort()方法*/
        int[] a = {27,13,76,98,56};
        int[] b = {16,11,20,47,22};
        System.out.println(Arrays.toString(a));//[27, 13, 76, 98, 56]

        //数组排序:默认升序
        Arrays.sort(a);
        System.out.println(Arrays.toString(a));//[13, 27, 56, 76, 98]

        //数组排序:只排序[0,3)下标内的元素
        Arrays.sort(b,0,3);
        System.out.println(Arrays.toString(b));//[11, 16, 20, 47, 22]



        /*5.binarySearch()方法*/
        int[] c = {22,65,34,18,20};

        //搜索前先排序
        Arrays.sort(c);
        System.out.println(Arrays.toString(c));
        //在数组中搜索18
        int index = Arrays.binarySearch(c,18);
        System.out.println(index);//0
        //在数组中搜索不存在的25:25插入的索引为2,最终查询位置:(-2-1)=-3
        int index2 = Arrays.binarySearch(c,21);
        System.out.println(index2);//-3
        
        
    }

八 Object类

说明:是Java语言中的根类,Object类描述的所有方法子类都可以使用。对象实例化的时候,最终找到的父类就是Object类。

常用方法:

使用示例:

九 Calendar类

说明:是日历类,方便获取各个时间属性。

取值范围:星期0-6,代表星期六-星期五; 月份0-11,代表1-12月。

使用示例:

get方法:

public static void main(String[] args) {
        /*get方法*/
        Calendar calendar = Calendar.getInstance();
        System.out.println("年:" + calendar.get(Calendar.YEAR));
        System.out.println("月:" + calendar.get(Calendar.MONTH));
        System.out.println("日:" + calendar.get(Calendar.DAY_OF_MONTH));
        System.out.println("星期几:" + calendar.get(Calendar.DAY_OF_WEEK));
        System.out.println("这个月第几周:" + calendar.get(Calendar.WEEK_OF_MONTH));
        System.out.println("时:" + calendar.get(Calendar.HOUR));
        System.out.println("分:" + calendar.get(Calendar.MINUTE));
        System.out.println("秒:" + calendar.get(Calendar.SECOND));

    }

set方法:

 public static void main(String[] args) {
        /*set方法:将给定的日历设置为给定值*/
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.YEAR,2024);
        calendar.set(Calendar.MONTH,1);
        calendar.set(Calendar.DAY_OF_MONTH,8);
        calendar.set(Calendar.HOUR,21);
        calendar.set(Calendar.MINUTE,20);
        calendar.set(Calendar.SECOND,22);
        System.out.println("年:" + calendar.get(Calendar.YEAR));
        System.out.println("月:" + calendar.get(Calendar.MONTH));
        System.out.println("日:" + calendar.get(Calendar.DAY_OF_MONTH));
        System.out.println("星期几:" + calendar.get(Calendar.DAY_OF_WEEK));
        System.out.println("时:" + calendar.get(Calendar.HOUR));
        System.out.println("分:" + calendar.get(Calendar.MINUTE));
        System.out.println("秒:" + calendar.get(Calendar.SECOND));

    }

add方法:

public static void main(String[] args) {
        /*add方法:对给定日立的值进行加减操作*/
        Calendar calendar = Calendar.getInstance();
        //2023年10月16日
        System.out.println(calendar.get(Calendar.YEAR)+"年"+calendar.get(Calendar.MONTH)+"月"+calendar.get
        (Calendar.DAY_OF_MONTH)+"日");
        //使用add方法
        calendar.add(Calendar.DAY_OF_MONTH,6);//加2天
        calendar.add(Calendar.YEAR,-6);//减6年
        //2017年10月22日
        System.out.println(calendar.get(Calendar.YEAR)+"年"+calendar.get(Calendar.MONTH)+"月"+calendar.get(Calendar.DAY_OF_MONTH)+"日");
    }

getTime方法:

public static void main(String[] args) {
        //getTime:拿到对应的Date对象
        Calendar calendar = Calendar.getInstance();
        Date date = calendar.getTime();
        System.out.println(date);//Mon Oct 16 21:33:11 CST 2023
    }

十 SpringBuilder类

说明:称为字符可变序列,是一个字符的缓冲区。相当于一个容器,内部拥有一个可以存放很多字符串的数组,可以对字符串进行各种操作,会自动扩容。

使用示例:

构造方法:

public static void main(String[] args) {
        //1.无参构造
        StringBuilder s1 = new StringBuilder();
        System.out.println(s1);

        //2.带参构造
        StringBuilder s2 = new StringBuilder("hello");
        System.out.println(2);
    }

常用方法:

append方法:

public static void main(String[] args) {
        /*append方法:添加任意类型数据的字符串形式,并返回当前对象自身。*/

        StringBuilder builder = new StringBuilder();
        StringBuilder builder1 = builder.append("hello");
        System.out.println("builder:"+builder);//builder:hello
        System.out.println("builder1:"+builder1);//builder1:hello
        System.out.println(builder == builder1);//true

        builder.append("good");
        builder.append(true);
        builder.append("100");
        System.out.println(builder);

reverse方法:

 public static void main(String[] args) {
        /*reverse方法:将当前对象的字符串反转,并返回当前对象自身*/
        StringBuilder s1 = new StringBuilder("sofa");
        StringBuilder s2 = s1.reverse();
        System.out.println(s1);//afos
        System.out.println(s1 == s2);//true

    }

toString方法:

    public static void main16(String[] args) {
        /*reverse方法:将当前对象的字符串反转,并返回当前对象自身*/
        StringBuilder s1 = new StringBuilder("sofa");
        StringBuilder s2 = s1.reverse();
        System.out.println(s1);//afos
        System.out.println(s1 == s2);//true

    }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值