Math介绍:
java.util.Math 类是数学相关的工具,里面提供了大量的静态方法,完成与数学运算相关的操作
abs(绝对值)、ceil(向上取整)、floor(向下取整)都有一位小数,round(四舍五入)只会留下整数
Math.PI为圆周率 π
常见几种Math方法以及使用:
public static double abs(double num);获取绝对值
public static double ceil(double num);向上取整,例:69.5->70.0
public static double floor(double num);向下取整,例:69.9->60.0
public static double round(double num);四舍五入,例:69.5->70 , 69.4->60
简单使用(其中注释值为输出结果)
public static void main(String[] args) {
//获取绝对值
System.out.println(Math.abs(3.14));//3.14
System.out.println(Math.abs(3.5));//3.5
System.out.println(Math.abs(0));//0
//向上取整
System.out.println("---------------------");
System.out.println(Math.ceil(3.9));//4.0
System.out.println(Math.ceil(3.1));//4.0
System.out.println(Math.ceil(3.0));//3.0
//向下取整
System.out.println("---------------------");
System.out.println(Math.floor(39.0));//39.0
System.out.println(Math.floor(80.5));//80.0
System.out.println(Math.floor(80.1));//80.0
//四舍五入
System.out.println("---------------------");
System.out.println(Math.round(39.0));//39
System.out.println(Math.round(80.5));//81
System.out.println(Math.round(80.1));//80
}
例题:
计算在-10.8在5.9之间,绝对值大于6或者小于3.1的整数有多少个?
解析:
1.既然在已经确定范围用for循环
2.七点为值-10.8应该转换成-10,两种方法:
2.1可以使用Math.ceil方法,向上取整
2.2转化为int,自动舍弃小数位
3.每一个数都是整数,所以步进表达式应该是num++,这样每次都+1
4.如何拿到绝对值:Math.abs方法
5.一旦发现了一个数字,需要进行计数器++进行统计
实现代码:
public static void main(String[] args) {
int count=0;//符合要求的数
double min=-10.8;
double max=5.9;
for (int i =(int)min;i<max;i++){
//(int)min.进行强制转换,将所有小数都舍去
int abs=Math.abs(i);
if (abs>6||abs<3.1){
System.out.println(i);
count++;
}
}
System.out.println("总共有"+count+"个数");//输出结果为11个
}