190 likes | 384 Views
方法 ( 函數 ). 自訂方法的運用 內建的類別及方法. method 的認識. Java 把函數稱為 method method 可用如下的語法來定義:. 定義 method. [ public static] 傳回 值型態 method 名稱 ( 型態 引數 1, 型態 引數 2,...) { 程式敘述 ; return 運算式 ; }. 若 method 沒有傳回值, return 敘述可以省略 . method 的主體. 範例. import java.util.Scanner ; public class Example{
E N D
方法(函數) 自訂方法的運用 內建的類別及方法
method的認識 • Java把函數稱為method • method可用如下的語法來定義: 定義method [public static]傳回值型態 method名稱(型態 引數1, 型態 引數2,...) { 程式敘述 ; return運算式; } 若method沒有傳回值,return敘述可以省略 method的主體
範例 import java.util.Scanner; public class Example{ public static void main(String args[]){ int num; Scanner input= new Scanner(System.in); System.out.print("輸入num:"); num=input.nextInt(); System.out.println("輸出加總結果:"+sum(num)); } intsum(int n){ intans=0; for(inti=1;i<=n;i++) ans+=i; return ans; } } 呼叫sum method, 帶入num的值 傳入的引數為整數,引數名稱為n 傳回值型態為整數
多載的概念 • 多載(overloading): • 將功能相似的method,以相同名稱命名,編譯器會根據引數的個數與型態,自動執行相對應的method
範例 //引數型態不同的函數多載 public class Example{ public static void main(String args[]){ int a=5, b[]={1,2,3,4}; show(a); show(b); } void show(inti){ System.out.println("value="+i); } void show(intarr[]){ System.out.print("array="); for(inti=0;i<arr.length;i++) System.out.print(arr[i]+" "); System.out.println(); } }
練習 • 建立一java程式及area()方法 • 依據參數數量計算圓面積或矩形面積
字串類別 • String類別是放置在java.lang類別庫內 • java.lang類別庫裡所有的類別會自動載入 • 建立String物件的範例: String str1=“abc”; • 也可利用字元陣列來產生字串: char str2[]={‘a’,’b’,’c’}; • 直接利用String建構元來建立字串: String str3=new String(“abc”); • 宣告之後無法修改內容
字串類別所提供的方法 • 參考網址 http://nothing.tw/JDK_API_1_6/java/lang/String.html
範例 public class Text1 { public static void main(String args[]){ String str1 = "Providence University"; System.out.println(str1.charAt(5)); System.out.println(str1.indexOf("Pro")); System.out.println(str1.length()); System.out.println(str1.substring(11)); System.out.println(str1.toLowerCase()); System.out.println(str1.toUpperCase()); } } ------------Configuration: <Default> ------------ d 0 21 University providence university PROVIDENCE UNIVERSITY
StringBuffer類別庫 • 要修改字串,必須使用StringBuffer類別 • 下表列出常用的method: • 可以修改字串內容
日期時間類別庫 • java.util.* • java.util.Calendar • java.util.GregorianCalendar • java.util.TimeZone • java.util.SimpleTimeZone • java.util.Date • java.text.* • java.text.DateFormat • java.text.SimpleDateFormat • java.text.DateFormatSymbols
java.util.Calendar • Calendar 日曆類別 • 參考網址http://nothing.tw/JDK_API_1_6/java/util/Calendar.html • 宣告物件取得現在的時間 Calendar today = Calendar.getInstance();
範例 import java.util.Calendar; public class CalendarExample1{ public static void main(String args[]) { Calendar today = Calendar.getInstance(); System.out.println("現在時區ERA:"+today.get(Calendar.ERA)); System.out.println("現在年份:"+today.get(Calendar.YEAR)); System.out.println("今天日期:"+today.get(Calendar.DATE)); System.out.println("今天是這個月的幾號:"+today.get(Calendar.DAY_OF_MONTH)); System.out.println("今天是這星期的第幾天:"+today.get(Calendar.DAY_OF_WEEK)); System.out.println("現在幾點:"+today.get(Calendar.HOUR)); } }
java.text.DateFormat • DateFormat是日期/時間格式化子類別的抽象類別。(設定日期時間格式用。) • 參考網址 http://nothing.tw/JDK_API_1_6/java/text/DateFormat.html • 方法 • getInstance() • getDateInstance() • getTimeInstance() • getDateTimeInstance() • DateFormat.格式化樣式 • FULL • LONG • MEDIUM • SHORT
範例 import java.text.DateFormat; import java.util.Date; public class DateFormatExample1 { public static void main(String[] args) { Date now = new Date(); System.out.println(" 1. " + now.toString()); System.out.println(" 2. " + DateFormat.getInstance().format(now)); System.out.println(" 3. " + DateFormat.getTimeInstance().format(now)); System.out.println(" 4. " + DateFormat.getDateTimeInstance().format(now)); System.out.println(" 5. " + DateFormat.getTimeInstance(DateFormat.SHORT).format(now)); System.out.println(" 6. " + DateFormat.getTimeInstance(DateFormat.MEDIUM).format(now)); System.out.println(" 7. " + DateFormat.getTimeInstance(DateFormat.LONG).format(now)); //續下頁
//承上頁 System.out.println(" 8. " + DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT).format(now)); System.out.println(" 9. " + DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.SHORT).format(now)); System.out.println("10. " + DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG).format(now)); System.out.println("11. " + DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL).format(now)); } }
範例 import java.text.SimpleDateFormat; import java.util.Date; public class SimpleExample1{ public static void main(String args[]) { Date today = new Date(); SimpleDateFormat f1=new SimpleDateFormat("yyyy/M/d a h:m"); SimpleDateFormat f2=new SimpleDateFormat("yyyy/MMM/d H:m:s"); System.out.println(f1.format(today)); System.out.println(f2.format(today)); } }