1.Java StringBuffer 和 StringBuilder 類
- 當對字元串進行修改的時候,需要使用 StringBuffer 和 StringBuilder 類。
- StringBuffer 和 StringBuilder 類的對象能夠被多次的修改,并且不産生新的未使用對象。
- StringBuilder 的方法不是線程安全的(不能同步通路)。由于 StringBuilder 相較于 StringBuffer 有速度優勢,是以多數情況下建議使用 StringBuilder 類
- 在應用程式要求線程安全的情況下,則必須使用 StringBuffer 類。
public class Test{
public static void main(String args[]){
StringBuffer sBuffer = new StringBuffer("菜鳥教程官網:");
sBuffer.append("www");
sBuffer.append(".runoob");
sBuffer.append(".com");
System.out.println(sBuffer);
}
}
結果:
2foreach循環與數組:
能在不使用下标的情況下周遊數組。
public class TestArray {
public static void main(String[] args) {
double[] myList = {, , , };
// 列印所有數組元素
for (double element: myList) {
System.out.println(element);
}
}
}
*Arrays 類
java.util.Arrays 類能友善地操作數組,它提供的所有方法都是靜态的。具有以下功能:
- 給數組指派:通過 fill 方法。
- 給數組指派:通過 fill 方法。
- 對數組排序:通過 sort 方法,按升序。
- 比較數組:通過 equals 方法比較數組中元素值是否相等。
- 查找數組元素:通過 binarySearch 方法能對排序好的數組進行二分查找法操作。
2.finalize() 方法
Java 的記憶體回收可以由 JVM 來自動完成。如果你手動使用,則可以使用finalize() 方法。
3.Scanner 類
1)next方法:
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// 從鍵盤接收資料
//next方式接收字元串
System.out.println("next方式接收:");
// 判斷是否還有輸入
if(scan.hasNext()){
String str1 = scan.next();
System.out.println("輸入的資料為:"+str1);
}
}
}
結果:
next方式接收:
runoob com
輸入的資料為:runoob
2)nextLine方法:
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// 從鍵盤接收資料
//nextLine方式接收字元串
System.out.println("nextLine方式接收:");
// 判斷是否還有輸入
if(scan.hasNextLine()){
String str2 = scan.nextLine();
System.out.println("輸入的資料為:"+str2);
}
}
}
結果:
nextLine方式接收:
runoob com
輸入的資料為:runoob com
3)差別:
next():
- 一定要讀取到有效字元後才可以結束輸入
- 對輸入有效字元之前遇到的空白,next() 方法會自動将其去掉。
- 隻有輸入有效字元後才将其後面輸入的空白作為分隔符或者結束符。
nextLine():
- 以Enter為結束符,也就是說 nextLine()方法傳回的是輸入回車之前的所有字元。
- 可以獲得空白。
4.異常處理
4.1異常分類:
- 檢查性異常:最具代表的檢查性異常是使用者錯誤或問題引起的異常,這是程式員無法預見的。例如要打開一個不存在檔案時,一個異常就發生了,這些異常在編譯時不能被簡單地忽略。
- 運作時異常: 運作時異常是可能被程式員避免的異常。與檢查性異常相反,運作時異常可以在編譯時被忽略。
- 錯誤: 錯誤不是異常,而是脫離程式員控制的問題。錯誤在代碼中通常被忽略。例如,當棧溢出時,一個錯誤就發生了,它們在編譯也檢查不到的。
4.2異常捕獲
1)使用 try 和 catch 關鍵字可以捕獲異常。try/catch 代碼塊放在異常可能發生的地方。
try/catch代碼塊中的代碼稱為保護代碼,使用 try/catch 的文法如下:
try
{
// 程式代碼
}catch(ExceptionName e1)
{
//Catch 塊
}
例:
import java.io.*;
public class ExcepTest{
public static void main(String args[]){
try{
int a[] = new int[];
System.out.println("Access element three :" + a[]);
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("Exception thrown :" + e);
}
System.out.println("Out of the block");
}
}
2)throws/throw 關鍵字:
3)finally關鍵字:finally 關鍵字用來建立在 try 代碼塊後面執行的代碼塊。
無論是否發生異常,finally 代碼塊中的代碼總會被執行。
在 finally 代碼塊中,可以運作清理類型等收尾善後性質的語句。