1. 程式人生 > 實用技巧 >VS Code 中的程式碼自動補全和自動匯入包

VS Code 中的程式碼自動補全和自動匯入包

4.1、String類

描述:該類代表字串

構造方法:

方法 描述
public String() 初始化構造一個空白字串
public String(char[] value) 通過字元陣列初始化字串
public String(byte[] bytes) 通過使用平臺的預設字符集解碼指定的位元組陣列來構造新的String
public String(byte[] bytes, Charset charset) 通過使用自定義的字符集解碼指定的位元組陣列來構造新的String
public String(StringBuffer buffer) 字串緩衝區的內容被複制,重新分配一個新的字串
public String(StringBuilder builder) 字串構建器的內容被複制,重新分配一個新的字串

成員方法:

方法 描述
public int length() 返回此字串的長度
public int indexOf(int ch) 返回指定字元第一次出現的字串內的索引
public int lastIndexOf(int ch) 返回指定字元的最後一次出現的字串中的索引
public int indexOf(String str) 返回指定子字串第一次出現的字串內的索引
public int lastIndexOf(String str) 返回指定子字串最後一次出現的字串中的索引
public char charAt(int index) 返回char指定索引處的值
public char[] toCharArray() 將此字串轉換為新的字元陣列
public static String valueOf(int i) 返回int引數的字串int形式
public String trim() 返回一個刪除前後空格的字串
public String toString() 返回當前字串
public String concat(String str) 將指定的字串連線到該字串的末尾
public String toLowerCase() 返回一個轉換為小寫的字串
public String toUpperCase() 返回一個轉換為大寫的字串
public String substring(int beginIndex) 返回一個以指定索引處的字元開頭到該字串的末尾的子字串
public String substring(int beginIndex, int endIndex) 返回一個以指定索引處的字元開頭到指定索引處的字元結尾的子字串
public String replace(char oldChar, char newChar) 返回一個替換所有舊字元後的新字串
public String replaceAll(String regex, String replacement) 返回一個替換所有符合正則表示式字串後的新字串
public String[] split(String regex) 根據正則表示式拆分字串並返回拆分後的字串陣列
public boolean startsWith(String prefix) 判斷此字串是否以指定的字首開頭
public boolean endsWith(String suffix) 判斷此字串是否以指定的字尾結尾
public boolean matches(String regex) 根據正則表示式判斷當前字串是否符合要求
public boolean isEmpty() 判斷當前字串是否為空字串
public boolean contains(CharSequence s) 判斷當前字串是否包含s字元
public boolean equals(Object anObject) 判斷當前字串是否和anObject相等

注意事項:

StringBuffer StringBuilder
內容可以變 內容可以變
執行緒安全 執行緒不安全
多執行緒操作字串 單執行緒操作字串
StringBuffer sb = new StringBuffer();
sb.append("Hello");
sb.append(" ");
sb.append("World");
System.out.println(sb.toString());
StringBuilder sb = new StringBuilder();
sb.append("Hello");
sb.append(" ");
sb.append("World");
System.out.println(sb.toString());

4.2、八種包裝類

基本型別 包裝類
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
自動裝箱:把基本資料型別轉換為對應的包裝類型別
自動拆箱:把包裝類型別轉換為對應的基本資料型別

4.3、BigInteger類

BigInteger bi1 = new BigInteger("100");
BigInteger bi2 = new BigInteger("50");

// public BigInteger add(BigInteger val):加
System.out.println("add:" + bi1.add(bi2));

// public BigInteger subtract(BigInteger val):減
System.out.println("subtract:" + bi1.subtract(bi2));

// public BigInteger multiply(BigInteger val):乘
System.out.println("multiply:" + bi1.multiply(bi2));

// public BigInteger divide(BigInteger val):除
System.out.println("divide:" + bi1.divide(bi2));

4.4、BigDecimal類

BigDecimal bd1 = new BigDecimal("0.09");
BigDecimal bd2 = new BigDecimal("0.01");
// public BigDecimal add(BigDecimal val):加
System.out.println("add:" + bd1.add(bd2));

BigDecimal bd3 = new BigDecimal("1.0");
BigDecimal bd4 = new BigDecimal("0.32");
// public BigDecimal subtract(BigDecimal val):減
System.out.println("subtract:" + bd3.subtract(bd4));

BigDecimal bd5 = new BigDecimal("1.015");
BigDecimal bd6 = new BigDecimal("100");
// public BigDecimal multiply(BigDecimal val):乘
System.out.println("multiply:" + bd5.multiply(bd6));

BigDecimal bd7 = new BigDecimal("1.301");
BigDecimal bd8 = new BigDecimal("100");
// public BigDecimal divide(BigDecimal val):除
System.out.println("divide:" + bd7.divide(bd8));

4.5、異常

概述:異常就是程式出現了不正常的情況

體系:

解決:

解決方案一:用try-catch方式處理異常
try {
    可能出現異常的程式碼;
} catch(異常類名 變數名) {
    異常的處理程式碼;
}

解決方案二:用throws方式處理異常
public void 方法名() throws 異常類名 {
    
}

注意:

案例:

// 自定義異常類
class ScoreException extends Exception {
	public ScoreException() {}

	public ScoreException(String message) {
		super(message);
	}
}

class Teacher {
	public void checkScore(int score) throws ScoreException {
		if (score < 0 || score > 100) {
			throw new ScoreException("你給的成績有誤,分數應該在0-100之間");
		} else {
			System.out.println("你給的成績正常");
		}
	}
}

public class Main {
	public static void main(String[] args) {
		try {
			Teacher s = new Teacher();
			s.checkScore(120);
		} catch (ScoreException e) {
			e.printStackTrace();
		}
	}
}