Java Array and String Jarungjit Parnjai

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
Advertisements

VARIABLES, EXPRESSION and STATEMENTS. Values and Data Types Value เป็นสิ่งพื้นฐาน มีลักษณะเป็น ตัวอักษร หรือ ตัวเลข อาทิ 2+2 หรือ “Hello world” Value.
REGULAR EXPRESSION การบรรยายแบบสม่ำเสมอ
EECP0110 C Language Computer Programming
Chapter 2 Introduction to The C++ Language. Figure 2-1.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
Java Array And String โดย อ. นัฐพงศ์ ส่งเนียม
Advanced Class Design in Java Java Packages Week #6 Jarungjit Parnjai
Object-Oriented Programming with Java Burapha University, 2001 Java Array and String Week #3 Jarungjit Parnjai.
Burapha University, 2001 Object-Oriented Analysis and Design Design Patterns Iterator Week #11 Jarungjit Parnjai.
Chapter 3 Data Representation (การแทนข้อมูล)
สาระที่ ๒ การเขียน.
การบริหารจัดการโครงการ และการเบิกจ่ายงบประมาณ
ศึกษาข้อมูลท้องถิ่นบ้านสนาม
ยินดีต้อนรับ คณะกรรมการประเมินคุณภาพการศึกษาภายใน “สำนักส่งเสริมวิชาการและงานทะเบียน” วันอังคารที่ 23 สิงหาคม พ.ศ
Application of Electron Paramagnetic Resonance (EPR)
Lubna Shamshad (Ph.D Student) Supervisor Dr.GulRooh
Q n° R n°.
อาคารสำนักงานเขต พื้นที่การศึกษา (สพป./สพม.)
อ. ปิยวรรณ โถปาสอน
Chapter 3 Design of Discrete-Time control systems Frequency Response
การส่งเสริมจริยธรรมและคุณธรรม เพื่อการป้องกันการทุจริต
หน่วยที่ 2 การประกันคุณภาพภายในสถานศึกษา
Multiple Input Multiple Output (MIMO)
บทที่ 7 TAS 17 (ปรับปรุง 2558): สัญญาเช่า (Leases)
หลักการสร้างมาตรวัดทางจิตวิทยา
โครงการส่งเสริมการพัฒนาคุณภาพงาน คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่
แผนการจัดการเรียนรู้ กลุ่มสาระการเรียนรู้วิทยาศาสตร์
แนวการตรวจสอบภายใน การตรวจสอบรถราชการ
ทะเบียนราษฎร.
นายธนวิทย์ โพธิ์พฤกษ์ เลขที่ 8 นายอนุสรณ์ ขำหลง เลขที่ 29
เรื่อง การบริหารการศึกษาตาม พ.ร.บ ระเบียบบริหารราชการกระทรวงศึกษาธิการ
อาจารย์อาจารีย์ ทองอ่อน
ระเบียบกระทรวงมหาดไทย
กฎกระทรวง ฉบับที่ 4 (พ. ศ. 2535) ออกตามความในพระราชบัญญัติโรงงาน พ. ศ
บทที่ 12 การวิเคราะห์สหสัมพันธ์และการถดถอย
DATA STRUCTURES AND ALGORITHMS
ขั้นตอนการจัดตั้งกลุ่มส่งเสริมอาชีพ จังหวัดนครราชสีมา ปี ๒๕๕๘/๕๙
หลักการจัดกิจกรรมนันทนาการ
การเบิกจ่ายเงินเกี่ยวกับค่าใช้จ่าย ในการบริหารงานของส่วนราชการ
การแก้ไขปัญหา สหกรณ์เครดิตยูเนี่ยนคลองจั่น จำกัด
ขั้นตอนของกิจกรรม : ปฏิบัติเป็นประจำ เพื่อให้เกิดการพัฒนาอย่างต่อเนื่อง
แนวทางการสอบทานรายงานการควบคุมภายใน
รายงานการวิจัย.
ตอนที่ 2.๒ บทบาทหน้าที่ของเจ้าหน้าที่ส่งเสริมการเกษตรระดับอำเภอ
บทที่ 4 การกระจาย อำนาจด้านการคลัง
ยินดีต้อนรับเข้าสู่บทเรียนคอมพิวเตอร์ วัยรุ่นไทยใส่ใจวัฒนธรรม เรื่อง
การพัฒนาระบบบริหารจัดการกำลังคนด้านสุขภาพ “การพัฒนาบุคลากร”
วินัยข้าราชการ.
มหาวิยาลัยราชภัฏนครราชสีมา
ความหมายของหนี้สาธารณะ
การจัดการชั้นเรียน.
วิชากฎหมายวิธีพิจารณาความอาญา
การบริหารการเงิน ในสถานศึกษา
องค์ประกอบและผลกระทบของธุรกิจไมซ์
โคลง ร่าย และ โดยครูธาริตา นพสุวรรณ
Matrix 1.Thamonaporn intasuwan no.7 2.Wannisa chawlaw no.13 3.Sunita taoklang no.17 4.Aungkhana mueagjinda no.20.
สมาชิกโต๊ะ 1 นายสุรวินทร์ รีเรียง นายภาณุวิชญ์ อนุศรี
นำเสนอ วัดเกาะชัน ด.ช.ปกรณ์ ร้อยจันทร์ ม.2/7 เลขที่ 19
รศ.ดร.อนันต์ จันทรโอภากร
การเขียนวิจารณ์วรรณกรรม ๒
วิชา หลักการตลาด บทที่ 7 การออกแบบกลยุทธ์ราคา
แบบทดสอบ เรื่อง ความน่าจะเป็น.
การปฏิรูประบบศาลยุติธรรม หลังรัฐประหาร 2557
ธาตุ สารประกอบ และปฏิกิริยาเคมี
ข้อกำหนด/มาตรฐาน ด้านสุขาภิบาลอาหาร
PHYSICS by P’Tum LINE
การพิจารณาสัญชาติของบุคคล
Good morning welcome to Calvary Chapel at the Bridge สวัสดีตอนเช้าขอต้อนรับสู่ โบสถ์แคล'วะรีแชพ'เพิลที่สะพาน.
ใบสำเนางานนำเสนอ:

Java Array and String Jarungjit Parnjai Object Oriented Technology Java Array and String Jarungjit Parnjai

Java Array

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

Declare A as an Array of Character Examples of Java Array Element Index Length=3 [0] [1] [2] xxx ‘a’ ‘b’ ‘c’ yyy Memory Address zzz Memory Address aaa Declare A as an Array of Character A

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

Examples of Declaring 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[ ];

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];

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”

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

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

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

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

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); int data[ ]; data = new int[5]; for (int i=10; I < data.length; i--) data[i] = i % 2; Array Bounds int a[ ] = { 2, 4, 6, 8, 10 };

A Point Class xPos yPos Point 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()

Declare pt as an Array of Point Object Creating Array in Java ตัวอย่างการสร้าง Array ของ Primitive Data Type 1 Point[ ] pt; 2 pt = new Point[10]; 3 for (int i=0; i<pt.length; i++) { 4 pt[i] = (Point)('a'+i); 5 } After Line 1 pt XXX YYY Memory Address null YYY Declare pt as an Array of Point Object

Creating Array in Java ตัวอย่างการสร้าง Array ของ Primitive Data Type 1 Point[ ] pt; 2 pt = new Point[10]; 3 for (int i=0; i<pt.length; i++) { 4 pt[i] = new Point(i, i+1); 5 } aaa Memory Address XXX pt Element Index Length=10 [0] [1] [2] YYY bbb zzz ccc [9] After Line 2 null Declare pt as an Array of Character aaa Memory Address XXX pt Element Index Length=10 [0] [1] [2] YYY bbb zzz ccc [9] Executing Line 2 null Declare pt as an Array of Character

Creating Array in Java ตัวอย่างการสร้าง Array ของ Primitive Data Type 1 Point[ ] pt; 2 pt = new Point[10]; 3 for (int i=0; i<pt.length; i++) { 4 pt[i] = new Point(i, i+1); 5 } aaa Memory Address XXX pt Element Index Length = 10 [0] [1] [2] (1,2) bbb zzz ccc [9] After Line 5 null Declare pt as an Array of Character YYY (9,10) (2,3) (0,1) 1 X Y Point aaa Memory Address XXX pt Element Index Length = 10 [0] [1] [2] (1,2) bbb zzz ccc [9] After Line 5 null Declare pt as an Array of Character YYY (9,10) (2,3) (0,1)

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<line.length; i++) { 4 Point pt1 = new Point(i); 5 Point pt2 = new Point(i+1); 6 line[i] = new Line(pt1,pt2); 7 }

Array Resizing in Java ในภาษาจาวา ไม่สามารถ resize Array ได้ ตัวอย่าง 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 kkk nnn mmm ooo ppp [4] [5] 1 int myArray [ ] = new int[4]; 2 myArray = new int[6]; aaa XXX myArray null bbb ddd ccc [0] [1] [2] [3] After Line 1 1 int myArray [ ] = new int[4]; 2 myArray = new int[6]; aaa XXX myArray null bbb ddd ccc [0] [1] [2] [3] Executing Line 2 jjj kkk nnn mmm ooo ppp [4] [5]

Copying Array in Java ในภาษาจาวา ทำได้โดย เรียกใช้เมทธอด System.arrraycopy( ); ตัวอย่าง Origin Target 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); Length of copy aaa XXX elements [0] [1] [2] 2 bbb ddd ccc [3] After Line 2 4 3 1 jjj hold 9 kkk nnn mmm 8 10 7 6 5 ooo ppp [4] [5]

Copying Array in Java ตัวอย่าง 2 4 3 1 6 5 2 4 3 1 9 8 10 7 6 5 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 bbb ddd ccc [3] After Line 3 4 3 1 jjj hold kkk nnn mmm 6 5 ooo ppp [4] [5] aaa XXX elements [0] [1] [2] 2 bbb ddd ccc [3] Executing Line 3 4 3 1 jjj hold 9 kkk nnn mmm 8 10 7 6 5 ooo ppp [4] [5]

Multidimensional Array in Java 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 int elements [ ][ ] = new int[4][5]; // 4 rows, 5 cols each

Initializing 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<elements.length; i++) for (int j=0; j<elements[i].length; j++) elements[i][j] = 0L;

Java String

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

String Declaration (1) การประกาศตัวแปร String ในภาษาจาวา 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 Conceptual View Memory Address View Programming is about solving problems. Compare this to a program for a concert, for example. The program contains a list of what is to happen, in the order in which it will occur. Give an example of a small recipe and point out the data and the processing (ingredients and method). Point out the data and processing in instructions to change a car tyre. A knitting pattern specifies how many balls of wool of what thickness you need, and what size knitting needles. I wonder how many students know how to knit these days :-). There may not be many students who have filled in a tax form yet, either.

String Declaration (2) การประกาศตัวแปร String ในภาษาจาวา 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 empty stored at xxx stored at aaa After Line 2 Conceptual View Memory Address View "" xxx yyy zzz aaa bbb String empty stored at xxx stored at aaa After Line 1 Conceptual View Memory Address View Programming is about solving problems. Compare this to a program for a concert, for example. The program contains a list of what is to happen, in the order in which it will occur. Give an example of a small recipe and point out the data and the processing (ingredients and method). Point out the data and processing in instructions to change a car tyre. A knitting pattern specifies how many balls of wool of what thickness you need, and what size knitting needles. I wonder how many students know how to knit these days :-). There may not be many students who have filled in a tax form yet, either.

String Declaration (3) การประกาศตัวแปร String ในภาษาจาวา 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 empty stored at xxx stored at aaa After Line 3 Conceptual View Memory Address View " Hello" message stored at yyy bbb String ”Hello" stored at bbb "" xxx yyy zzz aaa empty stored at xxx stored at aaa After Line 2 Conceptual View Memory Address View Programming is about solving problems. Compare this to a program for a concert, for example. The program contains a list of what is to happen, in the order in which it will occur. Give an example of a small recipe and point out the data and the processing (ingredients and method). Point out the data and processing in instructions to change a car tyre. A knitting pattern specifies how many balls of wool of what thickness you need, and what size knitting needles. I wonder how many students know how to knit these days :-). There may not be many students who have filled in a tax form yet, either.

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

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

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

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 stored at bbb xxx yyy zzz aaa greeting stored at xxx stored at aaa Conceptual View Memory Address View

Comparing String Lexicographical Order int compareTo(String s) return ค่า 0 เมื่อเป็นค่าเดียวกัน return ค่าจำนวนเต็มบวกเมื่อ String Object นี้มากกว่า s return ค่าจำนวนเต็มลบ เมื่อ String Object นี้น้อยกว่า s String greeting = new String("Hello" ); String message = ”World"; System.out.println(greeting.compareTo(message));

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

Summary รู้จัก Java Array รู้จัก Java String