帮助我们用于进行数学计算的工具类
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;}
}
System是一个工具类,提供一些与系统相关的方法
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));}
}
Object是Java中的顶级父类,所有类都直接或间接继承于Object类
public String toString() 返回对象的字符串表示形式
public boolean equals(Object obj) 比较两个对象是否相等
protected Object clone (int a) 对象克隆 ,(由于 被protected修饰,所以只能被本类和本包的类或子类以及子类访问,使用的时候可以重写)
对象克隆:把A对象的属性值完全拷贝给B对象,也叫对象拷贝,对象复制
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
Objects是一个工具类,提供一些方法去完成一些功能
作用一:校验字符串是否满足一定的规则,并用来校验数据格式的合法性
作用二:在一段文本中查找满足要求得内容
正则表达式的规则
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}"));}
}