【Java 小白菜入门笔记 2.2】常用的类和方法

Array

Array 含有sort、fill、equals、BinarySearch等方法

import java.util.Arrays;
import java.util.Random;

public class ArraysDemo{
    public static void main(String[] args){
        int[] arr = new int[10];
        Arrays.fill(arr, 0);
        System.out.println("fill with 0 : " + Arrays.toString(arr));
        Random rand = new Random();
        for (int i = 0; i < arr.length; i++){
            arr[i] = rand.nextInt(101);
        }
        System.out.println("Refill with random : " + Arrays.toString(arr));
        arr[5] = 50;
        Arrays.sort(arr);
        System.out.println("Sort : " + Arrays.toString(arr));
        int ind = Arrays.binarySearch(arr, 50);
        System.out.println("Index of 50 : " + ind);
        int[] newArr = Arrays.copyOf(arr, arr.length);
        System.out.println("Copy right ? : " + Arrays.equals(arr, newArr));
    }
}

输出结果:

fill with 0 : [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Refill with random : [13, 84, 8, 98, 79, 76, 73, 30, 31, 41]
Sort : [8, 13, 30, 31, 41, 50, 73, 79, 84, 98]
Index of 50 : 5
Copy right ? : true

注意:binarySearch只能用于已经排序的数组。如返回正数,为所在位置。如果找不到,则为负数,其绝对值表示这个数应该被插入的位置。

StringBuilder

StringBuilder是一个可以insert、delete、replace、append字符串中元素的一个可变的对象。内置了很多字符串操作的相关方法。StringBuilder可以通过toString方法转为String类型。下面是一个例子:

public class StringBuilderTest{
    public static void main(String[] args){
        StringBuilder s = new StringBuilder("I");
        s.append(" ML");
        s.insert(1, " love");
        String t = s.toString();
        System.out.println(t);
    }
}

输出为:

I love ML

Math

Math在java.lang中,实现了很多常用的数学函数,比如sin、cos等三角、反三角函数,以及ceil、floor、rint等不同的double取整方式,以及pow计算幂,以及random生成随机数等。
通过一个例子,来使用一下Math中的常见函数:

import java.lang.Math;

public class MathDemo{
    public static void main(String[] args){
        System.out.println(Math.ceil(6.66));
        System.out.println(Math.floor(6.66));
        System.out.println(Math.rint(6.66));
        System.out.println(Math.round(6.66));
        System.out.println(Math.abs(6.66));
        System.out.println(Math.sin(6.66));
        System.out.println(Math.atan(6.66));
        System.out.println(Math.pow(6.66, 2));
        System.out.println(Math.sqrt(6.66));
    }
}

输出结果:

7.0
6.0
7.0
7
6.66
0.36796051057238466
1.4217595363083344
44.3556
2.5806975801127883

注意:rint和round的区别在于,rint返回的仍是double,而round对于double返回的是long,对float返回int。都是返回最接近的整数值。

实验,random两个数,比较大小:

import java.lang.Math;

public class MathTest{
    public static void main(String[] args){
        double a = Math.random();
        double b = Math.random();
        double max = Math.max(a, b);
        System.out.println("random a is : " + a);
        System.out.println("random b is : " + b);
        System.out.println("maximum is : " + max);
    }
}

输出结果:

random a is : 0.5640893547983834
random b is : 0.4307469193802972
maximum is : 0.5640893547983834

System

System不能被实例化,只能访问static方法。常用的System.out.println就是System 的一个方法。
实验案例:

import java.util.Arrays;

public class SystemDemo{
    public static void main(String[] args){
        int[] a = {1, 2, 3, 4, 5};
        int[] b = {6, 7, 8, 9, 10};
        System.arraycopy(a, 1, b, 2, 3);
        System.out.println(Arrays.toString(b));
        System.out.println("Java Version is :" + System.getProperty("java.version"));
    }
}

输出结果:

[6, 7, 2, 3, 4]
Java Version is :1.8.0_131

Random

实验:输入一个m和一个n,其中m小于n,两者都是正整数,输出一个[m, n]范围内的随机数。

import java.util.Random;
import java.util.Scanner;

public class RandomTest{
    public static void main(String[] args){
        Scanner inp = new Scanner(System.in);
        int m = inp.nextInt();
        int n = inp.nextInt();
        Random rand = new Random();
        int ret = rand.nextInt(n - m + 1) + m;
        System.out.println(ret);
    }
}

输入输出为:

20
53
39

2020年7月8日00:58:49
北京 生命科学园

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 、可私信6博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 、可私信6博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值