Ch10 字元與字串 物件導向程式設計(II).

Slides:



Advertisements
Similar presentations
主要内容 Java 的常用包 Java 的常用包 “ == ” 和 “ equals ” 的用法 “ == ” 和 “ equals ” 的用法 基本数据类型与引用类型 基本数据类型与引用类型 String 和 StringBuffer String 和 StringBuffer 对象的克隆( clone.
Advertisements

软件编程基础 一、程序的编辑 Java 源程序是以 Java 为后缀的简单的文本文件,可以用各种 Java 集成开发环境中的源代码编辑器来编写,也可以用其他文 本编辑工具,如 Windows 中的记事本或 DOS 中的 EDIT 软件等。 利用文字编辑器编写下列程序 public class Hello.
第四章 类、对象和接口.
第一單元 建立java 程式.
Java程序设计教程 第一讲 Java概述.
四資二甲 第三週作業 物件導向程式設計.
第五章 字符串.
陣列與字串 Java陣列特性 一維陣列 多維陣列 字串 字串的相關函數 字串緩衝器類別.
Ch07 介面與多重繼承 物件導向程式設計(II).
File Access 井民全製作.
程式語言的基礎 Input Output Program 世代 程式語言 第一世代 Machine language 第二世代
13 C++字串 字串與數值轉換函數 13.1 C++字串類別 建立C++字串 13-2
LINQ 建國科技大學 資管系 饒瑞佶.
Java簡介.
第5章 基本輸入與輸出 5-1 程式的輸入與輸出 5-2 字元與字串的輸入 5-3 字元與字串的輸出 5-4 格式化資料的輸入
Visual C++ introduction
第8章 字元與字串處理 8-1 C語言的字元檢查函數 8-2 指定字串的初值 8-3 指標與字串 8-4 字串處理 8-5 C語言的字串函數.
程序與函數的類別方法 目的:模組化程式設計 方法:由上而下設計 注意事項:(1)獨立性 (2)結合問題 (3)子問題間的溝通.
String C語言-字串.
客戶端的檔案上傳 HtmlInputFile檔案控制項 上傳單一檔案 同時上傳多個檔案.
Java程式概觀.
程式設計實作.
第四章 基本輸出入 Java應用程式的輸出入介面有三種,分別是命令提示字元視窗、AWT元件、及Swing元件。本單元先介紹命令提示字元視窗,AWT請看第16、17章,Swing請看第20章。 輸入 輸出.
抽象类 File类 String类 StringBuffer类
Ch12 數字類別 JAVA程式設計入門(II).
C語言簡介 日期 : 2018/12/2.
生物資訊程式語言應用 Part 3 Perl Language.
類別(class) 類別class與物件object.
SQL Stored Procedure SQL 預存程序.
第3章 指標與字串 (Pointers and Strings)
Java 程式設計 講師:FrankLin.
JAVA 程式設計與資料結構 第四章 陣列、字串與數學物件.
Ch02-基礎語法.
C/C++/Java 哪些值不是头等程序对象
程式設計實習課(四) ----C 函數運用----
第一單元 建立java 程式.
* 單元:電腦與問題解決 主題:Java物件導向程式設計-類別與物件 台南縣國立善化高中 蕭嘉民 老師
網頁程式設計 本章投影片錄自HTML5、CSS3、RWD、jQuery Mobile跨裝網頁設計 陳惠貞 著 碁峰資訊股份有限公司出版
Java程序设计 第8章 字符串和文本I/O.
第 19 章 XML記憶體執行模式.
JAVA 程式設計 資訊管理系 - 網路組.
輸入&輸出 函數 P20~P21.
第九章 字串.
第 11 章 字串.
第一次Labview就上手 參考書籍: LabVIEW for Everyone (Jeffrey Travis/Jim Kring)
Ch09 物件導向技術導論(二) Java程式設計(2).
挑戰C++程式語言 ──第8章 進一步談字元與字串
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
C qsort.
第二章 Java基本语法 讲师:复凡.
挑戰C++程式語言 ──第7章 輸入與輸出.
陣列與結構.
10115: Automatic Editing ★★☆☆☆
龍老師我不會Debug QQ.
進階UI元件:ListView元件以及複選 靜宜大學資管系 楊子青
11058: Encoding ★☆☆☆☆ 題組:Problem Set Archive with Online Judge
簡單Java介紹.
1757: Secret Chamber at Mount Rushmore
第四章 陣列、指標與參考 4-1 物件陣列 4-2 使用物件指標 4-3 this指標 4-4 new 與 delete
JAVA 程式設計與資料結構 第三章 物件的設計.
What is “this”? 在物件導向程式設計中,類別的定義就是在說明如果創建了“這個物件”的話,它會具有那些屬性與功能,以及這些功能是如何實現的。 而所謂的“這個物件”就以 this 來表示。 當我們在JavaScript與jQuery中寫 script 程式(函式)時,“誰”呼叫這個函式,這個“誰”就是該函式中所謂的.
開發Java程式語言的工具 JDK.
迴圈(重複性結構) for while do while.
判斷(選擇性敘述) if if else else if 條件運算子.
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
輸出執行結果到螢幕上 如果要將執行結果的文字和數值都「輸出」到電腦螢幕時,程式要怎麼寫? class 類別名稱 {
第二章 Java基本语法 讲师:复凡.
Summary
方法(Method) 函數.
InputStreamReader Console Scanner
Presentation transcript:

Ch10 字元與字串 物件導向程式設計(II)

大綱 字元類別 字串類別 2019/1/1

Character字元類別 Java程式語言提供Character字元、String字串和StringBuffer字串緩衝器3種類別來處理字元資料,字串是0或多個循序的字元集合。http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Character.html 基本資料型態char宣告的變數和Character字元類別建立物件的內容都是字元,如果Java程式碼需要使用物件時,例如:使用Character物件的方法等,就需要使用Character類別建立字元物件。 2019/1/1

Character字元類別的建構子 Character字元類別的建構子Character()可以建立字元物件,如下所示: Character b = new Character(‘b’); 上述程式碼使用new運算子建立字元物件b,參數是字元文字值。 2019/1/1

Character字元類別的-方法 使用下表方法輸出成字串或轉換成基本資料型態的char,如下表所示: 2019/1/1

字元的比較 Java程式比較字元物件內容的相關方法說明,如下表所示: 2019/1/1

檢查字元內容-說明 Character類別提供類別方法檢查字元變數的值是否為大寫、小寫、空白、字母和數值等內容。 在Java程式需要使用類別名稱來呼叫這些方法,如下所示: System.out.println(Character.isUpperCase(a.charValue())); System.out.println(Character.isLowerCase(b)); 上述程式碼的a是字元物件,需要先使用charValue()方法轉換成字元變數,b是字元變數,然後使用Character類別的isUpperCase()和isLowerCase()方法來檢查字元變數的大寫或小寫。 2019/1/1

檢查字元內容-方法 2019/1/1

字元的數值轉換 Character類別提供類別方法將字元轉換成各種進位的數值,或是將各進位的數值轉換成對應的字元,相關方法如下表所示: 2019/1/1

範例1:字元物件與字元變數 class Ch02_01 { public static void main(String [] args) Character a = new Character('A'); Character b = new Character('B'); char c = 'C'; System.out.println("比較兩字元物件(0:相等 1:參數物件較大 -1:參數物件較小)"); System.out.println("a 與 b: " + a.compareTo(b)); // System.out.println(“a 與 c: “ + a.compareTo(c)); if (a.charValue() == c) System.out.println("a 與 c: 0"); if (a.charValue() > c) System.out.println("a 與 c: 1"); if (a.charValue() < c) System.out.println("a 與 c: -1"); } 2019/1/1

範例2:字元的數值轉換 class Ch02_02 { public static void main(String [] args) char a = 'h'; char b = 'x'; System.out.println("a字元的16進位值: " + Character.digit(a, 16)); System.out.println("值14的16進位的字元: " + Character.forDigit(14, 16)); System.out.println("a的無符號整數值: " + Character.getNumericValue(b)); } 2019/1/1

字串類別:String與StringBuffer Java字串就是String物件,提供String字串和StringBuffer字串緩衝區2種類別來處理字串資料。 在Java程式使用String類別建立的字串物件屬於唯讀字串(一旦物件內容設定,不能被更改,除非重新指定);StringBuffer字串緩衝區類別的字串物件能夠新增、插入和刪除字串內容。 2019/1/1

String字串類別 http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html Java可以直接使用字串文字值(一組字元集合使用「"」雙引號括起)來建立字串物件,如下所示: String str = "Java 2程式設計範例教本2e"; 上述程式碼將String類別當作資料型態來建立str字串物件,並且指定字串內容。 2019/1/1

String字串類別的建構子-過載建構子 Java提供數種String物件的建構子,可以使用new運算子建立String物件,如下表所示: 2019/1/1

範例3:利用不同的String建構子來建立字串物件 class Ch02_03 { public static void main(String [] args) char [] charArr = {'J', 'A', 'V', 'A', ' ', '2', ' ', 'P', 'r', 'o', 'g', 'r', 'a', 'm', 'm', 'i', 'n', 'g', '!'}; String str1 = "JAVA 2 Programming!"; String str2 = new String("JAVA 2 Programming!"); String str3 = new String(str1); String str4 = new String(charArr); System.out.println(str1); System.out.println(str2); System.out.println(str3); System.out.println(str4); System.out.println("str1 and str2: " + str1.equals(str2)); System.out.println("str1 and str3: " + str1.equals(str3)); System.out.println("str1 and str4: " + str1.equals(str4)); } 2019/1/1

字串的比較-1 String物件的字串可以一個字元一個字元比較字元的內碼值,直到分出大小為止。其相關方法如下表所示: 2019/1/1

字串的比較-2 2019/1/1

字串的比較-3 以比較運算子「==」判斷兩個String物件時,是判斷兩者是否指向相同的參考。 String類別的equals()方法,其功能是比較兩個String物件的內容而不是參照。   字串一.equals(字串二) 如果要忽略英文字母的大小寫,可以使用equalsIgnoreCase()方法。 2019/1/1

字串長度與大小寫轉換 String物件提供方法取得字串長度和進行英文字串的大小寫轉換,相關String物件的方法,如下表所示: 2019/1/1

子字串與字元搜尋-字元搜尋 String物件提供多種功能強大的字元或子字串搜尋方法,可以在字串中搜尋所需的字元或子字串,相關的搜尋方法,如下表所示: 2019/1/1

子字串與字元搜尋-子字串搜尋 String物件相關子字串搜尋方法,如下表所示: 2019/1/1

子字串和字元處理 String物件提供方法取代和取出字串中所需的字元和子字串,相關方法如下表所示: 2019/1/1

字串的連接 當兩個String物件要相連接的時候,可以使用『+』 若字串的尾端要再接一個字串,可以使用『+=』 str1 = str2 + str3; 若字串的尾端要再接一個字串,可以使用『+=』 str1 += “ABC”; 2019/1/1

1.使用concat()方法,並不會改變原來的物件內容 範例4:String字串連接 class Ch02_04 { public static void main(String [] args) { String str1 = "ABC"; String str2 = "123"; String str3 = "!@#"; String str4 = str1 + str2; String str5 = str1.concat(str2); System.out.println("str1 : " + str1); System.out.println("str2 : " + str2); System.out.println("str3 : " + str3); System.out.println("str4 = str1+str2: " + str4); System.out.println("str5 = str1.concat(str2) : " + str5); str3 += "$%^"; System.out.println("str3 += $%^ : " + str3); } 1.使用concat()方法,並不會改變原來的物件內容 2.String和StringBuffer最大不同,String物件的內容一旦設定,不會變!可是,str3為何更改了?其實,+和+=是透過StringBuffer物件來執行 2019/1/1

手、腦運動時間1 請設計字串處理方法(嘗試:1使用String和StringBuffer物件相同功能的方法;2不使用String和StringBuffer物件的方法) Int strLen(String): 取得字串長度 String strInsert(String1, String2, int):插入字串,將String2插入String1的位置int String strReplace(String1, String2, int):取代字串,將String1位置int開始取代成String2 提示:將參數字串先轉換成陣列,即使用一維字元陣列儲存字串內容,然後使用走訪和陣列處理建立字串處理的類別方法 2019/1/1

StringBuffer字串緩衝區類別 String字串類別建立的String物件不能更改內容,只能使用指令敘述重新指定全新的字串內容。 但是,StringBuffer字串緩衝區類別建立的StringBuffer物件就可以直接修改原字串的內容。 2019/1/1

StringBuffer字串緩衝區類別的建構子-過載建構子 StringBuffer字串緩衝區類別需要使用new運算子建立物件,StringBuffer物件的建構子,如下表所示: 2019/1/1

StringBuffer字串緩衝區類別的建構子-方法 StringBuffer字串緩衝區類別建立的StringBuffer物件除了可以使用length()方法取得字串長度外,還可以使用capacity()方法取得字串容量,相關方法如下表所示: 2019/1/1

範例5:StringBuffer物件的內容與容量 class Ch02_05 { public static void main(String [] args) { StringBuffer str1 = new StringBuffer("ABCDE"); System.out.print("原始資料 "); showSB(str1); System.out.print("設定最小容量為150 "); str1.ensureCapacity(150); System.out.print("設定最小容量為30 "); str1.ensureCapacity(30); System.out.print("設內容長度為3 "); str1.setLength(3); } static void showSB(StringBuffer sb) { System.out.println("*****************************"); System.out.println("字串物件內容: " + sb + " 內容長度 : " + sb.length() + " 容量 : " + sb.capacity()); 1.ensureCapacity()只可以越設越大 2.如果,設定內容長度較字串物件內容實際長度小時,會造成部份資料被刪除 2019/1/1

StringBuffer物件的新增和反轉 2019/1/1

StringBuffer物件的插入、刪除和取代-1 2019/1/1

StringBuffer物件的插入、刪除和取代-1 2019/1/1