matchAPI

Math 构造私有不能创建对象,里面都是静态成员.


 

abs绝对值

ceil向上取整

floor向下取整

round四舍五入

max返回最大数🌳

min返回最小数📕

pow(a,b)a的B次幂

random 随机数 [0.0,1.0)

 

package com.yang.API.Math;

public class TestMath {
    public static void main(String[] args) {
//        输出绝对值
        System.out.println(Math.abs(-10));
//        向上取整
        System.out.println(Math.ceil(10.2));
//        向下取整
        System.out.println(Math.floor(9.8));
//        取最大值
        System.out.println(Math.max(2, 3));
//        取最小值
        System.out.println(Math.min(4, 5));
//        四舍五入
        System.out.println(Math.round(7.7));
        System.out.println(Math.round(6.2));
//        a的b次幂
        System.out.println(Math.pow(8, 1000000));
//        随机数
        for (int i=0;i<10;i++) {
            System.out.println(Math.random());
        }
    }
}

  System 不能创建对象,私有构造,静态成员

    exit  退出Java虚拟机

    currentTimeMillis      返回时间

    arrycopy (复制数组名 ,起始索引,目的地址,起始索引,拷贝个数)                数组复制

   Object类

打印重写toString,重写前打印对象内存地址使用的式Object类中的toString,重写后打印对象成员变量值

 equals比较对象是否相等,默认比较地址值,想比较值重写equals方法

Object中equals使用==号比较地址值 

 

 

 

 

package com.yang.API.Object;

public class MyEquals {
    public static void main(String[] args) {
        Student student1=new Student("adb",12);
        Student student2=new Student("abc",12);
        System.out.println(student1.equals(student2));
    }
}

  Student的祖父类Object类默认equals 不重写结果为false

public boolean equals(Object obj) {
        return (this == obj);
    }

  重写后可以比较内容同一类对象内容相同返回true

 public boolean equals(Object o) {
        if (this == o)
            return true;
        if (o == null || getClass() != o.getClass())
            return false;

        Student student = (Student) o;

        if (age != student.age)
            return false;
        return name != null ? name.equals(student.name) : student.name == null;
    }

  BigDecimal进行精确计算  构造方法可为数字 和字符串 建议使用字符串(字符串数字)进行计算,防止精度的丢失。

package com.yang.API.BigDecimal;

import java.math.BigDecimal;

public class MyDecimal {
    public static void main(String[] args) {
        BigDecimal a=new BigDecimal(0);
        BigDecimal a1=new BigDecimal("1.56");
        BigDecimal a2=new BigDecimal("1.56");
        BigDecimal add=a1.add(a2);
        System.out.println("和"+add);
        BigDecimal mutiply=a1.multiply(a2);
        System.out.println("乘积"+mutiply);
        BigDecimal divide=a1.divide(a2);
        System.out.println("商"+divide);
        BigDecimal subtract=a1.subtract(a2);
        System.out.println("差"+subtract);
    }
}

  

package com.yang.API.BigDecimal;

import java.math.BigDecimal;
import java.math.RoundingMode;

public class MyDecimal {
    public static void main(String[] args) {
        BigDecimal a=new BigDecimal(0);
        BigDecimal a1=new BigDecimal("1.55");
        BigDecimal a2=new BigDecimal("1.56");
        BigDecimal add=a1.add(a2);
        System.out.println("和"+add);
        BigDecimal mutiply=a1.multiply(a2);
        System.out.println("乘积"+mutiply);
//        BigDecimal divide=a1.divide(a2);
//        System.out.println("商"+divide);
        BigDecimal subtract=a1.subtract(a2);
        System.out.println("差"+subtract);
//        BigDecimal.ROUND_UP已过时   @Deprecated
        System.out.println("进一法"+a1.divide(a2, 5, RoundingMode.UP));
//        BigDecimal.ROUND_FLOOR    @Deprecated
        System.out.println("去尾法"+a1.divide(a2, 5, RoundingMode.FLOOR));
//        BifDecimal.HALF_UP  @Deprecated
        System.out.println("四舍五入"+a1.divide(a2, 5, RoundingMode.HALF_UP));
    }
}

byte        Byte                         

short       Short

                                                    引用

int           Integer               ArryList<Integer>

long         Long

folat         Float

double     Double

boolear   Boolear

char        Character

装箱  把一个基本数据类型,变成对应的包装类

自动  java底层会帮我们自动调用valueof()方法

Integer i=3;自动装箱

int i1=i; 自动拆箱

 

Integer i=null;

i+=4;报错 null可以赋值给包装类(引用)

但是空不能赋值给基本数据类型

Integer和Integer使用==号比较的是内存地址 一个字节的整数被缓存到IntegerCache中

所以两个 Integer 128返回false 127返回true

 

//除Character以外,其余包装类,都有一个静态方法:parseXxx()将字符串数据转换程基本类型的数据

parseInt(String Str)

 

String s1="100";

int num =Integer.parseInt(s1);

package com.yang.API.ParseXxx;

import java.util.Scanner;

public class MyParseTest {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入学生的信息:姓名,年龄,分数");
        String str=scanner.next();
        String[] arry=str.split(",");
        Student student=new Student(arry[0],Integer.parseInt(arry[1]),Double.parseDouble(arry[2]));
        System.out.println(student.toString());
    }
}

  

 

posted @ 2021-10-07 18:42  互联.王  阅读(52)  评论(0编辑  收藏  举报