public static void main(String[] args) {
// public static int abs(int a):绝对值
System.out.println(Math.abs(-10));
System.out.println(Math.abs(10));
//public static double ceil(double a):向上取整
System.out.println(Math.ceil(12.34));
//public static double floor(double a):向下取整
System.out.println(Math.floor(12.34));
//public static int max(int a,int b):求最大值
System.out.println(Math.max(10, 20));
//方法中嵌套方法
//方法递归(方法本身调用方法的这种现象)
System.out.println(Math.max(Math.max(10, 20), 20));
//public static double pow(double a,double b):a的b次幂
System.out.println(Math.pow(2.0, 3.0));
//public static double random()返回带正号的 double 值,该值大于等于 0.0 且小于 1.0
System.out.println(Math.random());
//public static int round(float a):四舍五入
System.out.println(Math.round(12.56));
// public static double sqrt(double a):一个数的正平方根
System.out.println(Math.sqrt(4));
System.out.println("---------------------------------------");
//面试题:有两个变量,让他们的值进行互换 (考官想问的是:你能否指定位^的特点)
int a = 10 ;
int b = 20 ;
//实际开发中:中间变量的方式进行互换
//位^的特点:一个数据被另一个数据位^两次,其值是它本身
/*System.out.println(a^b^b);
System.out.println(a^b^a);*/
System.out.println("a:"+a+",b:"+b);
//=号左边: a ,b,a
//=右边: a^b
a = a ^ b ;
b = a ^ b ;//b = a^b ^ b
a = a ^ b ;
System.out.println("a:"+a+",b:"+b);
}
//out:10
10
13.0
12.0
20
20
8.0
0.699638240977102
13
2.0
---------------------------------------
a:10,b:20
a:20,b:10
Math类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
常用的方法:
public static int abs(int a):绝对值
public static double ceil(double a):向上取整
public static double floor(double a):向下取整
public static int max(int a,int b):求最大值
public static int min(int a,int b):求最小值
public static double pow(double a,double b):a的b次幂
public static double random()返回带正号的double值,该值大于等于0.0且小于1.0
public static int round(float a):四舍五入
public static double sqrt(double a):一个数的正平方根
JDK5的特性:静态导入(导入方法的级别)