Java Array And String โดย อ. นัฐพงศ์ ส่งเนียม http://www.siam2dev.com xnattapong@homtail.com nattapong@siam2dev.com.

Slides:



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

Chapter 2 Introduction to The C++ Language. Figure 2-1.
String Class มหาวิทยาลัยเนชั่น การโปรแกรมเชิงวัตถุด้วยภาษา JAVA
อาร์เรย์ หรือแถวลำดับ (Array)
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.
คำสั่งควบคุม การทำงานของโปรแกรม ในภาษา PHP
การแก้ปัญหา การแสดงผล ภาษาไทย MySql เป็น ????
การเขียนโปรแกรม JAVA ขั้นพื้นฐาน
Nattapong Songneam BankAccount – Example Nattapong Songneam
Java Array and String Jarungjit Parnjai
Object-Oriented Programming with Java Burapha University, 2001 Java Array and String Week #3 Jarungjit Parnjai.
สาระที่ ๒ การเขียน.
การบริหารจัดการโครงการ และการเบิกจ่ายงบประมาณ
ยินดีต้อนรับ คณะกรรมการประเมินคุณภาพการศึกษาภายใน “สำนักส่งเสริมวิชาการและงานทะเบียน” วันอังคารที่ 23 สิงหาคม พ.ศ
Q n° R n°.
อ. ปิยวรรณ โถปาสอน
กลุ่มที่ กลุ่มที่ กลุ่มที่ กลุ่มที่
ยินดีต้อนรับ นสต. ภ.๙.
หน่วยที่ 2 การประกันคุณภาพภายในสถานศึกษา
กฎหมายที่เกี่ยวข้อง - ประมวลกฎหมายแพ่งและพาณิชย์ (สัญญา, หนี้ และลาภมิควรได้) - พ.ร.บ.ล้มละลาย พ.ศ.๒๔๘๓.
แผนการจัดการเรียนรู้ กลุ่มสาระการเรียนรู้วิทยาศาสตร์
ราชาธิราช ตอน สมิงพระรามอาสา จัดทำโดย คุณครูฮาดีหม๊ะ แวดะสง.
Statistical Method for Computer Science
แนวการตรวจสอบภายใน การตรวจสอบรถราชการ
แนวทางการปฏิบัติในการเบิกเงินยืมในงบประมาณ
ที่เกี่ยวข้องกับสหกรณ์
นิทานคุณธรรมประกอบการเรียนการสอน อุดมการณ์สหกรณ์
ระเบียบกระทรวงมหาดไทย
บทที่ 12 การวิเคราะห์สหสัมพันธ์และการถดถอย
อริยบุคคล 4 บุคคลผู้ประเสริฐ กำหนดด้วยการละสังโยชน์ (กิเลสที่ผูกมัดสัตว์) ไว้ในภพ ใครละได้น้อยก็เป็นอริยบุคคลชั้นหยาบ เมื่อละได้มากก็เป็นพระอริยบุคคลชั้นสูงขึ้น.
ไตรภูมิพระร่วง ตอน มนุสสภูมิ
หลักการจัดกิจกรรมนันทนาการ
การประชุมผู้บริหารระดับสูงกระทรวงวัฒนธรรม ครั้งที่ ๔/๒๕๖๐
ขั้นตอนของกิจกรรม : ปฏิบัติเป็นประจำ เพื่อให้เกิดการพัฒนาอย่างต่อเนื่อง
ร่าง การมอบอำนาจ มหาวิทยาลัยขอนแก่น
ขั้นตอนการประเมินลูกจ้างชั่วคราวเงินบำรุง
บทที่ 4 การกระจาย อำนาจด้านการคลัง
ชื่อเครื่องจักร ภาษาไทย
แนวทางการดำเนินงานกิจกรรม/โครงการ งบประมาณกองทุนพัฒนาบทบาทสตรี
การพัฒนาระบบบริหารจัดการกำลังคนด้านสุขภาพ “การพัฒนาบุคลากร”
วันเสาร์ที่ 2 กรกฎาคม 2559 วิทยาลัยเทคโนโลยีอักษรพัทยา
ชื่อโครงงาน (ภาษาไทย) ชื่อโครงงาน (ภาษาอังกฤษ)
วิชาสังคมศึกษา ม.3 สาระที่ 1 ศาสนา ศีลธรรม จริยธรรม.
มหาวิยาลัยราชภัฏนครราชสีมา
ขั้นตอนที่ 1 ขั้นเตรียมการ
ผังมโนทัศน์สาระการเรียนรู้ภาษาไทย ชั้นประถมศึกษาปีที่ ๔
การยกระดับคุณวุฒิ - การให้ทุนการศึกษา.
การจัดการชั้นเรียน.
สัญญายืม.
ประวัติวรรณคดี เรื่องขุนช้างขุนแผน
โคลง ร่าย และ โดยครูธาริตา นพสุวรรณ
Matrix 1.Thamonaporn intasuwan no.7 2.Wannisa chawlaw no.13 3.Sunita taoklang no.17 4.Aungkhana mueagjinda no.20.
ประชุมคณะทำงานลุ่มน้ำยม
อาจารย์อภิพงศ์ ปิงยศ บทที่ 3 : รูปแบบการเชื่อมต่อเครือข่ายและส่วนประกอบของเครือข่ายท้องถิ่น (Topologies and LAN Components) Part1.
ตำบลห้วยสัตว์ใหญ่ ประวัติความเป็นมา
ผังมโนทัศน์สาระการเรียนรู้ภาษาไทย ชั้นมัธยมศึกษาปีที่ ๑
การบัญชีตามความรับผิดชอบและ การประเมินผลการปฏิบัติงาน
ตำบลหนองพลับ ประวัติความเป็นมา
แบบทดสอบ เรื่อง ความน่าจะเป็น.
สมาชิกสหกรณ์จะมีฐานะดีขึ้นอย่างไร
วิชา สังคมไทยในบริบทโลก
๒. คำซ้ำ ๒.๑ ลักษณะของคำซ้ำ คำซ้ำ
โครงงานประวัติศาสตร์ เรื่อง พัฒนาการของทวีปอเมริกาใต้
ข้อกำหนด/มาตรฐาน ด้านสุขาภิบาลอาหาร
การอ่าน.
การบริหารหลักสูตร ความหมาย : การดำเนินงานที่เกี่ยวข้องกับการทำหลักสูตร และเอกสารประกอบหลักสูตร ไปสู่การปฏิบัติในสถานการณ์จริงหรือกิจกรรมการเรียนการสอนให้เป็นไปตามเป้าหมายที่กำหนดไว้ในหลักสูตรโดยอาศัยการสนับสนุนและร่วมมือจากบุคคลที่เกี่ยวข้องกับการใช้หลักส
วิชา สังคมไทยในบริบทโลก
การพิจารณาสัญชาติของบุคคล
ประมวลภาพกิจกรรม สำนักงานปศุสัตว์จังหวัดกาญจนบุรี ต. ท่าล้อ อ
ใบสำเนางานนำเสนอ:

Java Array And String โดย อ. นัฐพงศ์ ส่งเนียม http://www.siam2dev.com xnattapong@homtail.com nattapong@siam2dev.com

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

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 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 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 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 Class Diagram 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() Class Diagram MyDate.java

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] Executing 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] After 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 } MyDate.java

Array Resizing in Java ไม่สามารถ resize Array ได้ ในภาษาจาวา ไม่สามารถ resize Array ได้ แต่สามารถตัวแปรอ้างอิงเดิมเก็บค่าอ้างอิงไปยัง 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( ); ตัวอย่าง ในภาษาจาวา ทำได้โดย เรียกใช้เมทธอด 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