本文介绍: 就是别人写好的一些类,给咱们程序员直接拿去调用即可解决问题我们之前接触过的Scanner和Random都是API但java中提供的API很多我们没有必要去学习所有的API,只需要知道一些常用的API,再借助帮助文档使用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<s.length;i++){
    s.charAt(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));

原文地址:https://blog.csdn.net/lbcbjtlhmjq/article/details/134649435

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_47154.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注