2018-2019-2 20189205《移動平臺應用開發實踐》第三週做業

JAVA學習

String 類

Java 中經過String類來建立和操做字符串。
String類中主要的方法有:
1 char charAt(int index) 返回指定索引處的 char 值。
2 int compareTo(Object o) 把這個字符串和另外一個對象比較。
3 int compareTo(String anotherString) 按字典順序比較兩個字符串。
4 int compareToIgnoreCase(String str) 按字典順序比較兩個字符串,不考慮大小寫。
5 String concat(String str) 將指定字符串鏈接到此字符串的結尾。
6 boolean contentEquals(StringBuffer sb) 當且僅當字符串與指定的StringBuffer有相同順序的字符時候返回真。
7 static String copyValueOf(char[] data) 返回指定數組中表示該字符序列的 String。
8 static String copyValueOf(char[] data, int offset, int count) 返回指定數組中表示該字符序列的 String。
9 boolean endsWith(String suffix) 測試此字符串是否以指定的後綴結束。
10 boolean equals(Object anObject) 將此字符串與指定的對象比較。
11 boolean equalsIgnoreCase(String anotherString) 將此 String 與另外一個 String 比較,不考慮大小寫。
12 byte[] getBytes() 使用平臺的默認字符集將此 String 編碼爲 byte 序列,並將結果存儲到一個新的 byte 數組中。
13 byte[] getBytes(String charsetName) 使用指定的字符集將此 String 編碼爲 byte 序列,並將結果存儲到一個新的 byte 數組中。
14 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 將字符今後字符串複製到目標字符數組。
15 int hashCode() 返回此字符串的哈希碼。
16 int indexOf(int ch) 返回指定字符在此字符串中第一次出現處的索引。
17 int indexOf(int ch, int fromIndex) 返回在此字符串中第一次出現指定字符處的索引,從指定的索引開始搜索。
18 int indexOf(String str) 返回指定子字符串在此字符串中第一次出現處的索引。
19 int indexOf(String str, int fromIndex) 返回指定子字符串在此字符串中第一次出現處的索引,從指定的索引開始。
20 String intern() 返回字符串對象的規範化表示形式。
21 int lastIndexOf(int ch) 返回指定字符在此字符串中最後一次出現處的索引。
22 int lastIndexOf(int ch, int fromIndex) 返回指定字符在此字符串中最後一次出現處的索引,從指定的索引處開始進行反向搜索。
23 int lastIndexOf(String str) 返回指定子字符串在此字符串中最右邊出現處的索引。
24 int lastIndexOf(String str, int fromIndex) 返回指定子字符串在此字符串中最後一次出現處的索引,從指定的索引開始反向搜索。
25 int length() 返回此字符串的長度。
26 boolean matches(String regex) 告知此字符串是否匹配給定的正則表達式。
27 boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) 測試兩個字符串區域是否相等。
28 boolean regionMatches(int toffset, String other, int ooffset, int len) 測試兩個字符串區域是否相等。
29 String replace(char oldChar, char newChar) 返回一個新的字符串,它是經過用 newChar 替換此字符串中出現的全部 oldChar 獲得的。
30 String replaceAll(String regex, String replacement) 使用給定的 replacement 替換此字符串全部匹配給定的正則表達式的子字符串。
31 String replaceFirst(String regex, String replacement) 使用給定的 replacement 替換此字符串匹配給定的正則表達式的第一個子字符串。
32 String[] split(String regex) 根據給定正則表達式的匹配拆分此字符串。
33 String[] split(String regex, int limit) 根據匹配給定的正則表達式來拆分此字符串。
34 boolean startsWith(String prefix) 測試此字符串是否以指定的前綴開始。
35 boolean startsWith(String prefix, int toffset) 測試此字符串從指定索引開始的子字符串是否以指定前綴開始。
36 CharSequence subSequence(int beginIndex, int endIndex) 返回一個新的字符序列,它是此序列的一個子序列。
37 String substring(int beginIndex) 返回一個新的字符串,它是此字符串的一個子字符串。
38 String substring(int beginIndex, int endIndex) 返回一個新字符串,它是此字符串的一個子字符串。
39 char[] toCharArray() 將此字符串轉換爲一個新的字符數組。
40 String toLowerCase() 使用默認語言環境的規則將此 String 中的全部字符都轉換爲小寫。
41 String toLowerCase(Locale locale) 使用給定 Locale 的規則將此 String 中的全部字符都轉換爲小寫。
42 String toString() 返回此對象自己(它已是一個字符串!)。
43 String toUpperCase() 使用默認語言環境的規則將此 String 中的全部字符都轉換爲大寫。
44 String toUpperCase(Locale locale) 使用給定 Locale 的規則將此 String 中的全部字符都轉換爲大寫。
45 String trim() 返回字符串的副本,忽略前導空白和尾部空白。
46 static String valueOf(primitive data type x) 返回給定data type類型x參數的字符串表示形式。java

StringBuffer 類 & StringBulider 類

String 類是不可改變的,所以一旦建立了一個String 對象,那它的值就沒法改變了。如果想對字符串進行不少修改,就須要建立許多新的String 類。所以若是須要對字符串進行添加化插入,應該選擇使用 StringBuffer 類或是 StringBuilder 類,在完成對字符串的操做後再將對象轉化爲String 類。
StringBuffer 類中的方法是同步的,所以其適合在多線程環境下使用。而StringBuilder 類在 Java 5 中被提出,它和 StringBuffer 類之間的最大不一樣在於 StringBuilder 類的方法是異步的。
因爲 StringBuilder 類相較於 StringBuffer 類有速度優點,因此多數狀況下建議使用 StringBuilder 類。然而在應用程序要求線程安全的狀況下,則必須使用 StringBuffer 類。
StringBuffer 類支持的主要方法有:
1 public StringBuffer append(String s) 將指定的字符串追加到此字符序列。
2 public StringBuffer reverse() 將此字符序列用其反轉形式取代。
3 public delete(int start, int end) 移除此序列的子字符串中的字符。
4 public insert(int offset, int i) 將 int 參數的字符串表示形式插入此序列中。
5 replace(int start, int end, String str) 使用給定 String 中的字符替換此序列的子字符串中的字符。
6 int capacity() 返回當前容量。正則表達式

Scanner 類

java.util.Scanner 是 Java5 的新特徵,咱們能夠經過 Scanner 類來獲取用戶的輸入。算法

next方法與nextLine方法

next方法nextLine方法均可用於讀取用戶輸入的字符串,其區別在於:
next():數組

  • 一、必定要讀取到有效字符後才能夠結束輸入。
  • 二、對輸入有效字符以前遇到的空白,next() 方法會自動將其去掉。
  • 三、只有輸入有效字符後纔將其後面輸入的空白做爲分隔符或者結束符。
  • 四、next() 不能獲得帶有空格的字符串。

nextLine():安全

  • 一、以Enter爲結束符,也就是說 nextLine()方法返回的是輸入回車以前的全部字符。
  • 二、能夠得到空白。

nextXxx()方法:

若是要輸入int或 float 等類型的數據,在 Scanner 類中也有支持,如nextInt()、nextFloat()、nextDouble()等。
同時爲驗證輸入數據的類型,在輸入以前最好先使用 hasNextXxx() 方法進行驗證,再使用 nextXxx() 來讀取。
例如:多線程

import java.util.Scanner;
 
public class ScannerNumber {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // 接收數據
        int i = 0;
        float f = 0.0f;
        double d = 0.0;
        System.out.print("輸入整數:");
        if (scan.hasNextInt()) {
            // 判斷輸入的是不是整數
            i = scan.nextInt();
            // 接收整數
            System.out.println("整數數據:" + i);
        } else {
            // 輸入錯誤的信息
            System.out.println("輸入的不是整數!");
        }
        System.out.print("輸入小數:");
        if (scan.hasNextFloat()) {
            // 判斷輸入的是不是小數
            f = scan.nextFloat();
            // 接收小數
            System.out.println("小數數據:" + f);
        } else {
            // 輸入錯誤的信息
            System.out.println("輸入的不是小數!");
        }

        System.out.print("輸入小數:");
        if (scan.hasNextDouble()) {
            // 判斷輸入的是不是小數
            f = scan.nextDouble();
            // 接收小數
            System.out.println("小數數據:" + f);
        } else {
            // 輸入錯誤的信息
            System.out.println("輸入的不是小數!");
        }
        scan.close();
    }
}

Number 類

通常地,當須要使用數字的時候,咱們一般使用內置數據類型,如:byte、int、long、double 等。
然而,在實際開發過程當中,咱們常常會遇到須要使用對象,而不是內置數據類型的情形。爲了解決這個問題,Java 語言爲每個內置數據類型提供了對應的包裝類。
全部的包裝類(Integer、Long、Byte、Double、Float、Short)都是抽象類 Number 的子類。
app

Math 類

Java 的 Math 包含了用於執行基本數學運算的屬性和方法,如初等指數、對數、平方根和三角函數。
Math 的方法都被定義爲 static 形式,經過 Math 類能夠在主函數中直接調用。
Number 類與Math 類的主要方法有:
1 xxxValue() 將 Number 對象轉換爲xxx數據類型的值並返回。
2 compareTo() 將number對象與參數比較。
3 equals() 判斷number對象是否與參數相等。
4 valueOf() 返回一個 Number 對象指定的內置數據類型
5 toString() 以字符串形式返回值。
6 parseInt() 將字符串解析爲int類型。
7 abs() 返回參數的絕對值。
8 ceil() 返回大於等於( >= )給定參數的的最小整數。
9 floor() 返回小於等於(<=)給定參數的最大整數 。
10 rint() 返回與參數最接近的整數。返回類型爲double。
11 round() 它表示四捨五入,算法爲 Math.floor(x+0.5),即將原來的數字加上 0.5 後再向下取整,因此,Math.round(11.5) 的結果爲12,Math.round(-11.5) 的結果爲-11。
12 min() 返回兩個參數中的最小值。
13 max() 返回兩個參數中的最大值。
14 exp() 返回天然數底數e的參數次方。
15 log() 返回參數的天然數底數的對數值。
16 pow() 返回第一個參數的第二個參數次方。
17 sqrt() 求參數的算術平方根。
18 sin() 求指定double類型參數的正弦值。
19 cos() 求指定double類型參數的餘弦值。
20 tan() 求指定double類型參數的正切值。
21 asin() 求指定double類型參數的反正弦值。
22 acos() 求指定double類型參數的反餘弦值。
23 atan() 求指定double類型參數的反正切值。
24 atan2() 將笛卡爾座標轉換爲極座標,並返回極座標的角度值。
25 toDegrees() 將參數轉化爲角度。
26 toRadians() 將角度轉換爲弧度。
27 random() 返回一個隨機數。dom

數組

Java 語言中提供的數組是用來存儲固定大小的同類型元素。異步

數組聲明

聲明數組變量的語法爲:ide

dataType[] arrayRefVar;   
或
dataType arrayRefVar[];

For-Each循環

JAVA5引進了一種新的循環類型,被稱爲 For-Each 循環或者增強型循環,它能在不使用下標的狀況下遍歷數組。其語法格式爲:

for(type element: array)
{
    System.out.println(element);
}

Arrays 類

java.util.Arrays 類能方便地操做數組,它提供的全部方法都是靜態的。具備如下功能:

  • 給數組賦值:經過 fill 方法。
  • 對數組排序:經過 sort 方法,按升序。
  • 比較數組:經過 equals 方法比較數組中元素值是否相等。
  • 查找數組元素:經過 binarySearch 方法能對排序好的數組進行二分查找法操做。

具體的方法以下: 1 public static int binarySearch(Object[] a, Object key) 用二分查找算法在給定數組中搜索給定值的對象(Byte,Int,double等)。數組在調用前必須排序好的。若是查找值包含在數組中,則返回搜索鍵的索引;不然返回 (-(插入點) - 1)。 2 public static boolean equals(long[] a, long[] a2) 若是兩個指定的 long 型數組彼此相等,則返回 true。若是兩個數組包含相同數量的元素,而且兩個數組中的全部相應元素對都是相等的,則認爲這兩個數組是相等的。換句話說,若是兩個數組以相同順序包含相同的元素,則兩個數組是相等的。一樣的方法適用於全部的其餘基本數據類型(Byte,short,Int等)。 3 public static void fill(int[] a, int val) 將指定的 int 值分配給指定 int 型數組指定範圍中的每一個元素。一樣的方法適用於全部的其餘基本數據類型(Byte,short,Int等)。 4 public static void sort(Object[] a) 對指定對象數組根據其元素的天然順序進行升序排列。一樣的方法適用於全部的其餘基本數據類型(Byte,short,Int等)。

相關文章
相關標籤/搜索