day07_常用類之Scanner類丶 Random類丶ArrayList類

前言

類屬於引用類型的一種,所以使用類的使用符合引用類型的使用步驟。我們可以查詢API去找到官方幫我們定義好的類API(Application Programming Interface),應用程序編程接口。Java API是一本程序員的 字典 ,是JDK中提供給 我們使用的類的說明文檔。這些類將底層的代碼實現封裝了起來,我們不需要關心這些類是如何實現的,只需要學習這些類如何使用即可。所以我們可以通過查詢API的方式,來學習Java提供的類,並得知如何使用它們。

引用類型的使用步驟

1:導包

使用import關鍵字導包,在類的所有代碼之前導包,引入要使用的類型,java.lang包下的所有類無需導入。

格式:

  • import 包名.類名;
2:創建對象
  • 使用該類的構造方法,創建一個該類的對象。

格式:

  • 數據類型 變量名 = new 數據類型(參數列表);
3:調用方法名/變量名
  • 調用該類的成員方法,完成指定功能。格式: 變量名.方法名();
  • 調用該類的成員變量,獲取指定的值。格式:變量名.變量名稱;

Scanner

一個可以解析基本類型和字符串的簡單文本掃描器。 例如,以下代碼使用戶能夠從 System.in 中讀取一個數:

查看類

  • java.util.Scanner :該類需要import導入後使用。

查看構造方法

  • public Scanner(InputStream source) : 構造一個新的 Scanner ,它生成的值是從指定的輸入流掃描的。

查看成員方法

  • nextInt(); 用來接收控制檯錄入的數字
  • sc.next(); 用來接收控制檯錄入的字符串

代碼示例

import java.util.Scanner;

public class DemoScanner {
    public static void main(String[] args) {
        // 創建對象
        Scanner sc = new Scanner(System.in);
        // 接收數據
        System.out.println("請輸入第一個數據:");
        int a = sc.nextInt();
        System.out.println("請輸入第二個數據:");
        int b = sc.nextInt();
        System.out.println("請輸入第三個數據:");
        int c = sc.nextInt();
        // 如何獲取三個數據的最大值
        int temp = (a > b ? a : b);
        int max = (temp > c ? temp : c);
        System.out.println("max:" + max);
    }
}

Random類

這個Random類,它可以產生多種數據類型的隨機數,在這裏我們主要介紹生成整數與小數的方式。

查看類

  • java.util.Random :該類需要 import導入使後使用。

查看構造方法

  • public Random() :創建一個新的隨機數生成器。

查看成員方法

  • public int nextInt(int maxValue) 產生[0,maxValue)範圍的隨機整數,包含0,不包含maxValue;
  • public double nextDouble()  產生[0,1)範圍的隨機小數,包含0.0,不包含1.0。

猜數字小遊戲

  • 遊戲開始時,會隨機生成一個1-100之間的整數 number 。玩家猜測一個數字 guessNumber ,會與 number 作比較,系統提示大了或者小了,直到玩家猜中,遊戲結束。
import java.util.Random; // 導包
import java.util.Scanner;

public class DemoRandom {
    public static void main(String[] args) {
        // 系統產生一個隨機數1‐100之間的。
        Random r = new Random();
        int number = r.nextInt(100) + 1;
        Scanner sc = new Scanner(System.in);
        while (true) {
            // 鍵盤錄入我們要猜的數據
            System.out.println("請輸入你要猜的數字(1‐100):");
            int guessNumber = sc.nextInt();
            // 比較這兩個數據(用if語句)
            if (guessNumber > number) {
                System.out.println("你猜的數據" + guessNumber + "大了");
            } else if (guessNumber < number) {
                System.out.println("你猜的數據" + guessNumber + "小了");
            } else {
                System.out.println("恭喜你,猜中了");
                break;
            }
        }
    }
}

ArrayList類

  • ArrayList集合是程序中最常見的一種集合(容器),它屬於引用數據類型(類)。在ArrayList內部封裝了一個長度可變的數組,當存入的元素超過數組長度時,ArrayList會在內存中分配一個更大的數組來存儲這些元素,因此可以將ArrayList集合看作一個長度可變的數組。
查看類
  • java.util.ArrayList <E> :該類需要 import導入使後使用。 <E> ,表示一種指定的數據類型,叫做泛型。 E ,取自英語單詞Element(元素)的首字母。在出現 E 的地方,我們使 用一種引用數據類型將其替換即可,表示我們將存儲哪種引用類型的元素。

查看常用的構造方法

  • public ArrayList() :構造一個內容爲空的集合。在JDK 7,右側泛型的尖括號之內可以留空,但是<>仍然要寫。

查看常用的成員方法

  • public boolean add(E e) : 將指定的元素添加到此集合的尾部。 參數 E e ,在構造ArrayList對象時, <E> 指定了什麼數據類型,那麼 add(E e) 方法中,只能添加什麼數據類型的對象。
  • public E remove(int index) :移除此集合中指定位置上的元素。返回被刪除的元素。
  • public E get(int index) :返回此集合中指定位置上的元素。返回獲取的元素。
  • public int size() :返回此集合中的元素數。遍歷集合時,可以控制索引範圍,防止越界。
  • public void clear():清空集合中所有元素。

方法演示

import java.util.ArrayList;

public class DemoArrayList {

    public static void main(String[] args) {
        // 創建ArrayList集合
        ArrayList<String> list = new ArrayList<String>();
        // 向集合中添加元素
        list.add("stu1");
        list.add("stu2");
        list.add("stu3");
        list.add("stu4");
        // 獲取集合中元素的個數
        System.out.println("集合的長度:" + list.size());
        // 取出並打印指定位置的元素
        System.out.println("第1個元素是:" + list.get(0));
        System.out.println("第2個元素是:" + list.get(1));
        System.out.println("第3個元素是:" + list.get(2));
        System.out.println("第4個元素是:" + list.get(3));
        //public E remove(int index) :移除此集合中指定位置上的元素。返回被刪除的元素。
        //刪除index爲的1位置的元素,並且打印輸出
        System.out.println(list.remove(1));//stu2

        //集合遍歷
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
        // public void clear():清空集合中所有元素。
        list.clear();
    }


}

如何存儲基本數據類型

集合不能存儲基本類型,只能存儲引用類型的數據。類似 <int> 不能寫,但是存儲基本數據類型對應的 包裝類型是可以的。所以,想要存儲基本類型數據, <> 中的數據類型,必須轉換後才能編寫,轉換寫法如下:

                                  

我們發現,只有 Integer Character 需要特殊記憶,其他基本類型只是首字母大寫即可。那麼存儲基本類型數據,代碼如下:

ArrayList<Integer> list = new ArrayList<Integer>();

 ArrayList練習

定義獲取所有偶數元素集合的方法(ArrayList類型作爲返回值)

import java.util.ArrayList;
import java.util.Random;

public class DemoArrayList {

    public static void main(String[] args) {
        // 創建Random 對象
        Random random = new Random();
        // 創建ArrayList 對象
        ArrayList<Integer> list = new ArrayList<>();
        // 添加隨機數到集合
        for (int i = 0; i < 20; i++) {
            int r = random.nextInt(1000) + 1;
            list.add(r);
        }
        // 調用偶數集合的方法
         ArrayList<Integer> arrayList = getArrayList(list);
        System.out.println(arrayList);
    }

    public static ArrayList<Integer> getArrayList(ArrayList<Integer> list) {
        // 創建小集合,來保存偶數
        ArrayList<Integer> smallList = new ArrayList<>();
        // 遍歷list
        for (int i = 0; i < list.size(); i++) {
            // 獲取元素
            Integer num = list.get(i);
            // 判斷爲偶數,添加到小集合中
            if (num % 2 == 0) {
                smallList.add(num);
            }
        }
        // 返回小集合
        return smallList;
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章