小白备战蓝桥杯:Java常用API

目录

一、什么是API

二、API帮助文档的使用

三、String

String中的成员方法都不会修改原字符串

String是啥?

String常见构造方法

equals:字符串比较(区分大小写)​编辑

equalsIgnoreCase:字符串比较(不区分大小写)

toCharArray:将字符串转换成字符数组(常用于字符串遍历)

length:返回字符串长度

charAt:返回指定索引处的char值(常用于字符串遍历)

substring:字符串截取 

​编辑

replace:字符串替换​编辑

split:字符串切割

四、StringBuilder

StringBuilder通常会修改原字符串内容

StringBuilder是啥?

StringBuilder的构造方法

append:追加,返回对象自己

reverse:反转字符串,返回对象自己

length:返回字符串长度

toString:将StringBuilder转化成String并返回

五、Math工具类

        public static int abs (int a) : 获取参数绝对值

        public static double ceil (double a) : 向上取整

        public static double floor (double a) : 向下取整

        public static int round (float a) : 四舍五入

        public static int max (int a, int b) : 获取两个int值中的较大值

        public static double pow (double a,double b) : 返回a的b次幂的值

        public static double random () : 返回值为double的随机值,范围[0.0,1.0)

六、Arrays工具类

public static String toString (类型[] a) : 将数组元素拼接为带有格式的字符串

public static boolean equals (类型[] a, 类型[] b) : 比较两个数组内容是否相同

public static int binarySearch (int[] a, int key) : 查找元素在数组中的索引 (二分查找法: 保证数组的元素是排好序的)。如果查找的元素在数组中不存在: 返回 (-(插入点) - 1)

public static void sort (类型[] a) : 对数组进行默认升序排序


一、什么是API

就是别人写好的一些类,给咱们程序员直接拿去调用即可解决问题的

我们之前接触过的Scanner和Random都是API

但java中提供的API很多,我们没有必要去学习所有的API,只需要知道一些常用的API,再借助帮助文档去使用API

二、API帮助文档的使用

1、点击左上角显示->索引,搜索我们需要使用的类

2、使用一个类之前,先看这个类所在的包,如果这个类所在的包是java.lang,则不需要编写导包代码,反之则需要写导包代码(如:import java.util.Scanner)

3、看这个类的介绍

4、看这个类的构造方法,根据构造方法才能将这个对象创建出来

5、看这个类的成员方法,看介绍、方法名、返回值、参数

三、String

String中的成员方法都不会修改原字符串

来自java.lang包,不需要编写导包代码

String是啥?

String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现(例如:String s = "abc"可直接创建字符串对象)。

String常见构造方法

        // public String() : 创建一个空白字符串, 里面不含任何内容
        String s1 = new String();
        System.out.println(s1);

        // public String(char[] chs) : 根据传入的字符数组, 创建字符串对象
        char[] chs = {'a','b','c'};
        String s2 = new String(chs);
        System.out.println(s2); // "abc"

        // public String(String original) : 根据传入的字符串, 来创建字符串对象
        String s3 = new String("abc");
        System.out.println(s3);

上面三种方法只是常见,并非常用,最常用的还是String s = "abc"

equals:字符串比较(区分大小写)

s1.equals(s2); //将s1的内容与s2的内容进行比较,返回一个布尔值(相同为true)

equalsIgnoreCase:字符串比较(不区分大小写)

 使用方法和equals一样

toCharArray:将字符串转换成字符数组(常用于字符串遍历)

用这种方式遍历字符串效率更高!

String s = "abc";
char[] c = s.toCharArray();

length:返回字符串长度

注意:字符串中的length是一个方法,所以需要用s.length()

而数组中的length是一个属性,所以直接arr.length

s.length();

charAt:返回指定索引处的char值(常用于字符串遍历)

for(int i=0;i

substring:字符串截取 

传一个参数:从beginIndex开始截取到结尾(包含beginIndex)

String s = "itheima";
String result = s.substring(2); //heima

传两个参数:从beginIndex开始截取到endIndex(包含beginIndex,不包含endIndex) 

String s = "itheima";
String result = s.substring(0,2); //it

replace:字符串替换

String s = "itheima";
String result = s.replace("heima","baima"); // itbaima

split:字符串切割

String s = "192,168,1,1";

        String[] sArr = s.split(",");

        for (int i = 0; i < sArr.length; i++) {
            System.out.println(sArr[i]); //{192,168,1,1}
        }

建议: 先正常指定切割规则, 后来发现没有得到自己要的效果, 就可以尝试在规则前面, 加入 \\ 

String s = "192+168+1+1";

        String[] sArr = s.split("\\+");

        for (int i = 0; i < sArr.length; i++) {
            System.out.println(sArr[i]); //{192,168,1,1}
        }

四、StringBuilder

StringBuilder通常会修改原字符串内容

StringBuilder是啥?

StringBuilder类中的方法可大大提高字符串的操作效率!!!

来自java.lang包,不需要编写导包代码

StringBuilder是一个可变的字符序列,而Sring是一个不可变的字符序列

StringBuilder是字符串缓冲区, 将其理解是容器, 这个容器可以存储任意数据类型, 但是只要进入到这个容器, 全部变成字符串

一个有趣的例子:

public static void main(String[] args) {

        long start = System.currentTimeMillis();

        StringBuilder sb = new StringBuilder();

        for(int i = 1; i <= 100000; i++){
            sb.append(i);
        }

        System.out.println(sb);

        long end = System.currentTimeMillis();

        System.out.println(end - start);            // 运行时间:10毫秒

    }

    private static void method() {
        // 获取1970年1月1日0时0分0秒到现在所经历过的毫秒值 (1秒 = 1000毫秒)
        long start = System.currentTimeMillis();

        String s = "";

        for(int i = 1; i <= 100000; i++){
            s += i;
        }

        System.out.println(s);

        long end = System.currentTimeMillis();

        System.out.println(end - start);            // 运行时间:2804毫秒
    }

StringBuilder的构造方法

public StringBuilder() : 创建一个空白的字符串缓冲区(容器), 其初始容量为16个字符(若后续追加超过16则自动扩容)

public StringBuilder(String str) : 创建一个字符串缓冲区(容器), 容器在创建好之后, 就会带有参数的内容

StringBuilder sb = new StringBuilder(); //空字符串,初始长度为16,若后续追加超过16则自动扩容
StringBuilder sb = new StringBuilder("abc");

append:追加,返回对象自己

append(任意类型)

sb.append("红色").append("绿色").append("蓝色");

reverse:反转字符串,返回对象自己

String s = "abc";
s.reverse(); //"cba"

length:返回字符串长度

太简单了,不想多说了

toString:将StringBuilder转化成String并返回

应用场景:我数据在StringBuilder当中, 我要调用的方法是split, 但split在StringBuilder没有, 但是String有

解决: 转换为String, 再调用

StringBuilder和StringBuffer基本一样,只是StringBuilder线程不安全(但执行效率高一些),StringBuffer线程安全(但执行效率低一些)

五、Math工具类

来自java.lang包,不需要编写导包代码

Math类没有对外提供构造方法,且其中所有的成员方法都被static所修饰,所以这是一个工具类,我们调用其中的成员方法直接 类名.方法

        public static int abs (int a) : 获取参数绝对值

        public static double ceil (double a) : 向上取整

        public static double floor (double a) : 向下取整

        public static int round (float a) : 四舍五入

        public static int max (int a, int b) : 获取两个int值中的较大值

        public static double pow (double a,double b) : 返回a的b次幂的值

        public static double random () : 返回值为double的随机值,范围[0.0,1.0)

System.out.println(Math.abs(-123));         // 123
        System.out.println(Math.abs(-12.3));        // 12.3

        System.out.println("---------------------");

        System.out.println(Math.ceil(12.0)); //12.0
        System.out.println(Math.ceil(12.2)); //13.0
        System.out.println(Math.ceil(12.5));
        System.out.println(Math.ceil(12.9));

        System.out.println("---------------------");

        System.out.println(Math.floor(12.0)); //12.0
        System.out.println(Math.floor(12.2)); //12.0
        System.out.println(Math.floor(12.5));
        System.out.println(Math.floor(12.9));

        System.out.println("---------------------");

        System.out.println(Math.round(3.4)); //3
        System.out.println(Math.round(3.6)); //4

        System.out.println("---------------------");

        System.out.println(Math.max(10, 20)); //20
        System.out.println(Math.min(10, 20)); //10

        System.out.println("---------------------");

        System.out.println(Math.pow(2, 3)); //8

        System.out.println("---------------------");

        System.out.println(Math.random());

六、Arrays工具类

public static String toString (类型[] a) : 将数组元素拼接为带有格式的字符串

如果希望不遍历数组就看到数组中的每个元素,可用该方法将数组转成字符串并打印在控制台上

public static boolean equals (类型[] a, 类型[] b) : 比较两个数组内容是否相同

public static int binarySearch (int[] a, int key) : 查找元素在数组中的索引 (二分查找法: 保证数组的元素是排好序的)。如果查找的元素在数组中不存在: 返回 (-(插入点) - 1)

public static void sort (类型[] a) : 对数组进行默认升序排序

int[] arr1 = {11, 22, 33, 44, 55};
        int[] arr2 = {11, 22, 33, 44, 66};

        // 将数组元素拼接为带有格式的字符串
        System.out.println(Arrays.toString(arr1));
        // 比较两个数组内容是否相同
        System.out.println(Arrays.equals(arr1, arr2));

        // 查找元素在数组中的索引
        System.out.println(Arrays.binarySearch(arr1, 33));
        System.out.println(Arrays.binarySearch(arr1, 66));

        int[] nums = {22, 11, 55, 44, 33};
        System.out.println(Arrays.binarySearch(nums, 11));      // 1

        Arrays.sort(nums);
        System.out.println(Arrays.binarySearch(nums, 11));      // 0

        // 对数组进行默认升序排序
        Arrays.sort(nums);
        System.out.println(Arrays.toString(nums));

你可能感兴趣的:(java,开发语言,蓝桥杯,职场和发展)