包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
常用方法:
package MyApi.a01mathdemo01;public class MathDemo01 {public static void main(String[] args) {//abs 获取参数的绝对值System.out.println(Math.abs(-88));System.out.println(Math.abs(88));//bug:// 以Int为例,取值范围:-2147483648-2147483647//如果没有正数与负数对应,那么传递的结果有误//-2147483648没有正数与之对应,所以abs结果产生bug//System.out.println(Math.absExact(-2147483648));//ceil 向上取整System.out.println(Math.ceil(12.34));System.out.println(Math.ceil(12.54));System.out.println(Math.ceil(-12.34));System.out.println(Math.ceil(-12.54));
//floor 向下取整,去尾法:System.out.println(Math.floor(12.34));System.out.println(Math.floor(12.54));System.out.println(Math.floor(-12.34));System.out.println(Math.floor(-12.54));//round 四舍五入System.out.println(Math.round(12.34));System.out.println(Math.round(12.54));System.out.println(Math.round(-12.34));System.out.println(Math.round(-12.54));//max 获取两个整数的较大值System.out.println(Math.max(12,15));//min 获取两个整数之间的较小值System.out.println(Math.min(12,15));//pow 返回a的b次幂System.out.println(Math.pow(2,3)); //8.0//细节//如果第二个参数0-1之间的小数System.out.println(Math.pow(4,0.5));//2.0System.out.println(Math.pow(2,-2));//0.25//建议://第二个参数:一般传递大于等于1的正整数//开平方System.out.println(Math.sqrt(4));//2.0//开立方System.out.println(Math.cbrt(8));//2.0//random 返回double的随机值for (int i = 0; i < 10; i++) {System.out.println(Math.floor(Math.random()*100)+1);}}
}
判断一个数是否为质数
package MyApi.a01mathdemo01;public class MathDemo02 {public static void main(String[] args) {System.out.println(isPrime(997));}public static boolean isPrime(int number){int count=0;for(int i=2;i<=Math.sqrt(number);i++){count++;if(number% i==0){return false;}}System.out.println(count);return true;}
}
自幂数
一个n位自然数等于自身各个数位上数字的n次幂之和
eg:一个三位数 1^3+5^3+3^3=153;
eg:四位数 1^4+6^4+3^4+4^4=1634
如果自幂数是一位,也叫做:独身数
三位自幂数:水仙花数
四位自幂数:四叶玫瑰树
要求1:统计一共有多少个水仙花数
package MyApi.a01mathdemo01;public class MathDemo03 {public static void main(String[] args) {int count=0;for (int i =100; i < 999; i++) {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(i);}}System.out.println(count);}
}
四叶玫瑰数:
package MyApi.a01mathdemo01;public class MathDemo04 {public static void main(String[] args) {int count=0;for (int i =1000; i < 9999; i++) {int ge=i%10;int shi =i/10%10;int bai=i/100%10;int qian=i/1000%10;double sum=Math.pow(ge,4)+Math.pow(shi,4)+Math.pow(bai,4)+Math.pow(qian,4);if(sum==i){count++;System.out.println(i);}}System.out.println(count);}
}