天天看點

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);四舍五入