Arrays类

1.Arrays类位于java.util.Arrays包下

2.此类包含用来操作数组的各种方法,比如排序和搜索等。其所有方法均为静态方法,调用起来非常简单

3.public static String toString(int[] a):返回指定数组内容的字符串表示形式。

public static void main(String[] args){
            int[] arr={2,34,35,4,657,8,69,9};//定义int数组
            //打印数组,输出地址值System.out.println(arr);//[I@2ac1fdc4
            Strings=Arrays.toString(arr);//数组内容转为字符串
            //打印字符串,输出内System.out.println(s);//[2,34,35,4,657,8,69,9]
}

4.public static void sort(int[] a):对指定的int型数组按数字升序进行排序。

参数如果是数值,sort默认按照升序从小到大。
如果是字符串,sort默认按照字母升序。
如果是自定义的类型,那么这个自定义的类需要有Comparable或者Comparator接口的支持。 (今后学习)

public static void main(String[] args){
            int[] arr={24,7,5,48,4,46,35,11,6,2};//定义int数组
            System.out.println("排序前:"+Arrays.toString(arr));//排序前:[24,7,5,48,4,46,35,11,6,2]
            Arrays.sort(arr);//升序排序
            System.out.println("排序后:"+Arrays.toString(arr));//排序后:[2,4,5,6,7,11,24,35,46,48]
}

5.小练习:请使用Arrays相关的API,将一个随机字符串中的所有字符升序排列,并倒序打印。

public class ArraysTest{
        public static void main(String[] args){
            String line="ysKUreaytWTRHsgFdSAoidq";//定义随机的字符串
            char[] chars=line.toCharArray();//转换为字符数组
            Arrays.sort(chars);//升序排序
            for(int i=chars.length‐1;i>=0;i‐‐){
                System.out.print(chars[i]+"");//反向遍历打印
}
        }

Math类

1.Math类的包在java.lang.Math下

2.类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。类似这样的工具类,其所有方法均为静态方法,并且不会创建对象,调用起来非常简单。

3.public static double abs(double a):返回double值的绝对值

double d1=Math.abs(-5);//d1的值为5
double d2=Math.abs(5);//d2的值为5

4.public static double ceil(double a):返回大于等于参数的最小整数(向上取整)

double d1=Math.ceil(3.3);//d1的值为4.0 
double d2=Math.ceil(‐3.3);//d2的值为‐3.0 
double d3=Math.ceil(5.1);//d3的值为6.0

5.public static double floor(double a):返回小于等于参数的最大整数(向下取整)

double d1=Math.floor(3.3);//d1的值为3.0 
double d2=Math.floor(‐3.3);//d2的值为‐4.0
double d3=Math.floor(5.1);//d3的值为5.0

6.public static long round(double a):返回接近参数的long。(相当于四舍五入)

long d1=Math.round(5.5);//d1的值为6.0 
long d2=Math.round(5.4);//d2的值为5.0

7.小练习:请使Math用相关的API,计算在-10.8到5.9之间,绝对值大于5或者小于2.1的整数有多少个?

public class Math01 {
    public static void main(String[] args) {
        int sum=0;
        for (double i = -10; i < 5; i++) {
            if(Math.abs(i)>5||Math.abs(i)<2.1)
                sum++;
        }
        System.out.println(sum);//10
    }
}