Java—— 常见API介绍 第一期

Math

说明:

Math是帮助我们进行数学计算的工具类。

里面的方法都是静态的,可以通过类名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 int min(int a,int b) 获取两个int值中的较小值
public static double pow(double a,double b) 返回a的b次幂的值
public static double sqrt(double a) 返回a的平方根
public static double cbrt(double a) 返回a的立方根
public static double random( ) 返回值为double的随机值,范围[0.0,1.0)

代码演示:

public class Test {
    public static void main(String[] args) {
        //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 sqrt(double a)	返回a的平方根
        //public static double cbrt(double a)	返回a的立方根
        //public static double random( )	返回值为double的随机值,范围[0.0,1.0)

        System.out.println(Math.abs(10));//10
        System.out.println(Math.abs(-10));//10

        System.out.println(Math.ceil(10.5));//11.0
        System.out.println(Math.ceil(-10.5));//-10.0

        System.out.println(Math.floor(10.5));//10.0
        System.out.println(Math.floor(-10.5));//-11.0

        System.out.println(Math.round(10.4));//10
        System.out.println(Math.round(10.5));//11
        System.out.println(Math.round(-10.4));//-10
        System.out.println(Math.round(-10.5));//-10
        System.out.println(Math.round(-10.6));//-11

        System.out.println(Math.pow(2,3));//8.0
        System.out.println(Math.pow(4,0.5));//2.0
        System.out.println(Math.pow(2,-2));//0.25

        System.out.println(Math.sqrt(4));//2.0

        System.out.println(Math.cbrt(8));//2.0

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

    }
}

练习: 

自幂数,一个n位自然数等于自身每一位上数字的n次幂的和
举例1:三位数 1^3+5^3 +3^3 = 153
举例2:四位数 1^4 +6^4 +3^4 +4^3 = 1634
自幂数是一位数,也叫做:独身数
三位自幂数:水仙花数
四位自幂数:四叶玫瑰数
五位自幂数:五角星数
六位自幂数:六合数
七位自幂数:北斗七星数
八位自幂数:八仙数
九位自幂数:九九重阳数
十位自幂数:十全十美数

要求1:统计一共有多少个水仙花数。
要求2:证明没有两位的自幂数。
要求3:分别统计有多少个四叶玫瑰数和五角星数。(答案:都是3个) 

public class Test2 {
    public static void main(String[] args) {

        //定义计数器
        int count = 0;

        //统计一共有多少个水仙花数。
        for (int i = 100; i < 999; i++) {
            //调用方法获得3位自然数每一位上数字的3次幂的和
            int sum = getNumber(i, 3);//365
            if (sum == i) {
                //System.out.println(i);
                count++;
            }
        }
        System.out.println(count);//4

        //证明没有两位的自幂数
        //计数器归0
        count = 0;
        for (int i = 10; i < 99; i++) {
            //调用方法获得2位自然数每一位上数字的2次幂的和
            int sum = getNumber(i, 2);
            if (sum == i) {
                //System.out.println(i);
                count++;
            }
        }
        System.out.println(count);//0

        //统计有多少个四叶玫瑰数
        //计数器归0
        count = 0;
        for (int i = 1000; i < 9999; i++) {
            //调用方法获得4位自然数每一位上数字的4次幂的和
            int sum = getNumber(i, 4);
            if (sum == i) {
                //System.out.println(i);
                count++;
            }
        }
        System.out.println(count);//3

        //统计有多少个五角星数
        //计数器归0
        count = 0;
        for (int i = 10000; i < 99999; i++) {
            //调用方法获得5位自然数每一位上数字的5次幂的和
            int sum = getNumber(i, 5);
            if (sum == i) {
                //System.out.println(i);
                count++;
            }
        }
        System.out.println(count);//3

    }

    //定义方法计算2位自然数每一位上数字的2次幂的和
    public static int getNumber(int n, int m) {
        int sum = 0;
        while (n != 0) {
            int num = n % 10;
            sum = (int) (sum + Math.pow(num, m));
            n = n / 10;
        }
        return sum;
    }
}

System

说明:

System提供了一些与系统相关的方法

里面的方法都是静态的,可以通过类名System直接调用。

常用方法: 

方法名 说明
public static void exit (int status) 终止当前运行的 Java 虚拟机
public static long currentTimeMillis () 返回当前系统的时间毫秒值形式
public static void arraycopy (数据源数组,起始索引,目的地数组,起始索引,拷贝个数) 数组拷贝

代码演示:

public class Test3 {
    public static void main(String[] args) {
        //public static void exit (int status)	终止当前运行的 Java 虚拟机
        //public static long currentTimeMillis ()	返回当前系统的时间毫秒值形式
        //public static void arraycopy (数据源数组,起始索引,目的地数组,起始索引,拷贝个数) 数组拷贝

        //在一段代码的前面和后面分别获取当前系统的时间,其差值可以看作这段代码运行的耗时
        long time1 = System.currentTimeMillis();
        int sum = 0;
        for (int i = 0; i < 1000000000; i++) {
            sum = sum + i;
        }
        long time2 = System.currentTimeMillis();
        System.out.println(time2 - time1);//540 单位是毫秒

        int[] arr1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        int[] arr2 = new int[10];
        System.arraycopy(arr1, 0, arr2, 0, 10);
        for (int i = 0; i < arr2.length; i++) {
            System.out.print(arr2[i] + " ");
        }//1 2 3 4 5 6 7 8 9 10 

        System.exit(0);
        //0 正常停止,非0 异常停止


    }
}







 

你可能感兴趣的:(java,开发语言,API,intellij-idea)