1. 程式人生 > 其它 >Java重溫學習筆記,JDK1.5開始,部分新功能

Java重溫學習筆記,JDK1.5開始,部分新功能

一、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、可以獲得空白。