笔记06 - API(Math System BigDecimal)

【Math类】

请编程进行以下运算:
请计算3的5次幂
请计算3.2向上取整的结果
请计算3.8向下取整的结果
请计算5.6四舍五入取整的结果

参考答案:

public static void main(String[] args) {
        System.out.println(Math.pow(3, 5));
        System.out.println(Math.ceil(3.2));
        System.out.println(Math.floor(3.8));
        System.out.println(Math.round(5.6));
 }

在这里插入图片描述

【System类】

请定义一个集合,并将1至1千万这1千万个数字添加到集合中,计算这个行为运行的时间,并打印。

参考答案:

public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        long t1 = System.currentTimeMillis();
        for (int i = 1; i <= 10000000; i++) {
            list.add(i);
        }
        long t2 = System.currentTimeMillis();
        System.out.println("向集合中添加1千万个数字需要的时间是:"+(t2-t1)+"毫秒");
 }

在这里插入图片描述

(注意:每个人的电脑性能不一样,所以打印结果不一样也很正常!!!)

【BigDecimal类】

求以下double数组的平均值(四舍五入保留两位小数):

double[] arr = {0.1,0.2,2.1,3.2,5.56,7.21};

参考答案:

public static void main(String[] args) {
        double[] arr = {0.1,0.2,2.1,3.2,5.56,7.21};
        BigDecimal sum = new BigDecimal(0);
        for (int i = 0; i < arr.length; i++) {
            sum = sum.add(BigDecimal.valueOf(arr[i]));
        }
        BigDecimal avg = sum.divide(BigDecimal.valueOf(arr.length), 2, BigDecimal.ROUND_HALF_UP);
        System.out.println("数组的平均值是:"+avg);
    }

在这里插入图片描述

【包装类】

1 请写出八种基本类型和它们对应的包装类的名字

byte    --> Byte
short 	--> Short
int		--> Integer
long	--> Long
char	--> Character
boolean --> Boolean
float	--> Float
double	--> Double

2 请问什么是自动装箱和自动拆箱?

从基本数据类型自动变成包装数据类型就是自动装箱
从包装数据类型自动变成基本数据类型就是自动拆箱

3:【包装类】

在一行中通过键盘输入自己的年龄和身高(要带小数),年龄和身高中间使用逗号分隔,请利用今天的技术和字符串的切分方法,将键盘输入的数据转成整数和小数;

参考答案:

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入年龄和身高:(年龄是整数,身高是小数,中间使用逗号分隔)");
        String s = sc.next();
        String[] arr = s.split(",");
        //0索引是年龄,1索引是身高
        int i = Integer.parseInt(arr[0]);
        double v = Double.parseDouble(arr[1]);
        System.out.println("转成整数后的年龄是:"+i);
        System.out.println("转成小数后的身高是:"+v);
    }

在这里插入图片描述

编程题【Arrays】

已知数组如下:
int[] arr = {431,54,25,25,26,45,2,4,65,3,64,6,46,7,54};
1:使用Arrays对数组元素进行排序并打印排序后的结果;
2:使用二分法查找元素:2,并打印查询结果;
3:使用二分法查找200,并打印查找结果;

参考答案:

public static void main(String[] args) {
        int[] arr = {431,54,25,25,26,45,2,4,65,3,64,6,46,7,54};
        //排序
        Arrays.sort(arr);
        //打印
        System.out.println(Arrays.toString(arr));
        //查询元素2
        int i = Arrays.binarySearch(arr, 2);
        System.out.println("元素2在数组中的索引是:"+i);
        //查询元素200
        int i2 = Arrays.binarySearch(arr, 200);
        System.out.println("元素200在数组中的索引是:"+i2);
    }

在这里插入图片描述

编程题【递归】

请使用递归计算从1到100之间的所有数之和。

参考答案:

public static void main(String[] args) {
        int result = getJc(100);
        System.out.println("1至100之间的和是:"+result);
    }

    private static int getJc(int i) {
        //1,就是一定要找到出口.
        if(i == 1){
            return 1;
        }else{
            //2.就是递归的规则
            return i + getJc(i - 1);
        }
    }

在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值