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,647
System.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));//向下取整 也称去尾法 打印结果12
System.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));//打印结果为2
System.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从系统获得总内存大小byte
System.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();
}
}
}