Java中常用API
创始人
2025-05-28 14:12:14
0

1.Math

帮助我们用于进行数学计算的工具类

  1.  round(float a):四舍五入
  2.  max (int a, int b) :获取两个int值得较大值
  3.  random ()  :返回值是double得随机值,范围 [0.0,1.0)
    package cn.sxau;public class MathDemo1 {public static void main(String[] args) {//randomint  random = (int)(Math.random()*20+1); //[1,21)System.out.println(random);//roundSystem.out.println(Math.round(12.34));//12System.out.println(Math.round(12.54));//13System.out.println(Math.round(-12.34));//-12System.out.println(Math.round(-12.54));//-13//maxSystem.out.println(Math.max(2, 3)); //3//minSystem.out.println(Math.min(1, 3));//1}
    }
    

    案例:判断应该数是不是质数

    package cn.sxau;import java.util.Arrays;public class API {public static void main(String[] args) {
    //      判读那一个数是不是质数 ,只能被自己或者1整除int number = 15;if(number==1 || number ==2){System.out.println("是质数");}else{int count =0;for (int i = 1; i <=number/2; i++) {if(number % i ==0) {count++;}}if(count >2){System.out.println("不是质数");}else{System.out.println("是质数");}}}
    }//采用MathAPI改进后
    package cn.sxau;import java.util.Arrays;public class API {public static void main(String[] args) {
    //      判读那一个数是不是质数 ,只能被自己或者1整除System.out.println(isPrime(25));}public static boolean isPrime(int number){for (int i = 2; i <=Math.sqrt(number); i++) {if(number % i ==0){return false;}}return true;}
    }

2. System 

 System是一个工具类,提供一些与系统相关的方法

  1. public static void exit (int status)  终止当前运行的Java虚拟机
  2. public static long currentTimeMillis() 返回当前系统的时间毫秒值形式 
  3. public static void arraycopy(数据源数组,起始索引,目的地数组,起始索引,拷贝个数)   数组拷贝
    package cn.sxau;import java.util.Arrays;public class API {public static void main(String[] args) {int [] arr  = {1,8,5,7,65};int [] arr1 = new int[10];System.arraycopy(arr,0,arr1,0,5);System.out.println(Arrays.toString(arr1));}
    }
    

     

3.Runtime 

  1.  public sttaic Runtime getRuntime()  当前系统的运行环境对象

4.Object 

Object是Java中的顶级父类,所有类都直接或间接继承于Object类

  1.  public String toString()    返回对象的字符串表示形式

  2. public boolean equals(Object obj) 比较两个对象是否相等

  3. protected Object clone (int a) 对象克隆  ,(由于 被protected修饰,所以只能被本类和本包的类或子类以及子类访问,使用的时候可以重写)

对象克隆:把A对象的属性值完全拷贝给B对象,也叫对象拷贝,对象复制 

clone(方法会在底层创建一个对象,把原来的对象的数据拷贝过去)

克隆方式一(浅克隆):基本数据类型的值,直接拷贝值,引用数据类型的值,直接拷贝其记录的地址值,但是当将一个数组拷贝后,原数组发生改变,拷贝完的也发生改变(用的是相同地址)

克隆方式二(深克隆)基本数据类型的值,直接拷贝值;引用数据类型的值,(例如数组,再拷贝的时候,会重写创建一个数组将原数组的值拷贝过去,再将拷贝后的数组的地址值交付个拷贝的数组变量)

   拷贝的实现流程:

  1. 重写Object中的clone方法
  2. 让javabean类实现Cloneable接口,原因:一旦实现Cloneable接口,那么当前类的对象就可以被克隆
  3. 创建原对象,并调用clone
    //浅克隆
    package cn.sxau.API;public class Studnet implements Cloneable{private int id ;private String name;public Studnet() {}public Studnet(int id, String name) {this.id = id;this.name = name;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {return "Studnet{" +"id=" + id +", name='" + name + '\'' +'}';}@Overrideprotected Object clone() throws CloneNotSupportedException {//调用父类的clonereturn super.clone();}
    }package cn.sxau.API;public class ObjectDemo1 {public static void main(String[] args) throws CloneNotSupportedException {//创建对象Studnet s = new Studnet(1,"李四");//克隆Studnet s1 = (Studnet) s.clone();System.out.println(s1);}
    }
    

    深克隆

    package cn.sxau.API;import java.util.Arrays;public class Studnet implements Cloneable{private int id ;private String name;private int [] data;public Studnet() {}public Studnet(int id, String name, int[] data) {this.id = id;this.name = name;this.data = data;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int[] getData() {return data;}public void setData(int[] data) {this.data = data;}@Overridepublic String toString() {return "Studnet{" +"id=" + id +", name='" + name + '\'' +", data=" + Arrays.toString(data) +'}';}@Overrideprotected Object clone() throws CloneNotSupportedException {//调用父类的clone//先把被克隆对象中的数组获取出来int [] data = this.data;//创建新的数组int [] newData = new int[data.length];//拷贝数组中的数据for (int i = 0; i 

5.Objects

Objects是一个工具类,提供一些方法去完成一些功能

  5.1 成员方法

  1. public static boolean equals(Object a , Object b)  先非空拍的奶的那,比较两个对象
  2. public static boolean  isNull(Object obj) 判断对象是否为null,如果是null返回true 
  3. public static  boolean nonNull (Object obj)  判断对象是否为null,如果是null返回false

6.正则表达式

作用一:校验字符串是否满足一定的规则,并用来校验数据格式的合法性

作用二:在一段文本中查找满足要求得内容

                                                                    正则表达式的规则

 

package cn.sxau.正则表达式;public class demo1 {public static void main(String[] args) {System.out.println("a".matches("[abc]")); //判断a是否在,[a,b,c]范围内 trueSystem.out.println("a".matches("[^abc]"));//falseSystem.out.println("zz".matches("[a-z][a-z]"));//判断 zz是否在[a-z][a-z]范围内 true// [a-z][A-Z],[a-z[A-Z]],[a-zA-Z] 效果是一样的System.out.println("zz".matches("[a-zA-Z]"));//falseSystem.out.println("az".matches("[a-z[A-Z]]"));//falseSystem.out.println("-----------------------");System.out.println("255wsdx".matches("\\w{6,}"));//表示至少出现6次英文,数字,下划线 trueSystem.out.println("25x_".matches("\\w{4}"));//必须是出现4次,trueSystem.out.println("2x_".matches("\\w{2,4}"));//必须是出现2到4次,trueSystem.out.println("-----------------------");//校验手机号码String regex1 = "1[3-9][0-9]{9}";System.out.println("18564856235".matches("1[3-9]\\d{9}"));//校验邮箱System.out.println("1968554844@qq.com".matches("\\w+@{1}[0-9a-z]{2,6}(\\.[a-zA-Z]{2,3}){1,2}"));System.out.println("lisi2000@163.com".matches("\\w+@{1}[0-9a-z]{2,6}(\\.([a-zA-Z]{2,3})){1,2}"));System.out.println("lisi2000@163.com.cn".matches("\\w+@{1}[0-9a-z]{2,6}(\\.([a-zA-Z]{2,3})){1,2}"));}
}

 

 

 

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...