一、API概论
可能很多JAVA萌新对于API感觉有点陌生,其实它并不陌生,我们写一个JAVA程序无时无刻都在使用API,在的第一个程序HelloWorld中就使用了System,而这个System就是一个JAVA的API,那么API的具体概念是什么呢?
API = Java Application Interface。就是指那套基本类数据库,这些基本类数据库在我们开发中给我们不一般的便捷,毫不夸张地说,如果没有这套基本类数据库、编程接口,我们编写程序的困难度上升了不止十倍百倍。
下面我就给大家介绍几个JAVA中常用的API
二、Math
Math包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数。
1. Math中常用方法
(1)、abs:绝对值
- 返回一个数的绝对值
- public static int/long/float/double (int/long/float/double a)
- 可以返回一个整型、长整型、单精度浮点型和双精度浮点型的数的绝对值
- 由于该方法是静态的,因此直接用Math即可进行类名调用
接下来给大家展示一个案例
package MATH;
public class AbsDemo {
public static void main(String[] args) {
int int_a = -10;//定义一个整型数据
//输出-10的绝对值
System.out.println("-10的绝对值:" + Math.abs(int_a));
long long_a = -99999999999999999L;//定义一个长整型,注意数字后面要加L
//输出绝对值
System.out.println("-99999999999999999绝对值:" + Math.abs(long_a));
float float_a = -3.14F;//定义一个单精度浮点型,注意后面加个F,告诉计算机这是一个单精度
//输出绝对值
System.out.println("-3.14的绝对值:" + Math.abs(float_a));
double double_a = -3.11111111111111;//定义一个双精度浮点型
//输出绝对值
System.out.println("-3.11111111111111的绝对值:" + Math.abs(double_a));
}
}
(2)、 ceil:返回一个最小的(最接近负无穷打)double数值,该数值大于或者等于该参数,并等于某个整数
- public static double ceil(double a)
- 注意返回的类型是double
- 该方法是静态,可以直接类名调用
- 下面展示案例
package MATH;
public class CeilDemo {
public static void main(String[] args) {
double a = 3.14;
double b = Math.ceil(a);
System.out.println(b);
}
}
(3)、floor:返回小于或者等一参数的最大(最接近正无穷大)double值,等于一个数学整数
- public statice double floor(double a)
- 返回类型是double类型
- 该方法是静态方法, 因此只需要类名调用该方法即可
- 下面展示一个案例
package MATH;
public class FloorDemo {
public static void main(String[] args) {
double a = 3.14;
double b = Math.floor(a);
System.out.println(b);
}
}
(4)、min/max:返回两个int/long/float/double类型的最小值或者最大值
- public static int/long/float/double min/max (int/long/float/double a)
- 该方法是静态,可以直接调用类型名字从而调用方法
- 下面给大家演示一个案例
package MATH;
public class MinMaxDemo {
public static void main(String[] args) {
double a = 3.14;
double b = 8.88;
System.out.println("min : " + Math.min(a, b));
System.out.println("max : " + Math.max(a, b));
}
}
(5)、round:返回最接近int/long的参数,其中int/long四舍五入为正无穷大
- public static long round(double a)
- public int round round(float a)
- 该方法是静态方法,因此也可以使用类名调用该方法
- 返回类型是long或者int
- 下面展示一个案例
package MATH;
public class RoundDemo {
public static void main(String[] args) {
float a = 3.14F;
System.out.println(a + "四舍五入后:" + Math.round(a));
}
}
(6)、random:返回double的正值, 大于等于0.0,小于1.0
- public static double random()
- 该方法用于随机生成一个随机数
- 同样的,该方法也是静态方法, 同样通过类名调用
- 下面展示一个案例
package MATH;
public class RandomDemo {
public static void main(String[] args) {
System.out.println("随机生成一个double的随机数字是:" + Math.random());
}
}
(7)、 pow:指数
- public static double pow(double a, double b)
- 将第一个参数的值返回到第二个参数的幂
- a是基地, b是指数
- 下面展示案例
package MATH;
public class PowDemo {
public static void main(String[] args) {
System.out.println("2的3次方的值为:" + Math.pow(2.0, 3.0));
}
}
三、System
System类提供的设施包括标准输入,标准输出和错误输出流; 访问外部定义的属性和环境变量; 一种加载文件和库的方法; 以及用于快速复制阵列的一部分的实用方法。
但是System类不能被实例化
1.System常用的方法
(1)currentTimeMillis 返回当前时间(以毫秒为单位)
1.public static long currentTimeMillis()
2.该方法是静态方法,因此直接类名调用该方法
3.该方法主要是用来计算一段程序执行的时间,比如计算一个for循环执行完需要多长时间,以便对比不同方法写的同一个程序的时间效率
4. 下面展示一个例子
package Text;
public class SystemDemo {
public static void main(String[] args) {
long start = System.currentTimeMillis();
for (int i = 0 ; i < 10000; i ++){
System.out.println(i);
}
long end = System.currentTimeMillis();
System.out.println("执行完这段for循环代码所需的时间为:" + (end - start) + "毫秒");
}
}
四、Object
类Object是类层次结构的根。 每个类都有Object作为超类。 所有对象(包括数组)都实现了这个类的方法。
同样的Object也不能实例化
1.Object的常用方法
(1)toString() 返回对象的字符串表示形式
public String toString
当我们把对象s输出出来的时候,默认会先经过toSring方法,把s转化为字符串
返回对象的字符串表示形式。 一般来说, toString方法返回一个“ toString代表”这个对象的字符串。 结果应该是一个简明扼要的表达,容易让人阅读。 建议所有子类覆盖此方法。
该toString类方法Object返回一个由类的名称,其中所述对象是其实例,该符号字符`的字符串@ ”,并且对象的哈希码的无符号的十六进制表示。 换句话说,这个方法返回一个等于下列值的字符串: getClass().getName() + ‘@’ + Integer.toHexString(hashCode())
因此我们需要把子类的toString方法重写成以下形式:
return “Student{” +
“age=” + age +
“, name=’” + name + ‘’’ +
‘}’;下面展示一个学生对象的案例
package TEXT;
/*
学生对象
*/
public class Student {
private int age;
private String name;
public Student(int age, String name) {
this.age = age;
this.name = name;
}
public Student() {
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//重写toString方法
@Override
public String toString() {
return "Student{" +
"age=" + age +
", name='" + name + '\'' +
'}';
}
}
package TEXT;
/*
测试类
*/
public class ObjectDemo {
public static void main(String[] args) {
Student s = new Student(18, "小明");
System.out.println(s);
}
}
(2)equals() 指示一些其他对象是否等于此
- public boolean equals(Object obj)
- 该equals类方法Object实现对象上差别可能性最大的相等关系; 也就是说,对于任何非空参考值x和y ,当且仅当x和y引用相同对象( x == y具有值true )时,该方法返回true 。
- 在比较两个对象是否一样的时候,如果直接调用,只是比较两个对象的地址是否相同,因此在我们使用该方法的时候,我们应该先重写该方法
未重写前equals的方法源代码
public boolean equals(Object obj) {
return (this == obj);
}
可见,这只是比较了两者的地址是否相等,并没有比较内容
因此equal需要重写
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o;
return age == student.age &&
Objects.equals(name, student.name);
}
下面展示一个案例
package TEXT;
import java.util.Objects;
/*
学生对象
*/
public class Student {
private int age;
private String name;
public Student(int age, String name) {
this.age = age;
this.name = name;
}
public Student() {
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//重写equals方法
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o;
return age == student.age &&
Objects.equals(name, student.name);
}
package TEXT;
/*
测试类
*/
public class ObjectDemo {
public static void main(String[] args) {
Student s1 = new Student(18, "小明");
Student s2 = new Student(18, "小明");
System.out.println(s1.equals(s2));
}
}
五、Arrays
该类包含用于操作数组的各种方法(如排序和搜索)。 该类还包含一个静态工厂,可以将数组视为列表。
1. Arrays常用方法
(1) toString(数据类型 数组名)返回指定数组的内容的字符串表示形式
- public static String toString(shor/int/long/float/double a)
2.返回指定数组的内容的字符串表示形式。 字符串表示由数组元素的列表组成,括在方括号( “[]” )中。 相邻的元素由字符”, ” (逗号后跟一个空格)。- 该方法是静态方法,使用类名调用
- 下面展示案例
package TEXT;
import java.util.Arrays;
public class ArraysDemo {
public static void main(String[] args) {
int[] arr = {11, 22, 33, 44, 55};
System.out.println(Arrays.toString(arr));
}
}
(2)sort(数据类型 数组名)按照数字顺序排列指定的数组
- public static void sort(int[] a)
2.静态方法,调用类名调用即可- 下面展示一个案例
package TEXT;
import java.util.Arrays;
public class ArraysDemo {
public static void main(String[] args) {
int[] arr = {1, 22, 3, 44, 5};
System.out.println("排序前:" + Arrays.toString(arr));
Arrays.sort(arr);//进行排序
System.out.println("排序后:" + Arrays.toString(arr));
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/95042.html