天天看點

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

需要更好的閱讀的體驗請移步 👉 小牛肉的個人部落格 👈

文章目錄

    • 1. Scanner 類
      • 導包
      • 作用
      • 構造方法
      • 成員方法
      • 執行個體
          • 匿名對象作為參數
          • 匿名對象作為傳回值
    • 2. Random 類
      • 導包
      • 作用
      • 構造方法
      • 成員方法
      • 執行個體
    • 3. ArrayList 類
      • 導包
      • 作用
      • 構造方法
      • 成員方法
      • 執行個體
      • 如何存儲基本資料類型
    • 4. String 類
      • 導包
      • 作用
      • 構造方法
      • 成員方法
      • 執行個體
    • 5. static 關鍵字
    • 6. Arrays 類
      • 導包
      • 作用
      • 操作數組的方法
      • 執行個體
    • 7. 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以内的随機整數的操作

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

3. ArrayList 類

導包

java.util.ArrayList

作用

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

vector

構造方法

public ArrayList()

:構造一個内容為空的集合。

基本格式:

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

成員方法

  • public boolean add(E e)

    : 将指定的元素添加到此集合的尾部。 參數 E e ,在構造ArrayList對象時, 指定了什麼資料類型,那麼 add(E e) 方法中,隻能添加什麼資料 類型的對象。
  • public E remove(int index)

    :移除此集合中指定位置上的元素。傳回被删除的元素。
  • public E get(int index)

    :傳回此集合中指定位置上的元素。傳回擷取的元素。
  • public int size()

    :傳回此集合中的元素數。周遊集合時,可以控制索引範圍,防止越界。

執行個體

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

如何存儲基本資料類型

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

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

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(規則)拆分為字元串數組。
    【Java基礎系列】——Scanner+String+Random+ArrayList+Arrays+Math

執行個體

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

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

5. static 關鍵字

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

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

靜态代碼塊:定義在成員位置,使用static修飾的代碼塊{ }。

位置:類中方法外。

執行:随着類的加載而執行且執行一次,優先于main方法和構造方法的執行。

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

6. Arrays 類

導包

java.util.Arrays

作用

此類包含用來操作數組的各種方法,比如排序和搜尋等。

其所有方法均為靜态方法,調用起來非常簡單。

操作數組的方法

  • public static String toString(int[] a)

    :傳回指定數組内容的字元串表示形式。
    【Java基礎系列】——Scanner+String+Random+ArrayList+Arrays+Math
  • public static void sort(int[] a)

    :對指定的 int 型數組按數字升序進行排序。
    【Java基礎系列】——Scanner+String+Random+ArrayList+Arrays+Math

執行個體

将一個随機字元串中的所有字元升序排列,并倒序列印

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

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 的整數有多少個?

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