Java进阶学习——常用API(Arrays、math类)

Arrays类:

在java.util包中,只有java.long中不用导包
java.util.Arrays是一个与数组相关的工具了,提供了大量的静态方法来实现数组的常见操作

将参数数组变成字符串

比如
public static String toString(数组):将参数数组变成字符串,格式为【,,,,】
代码如下:

import java.util.Arrays;

public class demoArrays {
    public static void main(String[] args) {


        int[] Array = {1, 2, 3, 4, 5};
        String intstr = Arrays.toString(Array);
        System.out.println(intstr);

    }
}

运行结果如图
在这里插入图片描述

数组升序排序

public static void sort(数组):按照默认升序对数组的元素进行排序
代码演示
随便定义一个无序数组,然后调用sort即可排序

import java.util.Arrays;

public class demoArrays {
    public static void main(String[] args) {
        int[] Array = {100, 2, 3, 4, 5};
        Arrays.sort(Array);
        for (int i = 0; i < Array.length; i++) {
            System.out.println(Array[i]);
        }
    }
}

运行结果如图:
在这里插入图片描述
需要注意的是,sort不仅可以对整数数组排序也可以对字符数组排序
代码演示如下

import java.util.Arrays;

public class demoArrays {
    public static void main(String[] args) {
String [] st={"ddd","bbb","ccc"};
        System.out.println(st);
        Arrays.sort(st);
        System.out.println(Arrays.toString(st));
    }
}

运行结果如图
在这里插入图片描述

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

练习

问题:使用Arrays相关的API,将一个随机字符串所有的字符升序排列并倒序打印

import java.util.Arrays;

public class Arrayspricate {

    public static void main(String[] args) {
        String  str="ashjkhjakshasf";
        char[] chars=str.toCharArray();
        Arrays.sort(chars);
        for (int i = 0; i < chars.length; i++) {
            System.out.print(chars[i]);//未排序之前
        }
        System.out.println(" ");//这里是分割线,因为前面输出使用的是print而不是println
        for (int i = chars.length - 1; i >= 0; i--) {
            System.out.print(chars[i]);//倒序之后
            // IDEA使用小技巧,chars.forr即可自动生成倒序的for循环
        }
    }
}

结果如图
在这里插入图片描述

math类

java.util.Math类是数学相关的工具类,里面提供了大量的静态方法,完成与数学相关的操作。

public stitic double abs(double num)——取绝对值
public stitic double ceil(double num)——向上取整
public stitic double floor(double num)——向下取整
public stitic long round(double num)——四舍五入
Math.PI代表精度允许范围内近似的圆周率,可直接调用
使用方法代码演示

public class mathlei {
    public static void main(String[] args) {
        System.out.println(Math.abs(-5));//输出绝对值
        System.out.println(Math.ceil(3.14));//向上取整
        System.out.println(Math.floor(3.14));//向上取整
        System.out.println(Math.round(3.14));//四舍五入
    }
}

在这里插入图片描述

math 练习题

计算 -10.8~+5.9之间,绝对值大于6或者小于2.1的整数有多少个?

public class mathpricate {
    public static void main(String[] args) {
        double min = -10.8;
        double max = 5.9;
        int counter = 0;
        for (int i = (int) min; i < max; i++) {
            int abs = Math.abs(i);
            if (abs > 6 || abs < 2.1) {
                System.out.println(i);
                counter++;
            }
               }
        System.out.println("符合范围的数有:"+counter+"个");    }
}

运行结果如图
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Z7st

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值