第21天学习Java的笔记-数学工具类Arrays,Math

27天!

数学工具类

1.1数组工具类Arrays

package Demo2101;

/*
注意事项:是Arrays进行调用,不是变量进行调用!!!

* java.util.Arrays是一个与数组相关的工具类,里面提供了大量的静态方法(不用new,直接.调用),
* 用来实现数组的常见操作。
*
* public static String toString(数组):将参数数组{元素1,元素2,元素3...}变成字符串(按照默认格式:[元素1,元素2,元素3...])
* public static void sort(数组):按照默认升序(从小到大)对数组的元素进行排序。

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

* */

import java.util.Arrays;

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

        //Arrays.toString
        int[] intArray = {2,3,4,5,6};
        String string1 = Arrays.toString(intArray);
        System.out.println(string1);//[2, 3, 4, 5, 6]

        //Arrays.sort
        int[] sortArray = {4,2,3,6,1,5};
        Arrays.sort(sortArray);//没有返回值,这时候已经在原来数组上对其排好了
        //将排好的数组按照默认格式输出
        System.out.println(Arrays.toString(sortArray));//[1, 2, 3, 4, 5, 6]

        String[] stringArray = {"aaa","ccc","bbb"};
        Arrays.sort(stringArray);
        System.out.println(Arrays.toString(stringArray));//[aaa, bbb, ccc]
    }
}

1.2 Arrays:字符串倒序排列

题目:“avhdbjd”–>[a, b, d, d, h, j, v]

package Demo2101;

/*
* 题目:"avhdbjd"-->[a, b, d, d, h, j, v]
* 请使用Arrays相关的API,将一个随机字符串中的所有字符升序排列,并倒序打印
* 关于这道题有对于toCharArray()的问题:
* 关于该方法的疑问:按理说返回值应该是一个数组{1,2,3},但是返回值只有123字符,没有数组格式?
* */

import java.util.Arrays;



public class Demo02ArraysPractice {
    public static void main(String[] args) {
        //1.定义一个字符串
        String str1 = "avhdbjd";

        //2.转换为字符数组
        char[] chars = str1.toCharArray();
        //System.out.println(chars);//avhdbjd

        //3.升序排列字符数组
        Arrays.sort(chars);
        Arrays.toString(chars);//此时chars已经变成了升序的字符数组
        //System.out.println(Arrays.toString(chars));//[a, b, d, d, h, j, v]

        //4.倒序输出打印[v, j, h, d, d, b, a]
        System.out.print("[");
        for (int i = chars.length - 1; i >= 0 ; i--) {
            if (i != 0) {
                System.out.print(chars[i] + ", ");//注意逗号后面有空格
            }else {
                System.out.print(chars[i] + "]");
            }

        }
    }
}

2.1 数学工具类Math

package Demo2101;

/*
* java.util.Math类是数学相关的工具类,里面提供了大量的静态方法,完成与数学运算的相关操作。
*
* public static double abs(double num):获取绝对值
* public static double ceil(double num):向上取整,所谓的向上,是靠数轴的右边取值。-10.9———》-10
* public static double floor(double num):向下取整
* public static round(double num):四舍五入
*
* Math.PI代表圆周率的近似值(double)
* */

public class Demo03Math {
    public static void main(String[] args) {
        //1.获取绝对值
        System.out.println(Math.abs(-3));//3

        //2.向上取整
        System.out.println(Math.ceil(3.4));//4.0
        System.out.println(Math.ceil(34));//34.0

        //3.向下取整
        System.out.println(Math.floor(3.4));//3.0
        System.out.println(Math.floor(34));//34.0

        //4.四舍五入
        System.out.println(Math.round(3.4));//3
        System.out.println(Math.round(34));//34
    }
}

2.2 Math:小学数学真题

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

package Demo2101;

/*
自增运算符也可以用于double中!!
* 题目:
* 计算在-10.8到5.9之间,绝对值大于6或者绝对值小于2.1的整数有多少个?
*
* 思路:
* 1.与操作运算符,两者条件满足其一则增加1
* */

public class Demo04MathPractice {
    public static void main(String[] args) {
        int num = 0;
        for (double i = -10.8; i <= 5.9 ; i++) {
            if (Math.abs(i) > 6.0 || Math.abs(i) < 2.1){
                num++;
            }
        }
        System.out.println("绝对值大于6或者小于2.1的整数有:" + num + "个");//绝对值大于6或者小于2.1的整数有:9个
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值