Java重溫學習筆記,JDK1.5開始,部分新功能
阿新 • • 發佈:2021-06-19
一、JDK 1.5 開始,Java支援傳遞同類型的可變引數給一個方法。方法的可變引數的宣告如下所示:
示範程式碼:
import java.util.regex.*; public class MyDemo { public static void main(String args[]) { // 呼叫可變引數的方法 printMax(34, 3, 3, 2, 56.5); printMax(new double[]{1, 2, 3}); } public static void printMax(double... numbers) {if (numbers.length == 0) { System.out.println("No argument passed"); return; } double result = numbers[0]; for (int i = 1; i < numbers.length; i++){ if (numbers[i] > result) { result = numbers[i]; } } System.out.println("The max value is :" + result); } }
注意,下面這兩行程式碼是等同的,不能同時使用:
void function(String... args); void function(String[] args);
二、java.util.Scanner 是 Java5 的新特徵,我們可以通過 Scanner 類來獲取使用者的輸入
示範程式碼一:
import java.util.*; public class MyDemo { public static void main(String[] args) { Scanner scan= new Scanner(System.in); System.out.println("請輸入資料……"); if (scan.hasNext()) { // 碰到空格停止 String str = scan.next(); System.out.println("輸入的資料為:" + str); } scan.close(); } }
輸出:
D:\Work\helloworld>java MyDemo
請輸入資料……
sdsad sd
輸入的資料為:sdsad
示範程式碼二:
import java.util.*; public class MyDemo { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("請輸入資料……"); if (scan.hasNextLine()) { String str = scan.nextLine(); System.out.println("輸入的資料為:" + str); } scan.close(); } }
輸出:
D:\Work\helloworld>java MyDemo
請輸入資料……
dasd sdasd
輸入的資料為:dasd sdasd
next() 與 nextLine() 區別
next():
1、一定要讀取到有效字元後才可以結束輸入。
2、對輸入有效字元之前遇到的空白,next() 方法會自動將其去掉。
3、只有輸入有效字元後才將其後面輸入的空白作為分隔符或者結束符。next() 不能得到帶有空格的字串。
nextLine():
1、以Enter為結束符,也就是說 nextLine()方法返回的是輸入回車之前的所有字元。
2、可以獲得空白。