【Java基礎系列】——Scanner+String+Random+ArrayList+Arrays+Math

需要更好的閱讀的體驗請移步 👉 小牛肉的個人博客 👈



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

1. Scanner 類

導包

java.util.Scanner;

作用

一個可以解析基本類型和字符串的簡單文本掃描器。

構造方法

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

成員方法

  • public int nextInt() 將輸入信息的下一個標記掃描爲一個 int 值。

實例

例如,以下代碼使用戶能夠從 System.in 中讀取一個數:

Scanner sc = new Scanner(System.in); 
int i = sc.nextInt();  // 接收一個鍵盤錄入的整數
匿名對象作爲參數
class Test {
 	public static void main(String[] args) {      
	 	input(sc);                //匿名對象作爲方法接收的參數         
 	 	input(new Scanner(System.in));     
 	}      
 	public static void input(Scanner sc){          
	 	System.out.println(sc);         
 	}    
 }
匿名對象作爲返回值
class Test2 {     
	public static void main(String[] args) {          // 普通方式             
		Scanner sc = getScanner();      
	}         
	public static Scanner getScanner(){            //普通方式            
		return new Scanner(System.in); 
	}      
}

2. Random 類

導包

java.util.Random

作用

用於生成僞隨機數

構造方法

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

成員方法

public int nextInt(int n) :返回一個僞隨機數,範圍在 0 (包括)和 指定值 n (不包括)之間的 int 值。

實例

使用Random類,完成生成3個10以內的隨機整數的操作

3. ArrayList 類

導包

java.util.ArrayList

作用

大小可變的數組的實現,存儲在內的數據稱爲元素。此類提供一些方法來操作內部存儲 的元素。 ArrayList 中可不斷的添加元素,其大小也自動增長。(類似於C++中的 vector

構造方法

public ArrayList() :構造一個內容爲空的集合。

基本格式:

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

在JDK 7後,右側泛型的尖括號之內可以留空,但是<>仍然要寫:

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

成員方法

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

實例

如何存儲基本數據類型

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

4. String 類

導包

java.lang.String

所有 java.lang 包的下類都無須進行導包

作用

Java程序中所有的字符串文字(例如 “abc” )都可以被看作是實現此類的實例。

類 String 中包括用於檢查各個字符串的方法,比如用於比較字符串,搜索字符串,提取子字符串以及創建具有翻 譯爲大寫或小寫的所有字符的字符串的副本。

構造方法

  • public String() :初始化新創建的 String對象,以使其表示空字符序列。
  • public String(char[] value):通過當前參數中的字符數組來構造新的String。
  • public String(byte[] bytes) :通過使用平臺的默認字符集解碼當前參數中的字節數組來構造新的 String。
// 無參構造 
String str = new String();   

// 通過字符數組構造 
char chars[] = {'a', 'b', 'c'};      
String str2 = new String(chars);   

// 通過字節數組構造 
byte bytes[] = { 97, 98, 99 };      
String str3 = new String(bytes);

成員方法

判斷

  • public boolean equals (Object anObject) :將此字符串與指定對象進行比較。
  • public boolean equalsIgnoreCase (String anotherString) :將此字符串與指定對象進行比較,忽略大小 寫。

獲取

  • public int length () :返回此字符串的長度。
  • public String concat (String str):將指定的字符串連接到該字符串的末尾。
  • public char charAt (int index) :返回指定索引處的 char值。
  • public int indexOf (String str):返回指定子字符串第一次出現在該字符串內的索引。
  • public String substring (int beginIndex) :返回一個子字符串,從beginIndex開始截取字符串到字符 串結尾。
  • public String substring (int beginIndex, int endIndex):返回一個子字符串,從beginIndex到 endIndex截取字符串。含beginIndex,不含endIndex。

轉換

  • public char[] toCharArray ():將此字符串轉換爲新的字符數組。
  • public byte[] getBytes () :使用平臺的默認字符集將該 String編碼轉換爲新的字節數組。
  • public String replace (CharSequence target, CharSequence replacement) :將與target匹配的字符串使 用replacement字符串替換。

分割

  • public String[] split(String regex):將此字符串按照給定的regex(規則)拆分爲字符串數組。

實例

鍵盤錄入一個字符,統計字符串中大小寫字母及數字字符個數

5. static 關鍵字

基本和C++中一樣,此處就不多說了 (不理解的可以去找我的C++複習總結回顧系列)

注意一下Java中的 靜態代碼塊

靜態代碼塊:定義在成員位置,使用static修飾的代碼塊{ }。
位置:類中方法外。
執行:隨着類的加載而執行且執行一次,優先於main方法和構造方法的執行。

6. Arrays 類

導包

java.util.Arrays

作用

此類包含用來操作數組的各種方法,比如排序和搜索等。
其所有方法均爲靜態方法,調用起來非常簡單。

操作數組的方法

  • public static String toString(int[] a):返回指定數組內容的字符串表示形式。
  • public static void sort(int[] a) :對指定的 int 型數組按數字升序進行排序。
    在這裏插入圖片描述

實例

將一個隨機字符串中的所有字符升序排列,並倒序打印

7. Math 類

導包

java.lang.Math 可不導

作用

java.lang.Math 類包含用於執行基本數學運算的方法,如初等指數、對數、平方根和三角函數。類似這樣的工具 類,其所有方法均爲靜態方法,並且不會創建對象,調用起來非常簡單。

基本運算的方法

  • public static double abs(double a) :返回 double 值的絕對值。
  • public static double ceil(double a) :返回大於等於參數的最小的整數。
  • public static double floor(double a):返回小於等於參數最大的整數。
  • public static long round(double a):返回最接近參數的 long。(相當於四捨五入方法)
long d1 = Math.round(5.5); //d1的值爲6.0 
long d2 = Math.round(5.4); //d2的值爲5.0

實例

計算在 -10.8 到 5.9 之間,絕對值大於 6 或者小於 2.1 的整數有多少個?

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