191-197 常用API

11 篇文章 0 订阅

194 常用API

Math

System

Object

Arrays

基本类型包装类

日期类

Math

(查看帮助文档)

属于lang包

package lang

pubilc class Math extends Object

Math包含执行基本数字运算的方法,如基本指数、对数、平方根、三角函数

> static修饰的变量、方法,可以无需构造方法,直接通过类名被访问

Math类中没有构造方法,但它的字段和方法是static修饰的,故可以通过类名访问这些变量、方法

--------------------------------------------------------------

package itheimaE194;

public class MathDemo {

    public static void main(String[] args) {

        String line="---";

        System.out.println("Math.abs(int n):返回参数的绝对值。"+"5,-5会变成:"+Math.abs(5)+","+Math.abs(-5));

        System.out.println(line);

        System.out.println("Math.ceil(double n):返回大于等于参数的最小double数,也就是一个整数。"+"double3.4会变成:"+Math.ceil(3.4));

        System.out.println(line);

        System.out.println("Math.floor(double n):返回小于等于参数的最小double数,也就是一个整数。"+"double3.4会变成:"+Math.floor(3.4));

        System.out.println(line);

        System.out.println("Math.round(float n):四舍五入。"+"float3.4会变成:"+Math.round(3.4)+",float3.6会变成:"+Math.round(3.6));

        System.out.println(line);

        System.out.println("Math.max(int n,int o):比较大的数。"+"7,8谁大:"+Math.max(7,8));

        System.out.println(line);

        System.out.println("Math.min(int n,int o):比较小的数。"+"7,8谁小:"+Math.min(7,8));

        System.out.println(line);

        System.out.println("Math.pow(double n,double o):a的b次幂。"+"double2.1的double3次幂。"+Math.pow(2.1,3.0));

        System.out.println(line);

        System.out.println("Math.random():double的正值。"+"0<=n<=1,n取不到1。"+Math.random());

        System.out.println(line);

    }

}

--------------------------------------------------------------

Math.abs(int n):返回参数的绝对值。5,-5会变成:5,5

---

Math.ceil(double n):返回大于等于参数的最小double数,也就是一个整数。double3.4会变成:4.0

---

Math.floor(double n):返回小于等于参数的最小double数,也就是一个整数。double3.4会变成:3.0

---

Math.round(float n):四舍五入。float3.4会变成:3,float3.6会变成:4

---

Math.max(int n,int o):比较大的数。7,8谁大:8

---

Math.min(int n,int o):比较小的数。7,8谁小:7

---

Math.pow(double n,double o):a的b次幂。double2.1的double3次幂。9.261000000000001

---

Math.random():double的正值。0<=n<=1,n取不到1。0.4445636009040983

---

195 System

(查看帮助文档)

属于lang包

package lang

pubilc class System extends Object

System类包含几个有用的类字段和方法,它不能被实例化(是static的,因此可以直接使用类名进行访问)

System类提供的设施包括标准输入、标准输出、错误输出流;访问外部定义的属性和环境变量;一种加载文件和库的方法;以及用于快速复制阵列的一部分的实用方法。

public static exit(0);终止当前运行的JVM,参数是状态代码;按惯例,非零状态码表示异常终止,0代表一般终止。该方法在runtime调用exit方法,不返回。

System.exit(n);==runtime.getRuntime().exit(n);

public static long correctTimeMillis();返回当前时间(精确到毫秒),是当前时间与1970-1-1的时间

project myJava2021

module mySystem

package e195system

class SystemDemo

--------------------------------------------------------------

package e195system;

//195 System

public class SystemDemo {

    public static void main(String[] args) {

        //public static long correctTimeMillis();

        //返回当前时间(精确到毫秒),是当前时间与1970-1-1的时间

        System.out.println("System.currentTimeMillis()\t"+System.currentTimeMillis());

        System.out.println("from now\t"+System.currentTimeMillis()*1.0/1000/60/60/24/365+"years");

        //执行一个简单的for循环需要多久?

        long beginTime = System.currentTimeMillis();

        for(int i = 0;i<10000;i++){

            System.out.println(i);

        }

        long endTime = System.currentTimeMillis();

        System.out.println("执行一个简单的for循环需要"+(endTime-beginTime)+"毫秒");//输出了93

        //public static exit(0);终止当前运行的JVM,参数是状态代码;

        // 按惯例,非零状态码表示异常终止,0代表一般终止。

        // 该方法在runtime调用exit方法,不返回。

        System.out.println("begin");

        System.exit(0);

        System.out.println("end");

    }

}

196 Object类的toSpring()方法

object是所有类的超类,内含一个无参构造方法

2021.9.16

public String toString()

返回对象的字符串表示形式,建议所有子类重写该方法,自动生成

原有表示形式:getclass().getName() + "@" + Integer.toHexString(hashCode())

建议的重写形式:generate->toString,选中参数,确定

public boolean equals(Object obj)

比较对象是否相等,默认比较对象的地址,重写后能够比较对象的内容,自动生成

--------------------------------------------------------------

myJava2021

myObject

it01e196

--------------------------------------------------------------

package it01e196;

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;

    }

    //重写带参的toString方法,让toString输出参数,而不是getclass().getName() + "@" + Integer.toHexString(hashCode())

    //generate->toString,选中参数,确定

    @Override

    public String toString() {

        return "Student{" +

                "name='" + name + '\'' +

                ", age=" + age +

                '}';

    }

}

--------------------------------------------------------------

package it01e196;

import java.io.PrintStream;

public class ObjectDemo {

    public static void main(String[] args) {

        Student s1 = new Student();

        s1.setName("林");

        s1.setAge(30);

        System.out.println(s1);

        System.out.println(s1.toString());//由此可见,输出对象名==按toString方法输出内容

        //it01e196.Student@776ec8df

        //为什么输出这个?——查看方法源码->getclass().getName() + "@" + Integer.toHexString(hashCode())

        //如何查看方法的源码?——选中方法名,双击,选择go to,或者选中方法名,点击ctrl B

        //查看源码可知,这次输出依次调用了println、valueOf、toString,共3个方法

//        建议所有子类覆盖此方法(toString),覆盖==重写

//        # ---println---

//        public void println(Object x) {

//            String s = String.valueOf(x);

//            if (getclass() == PrintStream.class) {

//                // need to apply String.valueOf again since first invocation

//                // might return null

//                writeln(String.valueOf(s));

//            } else {

//                synchronized (this) {

//                    print(s);

//                    newLine();

//                }

//            }

//        }x->s1

//        # ---valueOf---

//        public static String valueOf(Object obj) {

//            return (obj == null) ? "null" : obj.toString();

//        }obj->x

//        # ---toString---

//        public String toString() {

//            return getclass().getName() + "@" + Integer.toHexString(hashCode());

//        }getclass().getName() + "@" + Integer.toHexString(hashCode())

        //it01e196.Student@776ec8df

    }

}

197 object类的equals()方法

--------------------------------------------------------------

myJava2021

myObject

it02e197

--------------------------------------------------------------

package it02e197;

import java.util.Objects;

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 equals() in class-Student

    //generate,equals and hashcode,next,next,next,finish,delete code of hashcode

    @Override

    public boolean equals(Object o) {

//        this==s1,o==s2,

//        compare two address

        if (this == o) return true;

//        is two parameters null

//        is two objects from the same class

        if (o == null || getclass() != o.getclass()) return false;

//        DOWNWARD TRANSFORMATION:transfer o to Student,Student is s2

        Student student = (Student) o;

//        compare four variables

        return age == student.age && Objects.equals(name, student.name);

    }

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

}

--------------------------------------------------------------

package it02e197;

public class ObjectDemo {

    public static void main(String[] args) {

        Student s1 = new Student("Smith",30);

        Student s2 = new Student("Smith",30);

        //compare the contains of two objects

        System.out.println(s1 == s2);//false,the result is from comparing of two object address

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

        //# ---equals()---

//        public boolean equals(Object obj) {

//            return (this == obj);

//        }this->s1,obj->s2

        //override equals() in class-Student

    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值