java.util.Math类是数学相关的工具类,里面提供了大量的静态方法,完成与数学运算相关的操作。
public static double abs(double num):获取绝对值
public static double ceil(double num):向上取整(12.9-->13.0)
public static double floor(double num):向下取整(12.1-->12.0)不是四舍五入
public static long round(double num);四舍五入
Math.PI代表近似的圆周率常量(double)
public class PracticeMath {
public static void main(String[] args) {
//获取绝对值
System.out.println(Math.abs(3.14));//3.14
System.out.println(Math.abs(0));//0
System.out.println(Math.abs(-10));//10
System.out.println("=================");
//行上取整
System.out.println(Math.ceil(12.1));//13.0
System.out.println(Math.ceil(12.0));//12.0
System.out.println("=================");
//向下取整
System.out.println(Math.floor(12.9));//12.0
System.out.println("=================");
//四舍五入
System.out.println(Math.round(4.5));//5
System.out.println(Math.round(4.4));//4
}
}
一道小学题:
计算在-10.8到5.9之间:绝对值大于6 或者小于2.1的整数有多少个?
/*
分析:
1.范围确定:for循环
2,起点位置从-10.8 --> -10.0;
2.1可以使用Math.ceil方法,向上(向正方向)取整
2.2强制类型转换int,自动舍去所有小数位
3.每个数字都是整数,所以步进表达式:num++
4.拿到绝对值:Math.abs;
5.一旦发现一个数字,需要计数器++进行统计。
*/
public class MathTest {
public static void main(String[] args) {
double min=-10.8;
double max=5.9;
int count=0;
// for(int i=(int)min;i<max;i++){
// int abs = Math.abs(i);
// if(abs>6||abs<2.1){
// System.out.print(i+"\t");
// count++;
// }
// }
for (double i=min;i<max;i++){
double ceil = Math.ceil(i);
double abs = Math.abs(i);
if (abs>6||abs<2.1){
System.out.println(ceil);
count++;
}
}
System.out.println();
System.out.println("总共有:"+count);//9
}
}