งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Object-Oriented Technology Burapha University, 2001 Java Array and String Jarungjit Parnjai.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Object-Oriented Technology Burapha University, 2001 Java Array and String Jarungjit Parnjai."— ใบสำเนางานนำเสนอ:

1 Object-Oriented Technology Burapha University, 2001 Java Array and String Jarungjit Parnjai

2 Object-Oriented Technology Burapha University, 2001 Java Array

3 Object-Oriented Technology Burapha University, 2001 Java Array แอร์เรย์ (Array)  หมายถึง กลุ่ม (group) ของข้อมูลที่ เป็นประเภทเดียวกัน Array ในภาษาจาวา  ไม่ใช่เป็นเพียงเนื้อที่ในหน่วยความจำที่ จองไว้สำหรับประเภทข้อมูล แต่เป็นวัตถุ (Object)  เป็นกลุ่ม (group) ของข้อมูลที่เป็น ประเภทเดียวกัน ( ทั้งประเภท Primitive Data Type และ Reference Type)

4 Object-Oriented Technology Burapha University, 2001 Examples of Java Array ElementIndex Length=3 [0] [1] [2] xxx ‘a’‘a’ ‘b’‘b’ ‘c’‘c’ yyy Memory Address zzz Memory Address aaa Declare A as an Array of Character A

5 Object-Oriented Technology Burapha University, 2001 Declaring Array in Java การประกาศ Array ในภาษาจาวา ทำได้ โดย  type[ ] variable; หรือ type variable[ ];  ประกาศตัวแปร Array เพื่อเป็น ตัวอ้างอิงไปยัง Array  เป็นการจองเนื้อที่สำหรับตัวแปรอ้างอิง (Reference Variable)  ไม่ระบุขนาดของ Array  ค่า Default value เป็น null  Array เป็น Object???

6 Object-Oriented Technology Burapha University, 2001 Examples of Declaring Array ตัวอย่าง การประกาศ Array  int[ ] i; หรือ int i[ ];  int[ ] i,j; หรือ int i[ ], j[ ];  double[ ] d; หรือ double d[ ];  char[ ] A; หรือ char A[ ];  BankAccount[ ] ba; หรือ BankAccount ba[ ];  Point[ ] pt; หรือ Point pt[ ];

7 Object-Oriented Technology Burapha University, 2001 Creating Array in Java การสร้าง Array ในภาษาจาวา ทำได้โดย ใช้ new ในการสร้าง Array เป็นการจองเนื้อที่สำหรับเก็บข้อมูลใน Array มีการระบุขนาดของเนื้อที่ที่ต้องการ สร้าง ตัวอย่างการสร้าง Array char c[ ] = new char[26]; int i[ ] = new int[100]; double flag[ ] = new double[10]; BankAccount ba[ ] = new BankAccount[20]; Person p[ ] = new People[200];

8 Object-Oriented Technology Burapha University, 2001 Array Referencing เมื่อ Array ถูกสร้างขึ้น ขนาดของ Array จะมีค่าคงที่ ไม่สามารถเปลี่ยนแปลงได้ Index ของ Array จะต้องมีค่า  >= 0  <=.length - 1 การตรวจสอบ ขอบเขตของ Array (Array Bounds)  JVM ทำให้อัตโนมัติ  ตรวจสอบ index ของ Array, ต้องเป็น 0 <= index <=.length-1  Throws Exception ที่ว่า “ Array Index Out of Bounds ”

9 Object-Oriented Technology Burapha University, 2001 Creating Array in Java ตัวอย่างการสร้าง Array ของ Primitive Data Type 1 char[ ] c; 2 c = new char[26]; 3 for (int i=0; i<26; i++) { 4c[i] = (char)('a'+i); 5 } YYY Memory Address XXX Declare C as an Array of Character c After Line 1 null YYY

10 Object-Oriented Technology Burapha University, 2001 Creating Array in Java 1 char[ ] c; 2 c = new char[26]; 3 for (int i=0; i<26; i++) { 4c[i] = (char)('a'+i); 5 } YYY Memory Address XXX C Executing Line 2 null Declare C as an Array of Character YYY aaa Memory Address XXX C ElementIndex Length=26 [0] [1] [2] YY Y aaa bbb Memory Address zzz ccc [25] Executing Line 2 null Declare C as an Array of Character YYY aaa Memory Address XXX C ElementIndex Length=26 [0] [1] [2] YY Y aaa bbb Memory Address zzz ccc [25] After Line 2 null Declare C as an Array of Character YYY ตัวอย่างการสร้าง Array ของ Primitive Data Type

11 Object-Oriented Technology Burapha University, 2001 Creating Array in Java 1 char[ ] c; 2 c = new char[26]; 3 for (int i=0; i<26; i++) { 4c[i] = (char)('a'+i); 5 } aaa Memory Address XXX C ElementIndex Length=26 [0] [1] [2] ‘b’‘b’ aaa bbb Memory Address zzz ccc [25] After Line 3 and 4 null Declare C as an Array of Character YYY ‘z’‘z’ ‘c’‘c’ ‘a’‘a’ Memory Address aaa Memory Address XXX C ElementIndex Length=26 [0] [1] [2] YY Y aaa bbb zzz ccc [25] Executing Line 3 and 4 null Declare C as an Array of Character YYY ‘a’‘a’ ตัวอย่างการสร้าง Array ของ Primitive Data Typev

12 Object-Oriented Technology Burapha University, 2001 Creating Array in Java 1 char[ ] c; 2 c = new char[26]; 3 for (int i=0; i<26; i++) { 4c[i] = (char)('a'+i); 5 } aaa Memory Address XXX C ElementIndex Length=26 [0] [1] [2] ‘b’‘b’ aaa bbb Memory Address zzz ccc [25] After Line 5 null Declare C as an Array of Character YYY ‘z’‘z’ ‘c’‘c’ ‘a’‘a’ ตัวอย่างการสร้าง Array ของ Primitive Data Type

13 Object-Oriented Technology Burapha University, 2001 int data[ ]; data = new int[5]; for (int i=10; I < data.length; i--) data[i] = i % 2; Initializing an Array การสร้าง Array โดยให้ค่าเริ่มต้น BankAccount account[ ]; account = new BankAccount[3]; account[0] = new BankAccount(1000); account[1] = new BankAccount(0); account[2] = new BankAccount (23052); Array Bounds int a[ ] = { 2, 4, 6, 8, 10 };

14 Object-Oriented Technology Burapha University, 2001 A Point Class Point - xPos : int - yPos : int + Point(initX : int, initY: int) + getX( ) : int + getY( ) : int + setPostion(X : int, Y: int) Class Diagram Point setPostion(x, y) getX() yPos xPos Object Diagram getY()

15 Object-Oriented Technology Burapha University, 2001 Creating Array in Java 1 Point[ ] pt; 2 pt = new Point[10]; 3 for (int i=0; i

16 Object-Oriented Technology Burapha University, 2001 Creating Array in Java 1 Point[ ] pt; 2 pt = new Point[10]; 3 for (int i=0; i

17 Object-Oriented Technology Burapha University, 2001 Creating Array in Java 1 Point[ ] pt; 2 pt = new Point[10]; 3 for (int i=0; i

18 Object-Oriented Technology Burapha University, 2001 A Line class ตัวอย่างการสร้าง Array ของคลาส Line Line - startPt : Point - endPt : Point + Line(start :Point, start : Point) + getStartPoint ( ) : Point + getEndPoint( ) : Point + setStartPoint (pt :Point) + setEndPoint (pt :Point) Class Diagram 1 Line[ ] line; 2 line = new Line[3]; 3 for (int i=0; i

19 Object-Oriented Technology Burapha University, 2001 Array Resizing in Java ในภาษาจาวา  ไม่สามารถ resize Array ได้  แต่สามารถตัวแปรอ้างอิงเดิมเก็บค่า อ้างอิงไปยัง Array ใหม่ได้ ตัวอย่าง 1 int myArray [ ] = new int[4]; 2 myArray = new int[6]; aaa XXX myArray null aaa bbb ddd ccc [0] [1] [2] [3] After Line 1 null 1 int myArray [ ] = new int[4]; 2 myArray = new int[6]; aaa XXX myArray null aaa bbb ddd ccc [0] [1] [2] [3] Executing Line 2 null [0] [1] [2] null jjj kkk nnn mmm [3] null ooo ppp [4] [5] 1 int myArray [ ] = new int[4]; 2 myArray = new int[6]; jjj XXX myArray null aaa bbb ddd ccc [0] [1] [2] [3] After Line 2 null [0] [1] [2] null jjj kkk nnn mmm [3] null ooo ppp [4] [5]

20 Object-Oriented Technology Burapha University, 2001 Copying Array in Java ในภาษาจาวา ทำได้โดย  เรียกใช้เมทธอด System.arrraycopy( ); ตัวอย่าง 1 int elements [ ] = { 1,2,3,4 }; // original array 2 int hold [ ] = { 10,9,8,7,6,5 }; // new larger array 3 System.arraycopy(elements, 0, hold, 0, elements.length); aaa XXX elements [0] [1] [2] 2 aaa bbb ddd ccc [3] After Line jjj XXX hold [0] [1] [2] 9 jjj kkk nnn mmm [3] ooo ppp [4] [5] Length of copy OriginTarget

21 Object-Oriented Technology Burapha University, 2001 Copying Array in Java ตัวอย่าง 1 int elements [ ] = { 1,2,3,4 }; // original array 2 int hold [ ] = { 10,9,8,7,6,5 }; // new larger array 3 System.arraycopy(elements, 0, hold, 0, elements.length); aaa XXX elements [0] [1] [2] 2 aaa bbb ddd ccc [3] Executing Line jjj XXX hold [0] [1] [2] 9 jjj kkk nnn mmm [3] ooo ppp [4] [5] aaa XXX elements [0] [1] [2] 2 aaa bbb ddd ccc [3] After Line jjj XXX hold [0] [1] [2] 2 jjj kkk nnn mmm [3] ooo ppp [4] [5]

22 Object-Oriented Technology Burapha University, 2001 Multidimensional Array in Java Multidimensional Array ในภาษาจาวา  Array ที่มีจำนวนแถว และจำนวน คอลัมน์ ไม่คงที่เท่ากัน  Array ที่มีจำนวนแถว และ จำนวน คอลัมน์ คงที่เท่ากัน int elements [ ][ ] = new int[4][5]; // 4 rows, 5 cols each int[][] twoDim; twoDim [ 0] = new int[2]; // row#0, 2 cols twoDim [ 1] = new int[4]; // row#1, 4 cols twoDim [ 2] = new int[6]; // row#2, 6 cols twoDim [ 3] = new int[8]; // row#3, 8 cols

23 Object-Oriented Technology Burapha University, 2001 Initializing Multidimensional Array การสร้าง Multidimensional Array โดย ให้ค่าเริ่มต้น int[ ][ ] array_2d = { { 2, 4, 6, 8, 10 }, { 0, 1}, {20, 21, 22} }; long elements[ ][ ]; elements = new long[2][3]; for (int i=0; i

24 Object-Oriented Technology Burapha University, 2001 Java String

25 Object-Oriented Technology Burapha University, 2001 Java String สายอักษร (String) ในภาษาจาวา  ไม่ใช่เป็นเพียงเนื้อที่ในหน่วยความจำที่ จองไว้สำหรับประเภทข้อมูล แต่เป็นวัตถุ (Object) ตัวแปร String ในภาษาจาวา  เก็บค่าอ้างอิงของ String Object  เมื่อมีการอ้างอิงค่าไปยัง String Object แล้ว จะไม่สามารถเปลี่ยนแปลงค่า ใน String Object ได้โดยตรง แต่ สามารถให้ค่าอ้างอิงใหม่ได้ String message = new String("Hello"); String message = "Hello"; หรื อ ตัวอย่างเช่น

26 Object-Oriented Technology Burapha University, 2001 การประกาศตัวแปร String ใน ภาษาจาวา String Declaration (1) 1 String empty = new String(""); 2 String message = "Hello"; 3 String repeat = message; "" xxx yyy zzz aaa bbb String "" empty stored at xxx stored at aaa After Line 1 aaa String "" stored at aaa Conceptual ViewMemory Address View

27 Object-Oriented Technology Burapha University, 2001 String Declaration (2) 1 String empty = new String(""); 2 String message = "Hello"; 3 String repeat = message; " Hello" message stored at yyy bbb String ”Hello" stored at bbb "" xxx yyy zzz aaa bbb String "" empty stored at xxx stored at aaa After Line 2 aaa String "" stored at aaa Conceptual View Memory Address View String ”Hello" "" xxx yyy zzz aaa bbb String "" empty stored at xxx stored at aaa After Line 1 aaa String "" stored at aaa Conceptual ViewMemory Address View การประกาศตัวแปร String ในภาษาจาวา

28 Object-Oriented Technology Burapha University, 2001 String Declaration (3) 1 String empty = new String(""); 2 String message = "Hello"; 3 String repeat = message; Repeat stored at zzz " Hello" message stored at yyy bbb String ”Hello" stored at bbb "" xxx yyy zzz aaa bbb String "" empty stored at xxx stored at aaa After Line 3 aaa String "" stored at aaa Conceptual View Memory Address View String ”Hello" bbb " Hello" message stored at yyy bbb String ”Hello" stored at bbb "" xxx yyy zzz aaa bbb String "" empty stored at xxx stored at aaa After Line 2 aaa String "" stored at aaa Conceptual View Memory Address View String ”Hello" การประกาศตัวแปร String ในภาษาจาวา

29 Object-Oriented Technology Burapha University, 2001 The “ String ” Class String Class  ค่าใน String Object ไม่สามารถ เปลี่ยนแปลงได้ แต่สามารถให้ค่าอ้างอิง จากตัวแปร String ใหม่ ได้ Methods ของ String Class  Create New String  concat, replace, subString, toLowerCase, toUpperCase  Search  endswith, startswith, indexOf, lastIndexOf  Comparison  equals, equalsIgnoreCase, CompareTo  others  charAt, length

30 Object-Oriented Technology Burapha University, 2001 String Comparison การเปรียบเทียบ String ในภาษาจาวา  เปรียบเทียบค่าใน String Object ว่า เท่ากันหรือไม่  ใช้เมทธอด boolean equals(String s)  เปรียบเทียบว่าตัวแปร String อ้างอิงถึง String Object เดียวกันหรือไม่  ใช้โอเปอร์เรเตอร์ (Operator) “ == ”  เปรียบเทียบค่าใน String Object เรียง ตามลำดับตัวอักษร  ใช้เมทธอด int compareTo(String s)  return ค่า 0 เมื่อเป็นค่าเดียวกัน, ค่า จำนวนเต็มบวกเมื่อ String Object นี้ มากกว่า s และ ค่าจำนวนเต็มลบ เมื่อ String Object นี้น้อยกว่า s

31 Object-Oriented Technology Burapha University, 2001 String greeting = new String("Hello" ); String message = "Hello"; if (greeting.equals(message)) { System.out.println("equal content!"); } else { System.out.println("content NOT equal!"); } Comparing String Contents ตัวอย่าง "Hello" message stored at yyy bbb String "Hello" stored at bbb "Hello" xxx yyy zzz aaa bbb String "Hello" greeting stored at xxx stored at aaa aaa String "Hello" stored at aaa Conceptual View Memory Address View String "Hello"

32 Object-Oriented Technology Burapha University, 2001 Comparing String Reference String greeting = new String("Hello" ); String message = "Hello"; if (greeting == message) { System.out.println("equal reference!"); } else { System.out.println(”reference NOT equal!"); } "Hello" message stored at yyy bbb String "Hello" stored at bbb "Hello" xxx yyy zzz aaa bbb String "Hello" greeting stored at xxx stored at aaa aaa String "Hello" stored at aaa Conceptual View Memory Address View String "Hello" ตัวอย่าง

33 Object-Oriented Technology Burapha University, 2001 Comparing String Lexicographical Order String greeting = new String("Hello" ); String message = ”World"; System.out.println(greeting.compareTo(message)); การเปรียบเทียบค่า String ตามลำดับ ตัวอักษรใช้เมทธอด  int compareTo(String s)  return ค่า 0 เมื่อเป็นค่าเดียวกัน  return ค่าจำนวนเต็มบวกเมื่อ String Object นี้มากกว่า s  return ค่าจำนวนเต็มลบ เมื่อ String Object นี้น้อยกว่า s

34 Object-Oriented Technology Burapha University, 2001 String Concatenation String greetings = new String("Hello”); int ThisYear = 2001; String name = " World " ; String message = greetings + name; การนำ String มาเชื่อมต่อกัน  ใช้โอเปอร์เรเตอร์ Concatenate (+)  แต่ไม่สามารถเปรียบเทียบ String โดย ใช้โอเปอร์เรเตอร์แบบ Relational (>, =, <=) และโอเปอร์เรเตอร์แบบ Equality ( ==, !=) ได้ หมายเหตุ  ใช้โอเปอร์เตอร์ (+) กับ String ได้เมื่อมี พจน์ใดพจน์หนึ่งเป็น String

35 Object-Oriented Technology Burapha University, 2001 Summary รู้จัก Java Array รู้จัก Java String


ดาวน์โหลด ppt Object-Oriented Technology Burapha University, 2001 Java Array and String Jarungjit Parnjai.

งานนำเสนอที่คล้ายกัน


Ads by Google