Math
Math的常用方法
package myMath;public class myMath {public static void main(String[] args) {System.out.println(Math.abs(-99));//这个表示取绝对值的 打印结果为99//但是他有个bug.int最大取值范围是-2,147,483,648 到2,147,483,647System.out.println(Math.abs(-2147483648));//打印结果还是-2,147,483,648//解决以上bug可以用/*Math.absExact(-2147483648);*/System.out.println(Math.ceil(12.3));//打印结果13 向上取整System.out.println(Math.floor(12.3));//向下取整 也称去尾法 打印结果12System.out.println(Math.round(12.3));//四舍五入法System.out.println(Math.max(20, 30));//获取最大值System.out.println(Math.min(20, 30));//获取最大值System.out.println(Math.pow(2, 3));//如果第二个参数是0到1之间的小数 表示开根号System.out.println(Math.pow(4, 0.5));//打印结果为2System.out.println(Math.pow(2, -2));//打印结果为0.25 因为他表示2的-2次方System.out.println(Math.sqrt(4));//打印结果为2 开平方根System.out.println(Math.cbrt(8));//2 开立方根}
总结
判断质数
质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数 只能被1和本身整除的数
由此得出 求出平方跟 只需要判断左边红圈内容即可
package myMath;public class isPrime {public static void main(String[] args) {System.out.println(IsPrime(14));}public static boolean IsPrime(int number){for (int i = 2; i <= Math.sqrt(number); i++) {if(number%i==0){return false;}}return true;}
}
自幂数(水仙花数)
水仙花数是三位数 所以一定在100到999之间
package myMath;public class zimishu {public static void main(String[] args) {//统计水仙花数int count=0;for (int i = 100; i <= 999; i++) {//得到100到999每一位数字int ge=i%10;int shi=i/10%10;int bai=i/100%10;//得到个位十位百位double sum=Math.pow(ge,3)+Math.pow(shi,3)+Math.pow(bai,3);if(sum==i){count++;//System.out.println(sum);}}System.out.println(count);}
}
System
因为是静态修饰的方法所以可以直接用类名调用
package myMath;public class apiSystem157 {public static void main(String[] args) {//0表示虚拟机正常停止//1表示虚拟机一场停止//System.exit(0);long l = System.currentTimeMillis();System.out.println(l);//返回从java诞生时间(1970年1月1 8:00)到系统当前时间的毫秒数}
}
System.currentTimeMillis()应用场景如下
package myMath;public class isPrime {public static void main(String[] args) {long start=System.currentTimeMillis();//开始时间for (int i = 1; i <= 100000; i++) {boolean flag=IsPrime(i);if(flag){// System.out.println(i);}}long end=System.currentTimeMillis();System.out.println(end - start);//判断1000以内有几个质数 用了多长时间}public static boolean IsPrime(int number){for (int i = 2; i <= Math.sqrt(number); i++) {if(number%i==0){return false;}}return true;}
}
还有些注意事项 如下
总结
Runtime
他表示当前虚拟机的运行环境,他不是静态,想调用得先获取对象
package myRuntime;import java.io.IOException;public class myRunime {public static void main(String[] args) {System.out.println(Runtime.getRuntime());//查看当前系统运行环境System.out.println(Runtime.getRuntime().availableProcessors());//获取cpu线程数System.out.println(Runtime.getRuntime().maxMemory()/1024/1024);//jvm从系统获得总内存大小byteSystem.out.println(Runtime.getRuntime().totalMemory());//jvm从系统中已经获得的内存System.out.println(Runtime.getRuntime().freeMemory());//剩余内存try {System.out.println(Runtime.getRuntime().exec("shutdown -s -t 10000"));//运行cmd命令 这个代码表示电脑 10000毫秒后取消 输入-a取消} catch (IOException e) {e.printStackTrace();}}
}