天天看点

Java常用API之Scanner、Random、ArrayList、Arrays、Maths

Scanner

解析基本类型和字符串的简单文本扫描器

导包语句

import java.util.Scanner;

在package语句后面,类定义前面。

public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        //获取键盘输入的int数字,int num=sc.nextInt();
        //获取键盘输入的字符串,String str=sc.next();
        int num=sc.nextInt();
        System.out.println(num);
        String str=sc.next();
        System.out.println(str);
    }
           

Random

用来生成随机数字

import java.util.Random;

利用java实现猜数字游戏,利用二分法很容易猜出来数字。

public static void main(String[] args) {
        Random r=new Random();
        int RandomNum=r.nextInt(100);
        Scanner sc=new Scanner(System.in);
        System.out.println("游戏开始:");
        int guessNum=sc.nextInt();
        while(guessNum!=RandomNum){
            if (guessNum>RandomNum)
            {
                System.out.println("数字太大,重新输入");
            }
            else {
                System.out.println("数字太小,重新输入");
            }
            guessNum=sc.nextInt();
        }
        System.out.println("猜对了,数字是"+guessNum);
        System.out.println("随机数是"+RandomNum);
    }
           

ArrayList

ArrayList长度可以随意变化

ArrayList代表泛型,装在集合中的所有元素,全是统一的类型,泛型只能是引用类型,不能是基本类型。

Arraylist直接打印得到的不是地址值,而是内容。

Arraylist常用方法

public bollean add(E e);//向集合中添加元素
public E get (int index);//从集合中获取元素,参数是索引编号,返回值是对应位置的元素
public E remove (int index);//从集合中删除元素,返回值是被删掉的元素
public int Size();//获取集合的尺寸长度,返回值是集合中的元素个数


    public static void main(String[] args) {
        //创建一个ArrayList集合,里面装的全是String
        ArrayList<String> listString=new ArrayList<>();
        System.out.println(listString);//[]对于ArrayList集合,直接打印得到不是地址值,而是内容。
        listString.add("ABC");//返回值代表添加能否成功,Arraylist必然成功,但其他类未知
        System.out.println(listString);
        listString.add("123");
        listString.add("qwer");
        listString.add("df");
        System.out.println(listString);
        //get获取元素
        String name=listString.get(2);
        System.out.println("索引在第二位"+name);
        //remove 删除元素
        String nameRemove=listString.remove(2);
        System.out.println("被删除的元素是"+nameRemove);
        //size获取长度
        int size=listString.size();
        System.out.println("集合的长度是:"+size);
        //遍历集合
        for (int i = 0; i < listString.size(); i++) {
            System.out.println(listString.get(i));
        }
    }
           

如果希望向集合ArrayList中存储基本数据类型,必须使用基本类型对应的包装类。

基本类型 包装类
byte Byte
short Short
int Integer(特殊)
long Long
float Float
double Double
char character(特殊)
boolean Boolean

集合的一个简单练习题

//生成6个1-33个数字,添加到集合,并遍历集合
public static void main(String[] args) {
        Random r=new Random();
        ArrayList<Integer> listInt=new ArrayList<>();

        for (int i = 0; i < 6; i++) {
            listInt.add(r.nextInt(33)+1);
        }
        for (int i = 0; i < listInt.size(); i++) {
            System.out.println(listInt.get(i));
        }
    }

           

Arrays

public static String toString(数组)将参数数组变成字符串

public static void sort(数组)按照默认升序对数组元素进行排序

与数组相关的工具类,提供了大量的静态方法,实现数组的常见操作。

public static void main(String[] args) {
        int [] intarray={10,2,30};
        //将int[]数组按照默认格式变成字符串
        String intStr= Arrays.toString(intarray);
        System.out.println(intStr);

        Arrays.sort(intarray);
        System.out.println(Arrays.toString(intarray));

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

    }
           

对任意字符串先正序排序,后倒序遍历

String str="ajlsdakjfiowjelkfjsklfjlaskdfasdcdew";
        //使用Arrays需要转化为数组
        char[] ch=str.toCharArray();
        Arrays.sort(ch);

        for (int i = ch.length-1; i >=0; i--) {
            System.out.println(ch[i]);
        }
           

Math

public static double abs(double num);获取绝对值
public static double ceil(double num);向上取整
public static double floor(double num);向下取整
public static long round(double num);四舍五入