常用Api

常用Api - Math

Math类概述

Math 包含执行基本数字运算的方法

Math中方法的调用方式

Math类中无构造方法,但内部的方法都是静态的,则可以通过 类名.进行调用

方法名说明
public static int abs(int a)返回参数的绝对值
public static double ceil(double a)返回大于或等于参数的最小double值,等于一个整数
public static double floor(double a)返回小于或等于参数的最大double值,等于一个整数
public static int round(float a)按照四舍五入返回最接近参数的int
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 random()返回值为double的正值,[0.0,1.0)
package com.itxuexi.it12.apiMath01;

public class MathDemo {
    public static void main(String[] args) {
        //返回[参数]绝对值 abs(int a)
        System.out.println(Math.abs(88));
        System.out.println(Math.abs(-88));     //88
        System.out.println(Math.abs(-88.1));   //88.1
        System.out.println("------------------------------");

        // 返回大于或等于参数的最小double值,等于一个整数
        System.out.println(Math.ceil(-12.1));    //-12.0
        System.out.println(Math.ceil(11.34));     //12.0
        System.out.println(Math.ceil(11.9));     //12.0
        System.out.println("------------------------------");

        // 返回大于或等于参数的最大floor值,等于一个整数
        System.out.println(Math.floor(-12.1));    //-13.0
        System.out.println(Math.floor(11.34));     //11.0
        System.out.println(Math.floor(11.9));     //11.0
        System.out.println("------------------------------");

        //按照四舍五入返回最接近参数的int
        System.out.println(Math.round(-12.1));    //-12.0
        System.out.println(Math.round(11.34));     //11.0
        System.out.println(Math.round(11.9));     //12.0
        System.out.println("------------------------------");

        // 返回两个int值中的较大值
        System.out.println(Math.max(11.4,11.5));     //11.5
        System.out.println("------------------------------");

        //返回两个int值中的较小值
        System.out.println(Math.min(11.4,11.5));     //11.4
        System.out.println("------------------------------");

        //返回a的b次幂的值
        System.out.println(Math.pow(2,5));     //32
        System.out.println("------------------------------");

        //  返回值为double的正值,[0.0,1.0)之间的随机数
        System.out.println(Math.random());     //随机数
        System.out.println(Math.random()*100);     //
        System.out.println((int)(Math.random()*100));     //强转 0-99
        System.out.println((int)(Math.random()*100)+1);     //强转 1-100

    }
}

常用Api - System

System 包含几个有用的类字段和方法,它不能被实例化

方法名说明
public static void exit(int status)终止当前运行的 Java 虚拟机,非零表示异常终止
public static long currentTimeMillis()返回当前时间(以毫秒为单位)
package com.itxuexi.it12.apiMath01;

public class SystemDemo {
    public static void main(String[] args) {
        System.out.println("开始");
        // 终止当前运行的  Java  虚拟机
//        System.exit(0);
        System.out.println("结束");

        //计算1970年到现在相隔多少年
        System.out.println(System.currentTimeMillis() * 1.0 / 1000 / 60 / 60 / 24 / 365 + "年");

        //开始时间
        long start = System.currentTimeMillis();
        //运行1-10000
        for (int i = 0; i < 10000; i++) {
            System.out.println();
        }
        //结束时间
        long end = System.currentTimeMillis();
        System.out.println("共耗时:" + (end - start) + "毫秒");


    }
}

常用Api - Object

Object 是类层次结构的根,每个类都可以将 Object 作为超类。所有类都直接或者间接的继承自该类, 换句话说,该类所具备的方法,所有类都会有一份

方法名说明
public String toString()返回对象的字符串表示形式。建议所有子类重写该方法,自动生成
public boolean equals(Object obj)比较对象是否相等。默认比较地址,重写可以比较内容,自动生成
toString方法的作用:

以良好的格式,更方便的展示对象中的属性值

  1. Alt + Insert 选择toString
  2. 在类的空白区域,右键 -> Generate -> 选择toString
package com.itxuexi.it12.apiObject;

public class Student {
    private String name;
    private  int age;

    public Student() {
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    //以后建议都重写此方法 alt + insert  ; to String
   
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

//---------------------------------
package com.itxuexi.it12.apiObject;
//看方法源码 : 选中方法,Ctrl + b


public class ObjectDemo {
    public static void main(String[] args) {
        Student s = new Student();
        s.setName("张悦");
        s.setAge(20);
        System.out.println(s);   //com.itxuexi.it12.apiObject.Student@4554617c
        System.out.println(s.toString());    //Student 默认继承 Object   ; 建议重写 to String

        /*
            public void println(Object x) {       //  x = s
        String s = String.valueOf(x);
        synchronized (this) {
            print(s);
            newLine();
        }
    }
           public static String valueOf(Object obj) {      //obj =x
        return (obj == null) ? "null" : obj.toString();
    }

          public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

         */


    }
}

equals方法的作用

用于对象之间的比较,返回true和false的结果

举例:s1.equals(s2); s1和s2是两个对象

package com.itxuexi.it12.apiObject02;

public class Student {
    private String name;
    private  int age;

    public Student() {
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    
    @Override
    public boolean equals(Object o) {

        /*
        this  ---  s1
        obj   ---   s2
         */

        //比较地址是否相同,如果相同,直接返回true
        if (this == o) return true;

        //判断参数是否有null
        //判断两个对象是否来自同一个类
        if (o == null || getClass() != o.getClass()) return false;

        //向下转型
        Student student = (Student) o;     //student = s2

        //比较年龄是否相同
        if (age != student.age) return false;

        //比较姓名是否相同
        return name != null ? name.equals(student.name) : student.name == null;
    }


}

//-------------------------------------------------------
package com.itxuexi.it12.apiObject02;

public class ObjectDemo {
    public static void main(String[] args) {
        Student s1 = new Student();
        s1.setName("张悦");
        s1.setAge(20);

        Student s2 = new Student();
        s2.setName("张悦");
        s2.setAge(20);

        //需求:比较两个对象的内容是否相同
//        System.out.println(s1 == s2);

        System.out.println(s1.equals(s2));

        /*
            public boolean equals(Object obj) {
        return (this == obj);
        this --- s1
        obj --- s2
        return (s1 == s2);

    }
         */

    }
}


冒泡排序
package com.itxuexi.it12.Arrays;

public class ArraysDemo {
    public static void main(String[] args) {
        int [] arr = {24,43,33,65,12,45};
        System.out.println("排序前:" + arrayToString(arr));

        for( int x = 0 ;x < arr.length-1 ;x++){
        //第一次比较
            for (int i = 0; i < arr.length - 1-x; i++) {
                if (arr[i] > arr[i + 1]) {
                    int temp = arr[i];
                    arr[i] = arr[i + 1];
                    arr[i + 1] = temp;
                }
            }
        }
        System.out.println("比较后:" + arrayToString(arr) );

    }

    //把数组中的元素按照指定的规则组成一个字符串:
    public static String arrayToString(int [] arr){
        StringBuilder sb = new StringBuilder();
        sb.append("[");
        for (int i = 0; i < arr.length; i++){
            if (i == arr.length-1){
               sb.append(arr[i]);
            }else{
                sb.append(arr[i]).append(",");
            }
        }
        sb.append("]");
        String s = sb.toString();
        return s;
    }
}

常用Api - Arrays
方法名说明
public static String toString(int[] a)返回指定数组的内容的字符串表示形式
public static void sort(int[] a)按照数字顺序排列指定的数组
package com.itxuexi.it12.Arrays;

import java.lang.reflect.Array;
import java.util.Arrays;

public class ArraysDemo2 {
    public static void main(String[] args) {
        //定义一个数组
        int [] arr = {24,44,32,58,12};

        //回指定数组的内容的字符串表示形式  
        System.out.println("排序前" + Arrays.toString(arr));

        // 按照数字顺序排列指定的数组  
        Arrays.sort(arr);

        System.out.println("排序后" + Arrays.toString(arr));
    }
}

工具类设计思想

1、构造方法用 private 修饰

2、成员用 public static 修饰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

岿然如故

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值