SlideShare a Scribd company logo
1 of 28
บทที่ 5 ข้อมูลชนิด
อาร์เรย์และสตริง
ชั้น มัธยมศึกษาปีที่ 6/1
อาร์เ รย์ (Array)
อาร์เรย์ (Array) เป็นตัวแปรชุดให้สำาหรับเก็บข้อมูลที่มีความ
สัมพันธ์กัน  โดยจะเก็บไว้ในชื่อเดียวกัน 
สมาชิกแต่ละตัวของ Array จะเรียกว่า Element หรือ Cell ตัวเลข
ที่ใช้ระบุตำาแหน่งสมาชิกของ Array เรียก
ว่า Index หรือ Subscript
 
ตัว อย่า ง Array  X ทีมี 5 Element
่
ซึ่งจะเริ่มต้นตั้งแต่ Index 0 ถึง 4
ตัว แปรอาร์เ รย์แ บบ 1 มิต ิ
อาร์เรย์หนึ่งมิติ มีโครงสร้างเทียบเท่าเมตริกซ์ขนาด nx1 การ
ประกาศตัวแปรอาร์เรย์ จะใช้เครื่องหมาย [ ] ล้อมค่าตัวเลขจำานวน
เต็ม เพื่อบอกจำานวนหน่วยข้อมูลที่ต้องการได้ในรูป
                   ชนิด ของตัว แปร ชื่อ ตัว แปร [จำา นวนสมาชิก ที่
ต้อ งการ]
data_type variable_name [ number-ofelements ]         
 เช่น         int           a[5];
                               double    x,  y[10],  z[3];
ตัว แปรอาร์เ รย์ห ลายตัว
อาร์เรย์หลายมิติ (Multi-dimensional array) คือ อาร์เรย์ที่
มีสมาชิกเป็นข้อมูลอาร์เรย์ นั่นคือ ในหน่วยข้อมูลแต่ละหน่วยของ
อาร์เรย์ จะเป็นอาร์เรย์ย่อยๆ ซึ่งอาจจะกำาหนดซ้อนลงไปได้หลาย
ชั้น
        การกำาหนดอาร์เรย์หลายมิติ จะกระทำาในรูปชนิดตัวแปร  
ชื่อตัวแปร[จำานวนสมาชิก][จำานวนสมาชิก]….;
การประกาศอาร์เรย์หลายตัวทำาได้ดังนี้
                int [] abc , xyz;
                abc = new int[500];
                xyz = new int[10];
หรือเขียนรวมกันได้ดังนี้
                int[] abc = new int[500], xyz = new int[10];
การกำา หนดค่า เริ่ม ต้น ให้
อาร์เ รย์ 1
สามารถประกาศตัวแปร Array พร้อมกับกำาหนดค่าเริ่มต้น
ให้กบสมาชิก Array ได้โดยมีรูปแบบ
ั
ดังนี                                                                                     
้
                                           
ชนิดของตัวแปรอาร์เรย์ ชื่ออาร์เรย์[จำานวนข้อมูล] = {ค่า
คงที่,ค่าคงที่,…};
การเข้า ถึง ตัว แปรอาร์เ รย์
  เมื่อมีการประกาศอาร์เรย์แล้ว ค่าตำาแหน่งหมายเลขลำาดับข้อมูล

  

สำาหรับใช้เข้าถึงตัวแปรย่อยต่างๆ ในอาร์เรย์ จะถูกกำาหนดโดย
อัตโนมัติ
           โดยหากกำาหนดอาร์เรย์ด้วยขนาด  n ข้อมูล หน่วยแรก
จะมีค่าตำาแหน่งลำาดับเป็น 0 ไปจนถึงข้อมูลหน่วยสุดท้ายจะมีค่า
ตำาแหน่งลำาดับเป็น n™             ถ้าต้องการอ่านหรือเขียนข้อมูลในหน่วยต่างๆ ของ
ตัวแปรอาร์เรย์ จะต้องอ้างชื่อตัวแปรตามด้วยค่าลำาดับของหน่วย
ในกลุ่มข้อมูลอาร์เรย์ ล้อมด้วยเครื่องหมาย [ ] ซึ่งเรียก
ว่า subscript (หรือดัชนี index)
™             ค่าดัชนี อาจอยู่ในรูป ค่าคงที่ ของตัวแปร นิพจน์ หรือ
ฟังก์ชันที่ให้ค่าเป็นค่าจำา นวนเต็ม ก็ได้  ( positive integer 
>=0 )
™             ของเขตของ index หรือ subscript มีค่าตั้งแต่ 0 ถึง n-
การใช้ค ำา สัง วนรอบ  for ในการ
่
เข้า ถึง ค่า ในอาร์เ รย์
 เราสามารถใช้คำาสั่งวนรอบ for ในการวนรอบรับค่าที่ป้อนเข้ามา
และใช้ในการคำานวณโดยการใช้ตัวแปรในการวนรอบ และใช้
ตัวแปรเดียวกัน เพื่อกำาหนดลำาดับของข้อมูลที่จะใช้ในอาร์เรย์
int x,a[5];
for (x=0; x<5; x++)
{ printf(“Enter value for a[%d]:”,x);
  
              scanf(“%d”,&a[x]);
}
printf(“Show all valuesn”);
for (x=0; x<5; x++)
{ printf(“a[%d] = %d”, x, a[x]);  }
การส่ง ผ่า นอาร์เ รย์ไ ปยัง
ฟัง ก์ช ัน
สามารถแบ่งได้เป็น 2 ลักษณะ
         1.การส่งผ่านค่าอีลเมนต์อาร์เรย์ให้กับฟังก์ชัน เป็นการเรียก
ี
ใช้ฟงก์ชันแบบ Call-by-value
ั
   2. การส่งอาร์เรย์ทุกอีลีเมนต์ให้กับฟังก์ชัน เป็นการเรียกใช้
ฟังก์ชันแบบ Call-by-reference
™            
การส่ง ผ่า นอาร์เ รย์ไ ปยัง
ฟัง ก์ช ัน (ต่อ )
 การเรีย กใช้แ บบ  Call-by-value

 ใช้วิธีการส่งค่าของตัวแปร (value) ให้กบฟังก์ชัน โดยผ่านพารามิเตอร์
ั
™ ไม่สามารถแก้ไขค่าของอาร์กิวเมนต์(หรือพารามิเตอร์) ภายในฟังก์ชันได้ = การ
แก้ไขค่าต่างๆในฟังก์ชัน ไม่มีผลต่อตัวแปรทีส่งค่ามา
่
™             ใช้กับฟังก์ชันทีรับค่าเข้าเป็นตัวแปรธรรมดา (int, float, char,...)
่
™             เช่น  void triple(int x)
{ x=x*3; printf(“x = %d”,x); }
….
           
int x=5, y[2]={10,11};
triple(x); triple(y[0]);
™             triple(x) ส่ง ค่า  5 ให้ก ับ ฟัง ก์ช ัน ในฟัง ก์ช ัน  x เริ่ม ต้น เป็น  5
™             และถูก ทำา ให้ก ลายเป็น  15 หลัง จบฟัง ก์ช ัน ค่า  x นอกฟัง ก์ช ัน  
ไม่เ ปลี่ย นแปลง
™             triple(y[0]) ส่ง ค่า  10 ให้ก ับ ฟัง ก์ช ัน ในฟัง ก์ช ัน  x เริ่ม ต้น เป็น  10
™             และถูก ทำา ให้ก ลายเป็น   30 หลัง จบฟัง ก์ช ัน ค่า  y[0] ยัง เหมือ นเดิม
การส่ง ผ่า นอาร์เ รย์ไ ปยัง ฟัง ก์ช ัน
(ต่อ )
   

  การเรีย กใช้แ บบ  Call-by-reference
 ใช้วิธีการส่งค่า แอดเดรส (Address)*** ของตัวแปรไปให้
ฟังก์ชัน
         ใช้กับฟังก์ชันที่รับค่าเข้าเป็นอาร์เรย์
™             สามารถแก้ไขค่าของอาร์กิวเมนต์ภายในฟังก์ชัน
ได้ = การแก้ไขค่าตัวแปรอาร์เรย์ ภายในฟังก์ชัน มีผลการ
เปลี่ยนแปลงต่อตัวแปรที่ส่งค่ามา
เพราะ การมีการจัดการค่าของหน่วยความจำาในตำาแหน่งเดียวกัน
™             ***แอดเดรส (Address) คือ ค่าที่ใช้อางถึงตัวข้อมูล
้
ภายในหน่วยความจำา เหมือนกับหมายเลขบ้านเลขที่**
ฟัง ก์ช ัน ที่ม ก ารรับ ค่า เข้า เป็น
ี
อาร์เ รย์
   

ฟังก์ชันสามารถที่จะรับค่าเข้าเป็นอาร์เรย์ได้ ซึ่งรูปแบบของการ
เขียนต้นแบบของฟังก์ชันเป็นดังนี้
™              ชนิด ข้อ มูล ชื่อ ฟัง ก์ช ัน (ชนิด ข้อ มูล ชื่อ
ตัว แปร[ขนาดอาร์เ รย์]);
ในกรณีฟงก์ชันมีการรับค่าเข้าเป็นอาร์เรย์ 1 มิติ อาจจะไม่ต้อง
ั
กำาหนดขนาดของอาร์เรย์ก็ได้
™             ตัวอย่างเช่น
™             
int sum_arr(int num[10]);
™             
void print_arr(int a[5]);
™             
float average(int num[]);
     
การส่ง ผ่า นค่า อีล ีเ มนต์อ าร์เ รย์
ให้ก บ ฟัง ก์ช ัน
ั
    

หากฟังก์ชัน my_func มีต้นแบบของฟังก์ชันดังนี้
    
void my_func(int x);
           และใน main ได้มีการประกาศตัวแปรอาร์เรย์ชื่อว่า num
       
int num[10];
™             การส่งอีลีเมนต์ที่ 0 ของอาร์เรย์ num ไปเป็น
อาร์กิวเมนต์ของฟังก์ชัน my_func สามารถเขียนได้ดังนี้
™             
my_func(num[0]);
การส่ง อาร์เ รย์ท ุก อีล ีเ มนต์ข อง
อาร์เ รย์ใ ห้ก ับ ฟัง ก์ช ัน
      

  การส่งอาร์เรย์ในกรณีนี้ ใช้แค่ชื่อตัวแปรอาร์เรย์เท่านั้น เช่น
หากใน main มีการประกาศอาร์เรย์ดังนี้
         
int num[10];
  และฟังก์ชัน print_arr มีต้นแบบฟังก์ชันดังนี้
    
void print_arr(int a[10]);
™การส่งอาร์เรย์ num ทุกอีลีเมนต์ไปให้
ฟังก์ชัน print_arr สามารถเขียนได้ดังนี้
           
print_arr(num);
 

อาร์เ รย์ข องออบเจ็ก ต์
  อาร์เรย์สามารถเก็บ reference ของ Object ได้ โดยกำาหนดให้
อาเรย์ เป็น Class นั้น ๆ  ในตอนประกาศอาเรย์ มีรูปแบบดังนี้
™             
             className [] arrayName = new className[size];
™             เช่น
           
Student [] studentList = new Student[10];
™            
™             Student [] studentList = new Student[3];
™             studentList[0] = new Student();
™             studentList[1] = new Student();
™             studentList[2] = new Student();
™            
       

อาร์เ รย์แ บบ 2 มิต ิ

โดยสรุป สำาหรับอาร์เรย์สองมิติ เมื่ออ้างชื่ออาร์เรย์ จะหมายถึง
ตำาแหน่งเริ่มต้นของอาร์เรย์ทั้งหมด (อาร์เรย์ 2 มิติ)
          เมื่ออ้างชื่ออาร์เรย์พร้อมสมาชิกหนึ่งอันดับ จะหมายถึง
ตำาแหน่งเริ่มต้นของอาร์เรย์ย่อยภายใน  (อาร์เรย์ 1 มิติ)
             เมื่ออ้างชื่ออาร์เรย์พร้อมค่าสองอันดับ จะหมายถึง ข้อมูล
ภายในอาร์เรย์ 
™             การประกาศตัว แปรอาร์เ รย์ 2 มิต ิ
™             int val[3][4];
™             double prices[10][5];
™             char code[6][4];
การใช้ค ำา สั่ง  for ในการเข้า
ถึง อาร์เ รย์ 2 มิต ิ
          

 ใช้ลูป for 2 ชั้น  โดยลูปชั้นนอกวนรอบตามจำานวนแถว ส่วนลูป
ชั้นในวนรอบตามจำานวนหลัก
            ต้องมีตัวนับ 2 ตัว คือ ตัวนับแถวและตัวนับหลัก
            ตัวอย่างเช่น
           int i,j,x[2][3];
                         for(i=0;i<2;i++)
                          for(j=0;j<3;j++)
                         x[i][j] = i+j;
™ การให้ค า เริ่ม ต้น (Array
่
Initialization)
    

 เราจะใช้กลุมค่าคงที่ที่มีสมาชิกเป็นกลุ่มค่าคงที่ย่อย ซึ่ง
่
เป็นชนิดเดียว กันและมีขนาดเท่ากัน รวมถึงสอดคล้องกับชนิด
ของอาร์เรย์ด้วย
 
โดยใช้เครื่องหมาย {} หรือ  , ในการแบ่งแยกแต่ละแถว
  
Class ArrayList
ในภาษา Java มีกลุ่มคลาสที่เรียกว่า คอลเล็กชั่น
(Collection) ซึ่งออบเจ็กต์จากคลาสนี้สามารถใช้สะสมออบเจ็กต์
ต่าง ๆ ไว้ได้  เช่น Class ArrayList ดีกว่า Array ทีสามารถเพิ่ม
่
สมาชิกได้ โดยไม่ต้องประกาศไว้ล่วงหน้า  
การใช้ Class ArrayList จะต้อง import java.util.ArrayList
Method ที่ส ำา คัญ ของ  ArrayList
-add(int index,Object obj) ใช้ใส่ออบเจ็กต์ลงใน
อาร์เรย์ที่ตำาแหน่ง index
   
  -remove(int index) นำาออบเจ็กต์ตำาแหน่ง index ออก
จากอาร์เรย์
™           
  -get(int index) คืนค่าออบเจ็กต์ใน
ตำาแหน่ง index
™         
  -indexof(Object obj) คืนค่า index ของออบ
เจ็กต์ที่ระบุ
™         
  -size สำาหรับหาขนาดของ ArrayList
   
String
String คือข้อความ หรือ สายของอักขระ ในภาษา C+
+ ไม่มีตัวแปร ประเภท String แต่จะมีตัวแปรประเภท char ให้ใช้
แทน ซึ่งตัวแปร ประเภทchar จะสามารถเก็บอักขระได้ 1 อักขระ
เท่านั้นถ้าหากเราอยากให้ตัวแปร char สามารถเก็บข้อความได้
เราก็สามารถ ทำาให้ตัวแปร char เป็น array ได้ char Name[10];
การเปรีย บเทีย บ  String
ใช้เครื่องหมาย ==
เป็นการเปรียบเทียบว่า String 2 ตัวเป็น Object เดียวกันหรือไม่
โดยจะเปรียบเทียบค่าอ้างอิงหรือที่อยู่ในหน่วยความจำาของตัวแปร
ทั้งสอง ไม่ได้เป็นการเปรียบเทียบถึงข้อมูลที่ String ทั้ง 2 ตัวว่า
เก็บข้อมูลเดียวกันหรือไม่
รูป แบบคำา สั่ง
      String1 == String2;
equals() method
เป็นการเปรียบเทียบค่าใน String Object ทั้ง 2 ตัวเป็นค่า
เดียวกันหรือไม่ โดยที่จะให้ค่าเป็นจริง (True) ก็ต่อเมื่อตัวอักษร
ทุกตัวใน String ทั้ง 2 ค่าจะต้องเหมือนกันหมด โดยสนใจตัว
อักษรพิมพ์เล็กและพิมพ์ใหญ่ด้วย หากต่างกันก็จะ
ให้ค่าเป็นเท็จ (False)
การเปรีย บเทีย บ  String (ต่อ )
รูป แบบคำา สั่ง
String1.equals(String2);
หากไม่สนว่าตัวอักษรที่อยู่ภายใน String จะเป็นตัวเล็กหรือ
ตัวใหญ่ ถ้าต้องการตรวจสอบเพียงการเหมือนทางรูปร่างก็ใช้
method equalsIgnoreCase()
compareTo method
การเปรียบเทียบความไม่เท่ากันของ String โดยจะให้ค่าที่ได้
จากการเปรียบเทียบแบ่งเป็น 3 ค่าคือ
- เป็นลบ (-) ถ้าค่าแรกน้อยกว่าค่าที่สอง
- เป็นบวก (+) ถ้าค่าแรกมากกว่าค่าที่สอง
- เป็นศูนย์ (0) ถ้าค่าเท่ากัน
การเปรีย บเทีย บ  String (ต่อ )
รูป แบบคำา สัง
่
String1.compareTo(String2);
คลาส  StringBuffer
™             คลาส StringBuffer จะมีลักษณะคล้ายกับคลาส String เพียงแต่
เป็นตัวแปรสตริงที่มีการแก้ไขค่าแบบถาวร คอนสตรักเตอร์ของ
คลาส StringBuffer ที่น่าสนใจมีดังต่อไปนี้
  StringBuffer(String s)  เก็บสตริง s ไว้ในตัวแปร StringBuffer
  StringBuffer() เก็บข้อความว่างเปล่าไว้ในตัวแปร StringBuffer และมี
ขนาด 16 byte เหตุที่ตัวแปร StringBuffer มีขนาดปกติ 16 และจะเพิ่ม
ขนาดเมื่อเก็บข้อความลงไป เป็นเพราะถ้ามีการเปลี่ยนข้อความที่เก็บภาย
หลัง ข้อความใหม่อาจมีขนาดไม่เท่าเดิม ดังนั้นจาวาจึงว่างไว้อีก 16 ที่ว่าง
เพื่อจะได้ไม่ต้องกันที่ในหน่วยความจำาเพิ่มเติมอีก ในกรณีที่ขอความใหม่มี
้
ขนาดใหญ่กว่าเดิมไม่เกิน 16 เพราะการกันที่ในหน่วยความจำาเพิ่มเติมภาย
หลังเป็นเรื่องยุ่งยากและอาจทำาให้ประสิทธิภาพในการเข้าถึงลดลง
  StringBuffer(int length) เก็บข้อความว่างเปล่าไว้ใน
ตัวแปร StringBuffer และมีขนาดเท่ากับ length
เมธอดที่น ่า สนใจส่ว นหนึ่ง ของ
คลาส  StringBuffer









StringBuffer append(String s)
StringBuffer append(char c)
StringBuffer append(chra[] c, int offset, int len)
StringBuffer append(booleab b)
StringBuffer append(int i)
StringBuffer append(long l)
StringBuffer append(float f)
StringBuffer append(double d)
เมธอดที่น ่า สนใจส่ว นหนึ่ง ของ
คลาส  StringBuffer (ต่อ )
 

เมธอดนี้เป็นโอเวอร์โหลดเมธอด ทำาหน้าที่เพิ่มข้อความในวงเล็บเข้าไป
ต่อท้ายข้อความที่มีอยู่แล้วใน StringBuffer ถ้ามีการ
เปลี่ยนแปลง StringBuffer ผ่านเมธอดข้อความจะถูกเปลียนแบบ
่
ถาวร

StringBuffer insert(int offset, String s)
StringBuffer insert(int offset, char c)
StringBuffer insert(int offset, char[] c)
StringBuffer insert(int offset, boolean b)
StringBuffer insert(int offset, int i)
StringBuffer insert(int offset, long l)
StringBuffer insert(int offset, float f)
StringBuffer insert(int offset, double b)

เมธอดที่น า สนใจส่ว นหนึง ของ
่
่
คลาส  StringBuffer (ต่อ )
เมธอดนี้เป็นโอเวอร์โหลดเมธอด ทำาหน้าที่แทรกข้อความ
ในวงเล็บเข้าไปในตำาแหน่งที่เท่ากับ offset
StringBuffer deleteCharAt(int index) เมธอดนี้จะทำา
หน้าที่ลบตัวอักษรในตำาแหน่ง index ออก
StringBuffer delete(int start, int end) เมธอดนี้จะทำา
หน้าที่ลบตัวอักษรจากตำาแหน่ง start ถึง end ออก
StringBuffer revers()เมธอดนี้จะทำาหน้าที่กลับตัวตัว
อักษรจากหลังมาหน้า
char charAt(int index) ล่งค่าตัวอักษรใน
ตำาแหน่ง index กลับ
char setCharAt(int index, char ch)  เปลียนตัวอักษรใน
่
ตำาแหน่ง index ด้วย chtoString()ส่งค่าของข้อความออก
มาในรูปตัวแปรสตริง
ข้อ แตกต่า ง
ระหว่า ง  StringBuffer และ  String
  ข้อที่แตกต่างระหว่าง StringBuffer และ String คือขนาด
ของ StringBuffer ไม่จำาเป็นต้องเท่ากับขนาดของข้อความและสามารถ
เพิ่มหรือลดขนาดได้ เราสามารถตรวจสอบขนาดของ StringBuffer ได้
โดยใช้เมธอด int capacity()ซึ่งจะคืนค่าปัจจุบันของ StringBuffer ดัง
ตัวอย่างต่อไปนี้
™             
จากโค้ดข้างบนในบรรทัดที่ (1) เราสร้างตัวแปร s1 โดย
ไม่เก็บค่าอะไรเลย ผลที่ได้คอขนาดของข้อความเท่ากับ 0 แต่ขนาดของตัว
ื
มันเองจริงเป็น 16 ซึ่งเป็นค่าปกติ ในบรรทัดที่ (2) เราสร้างตัวแปร s2 โดย
ให้เก็บค่า Hello ผลที่ได้คอขนาดข้อความเป็น 5 แต่ขนาดของตัวมันเอง
ื
เท่ากับค่าปกติบวกด้วยความยาวของข้อความที่สงให้มันเก็บซึ่ง
ั่
เท่ากับ 21 นั่นเอง ในบรรทัดที่ (3) เราพยายามสร้างตัวแปร s3 ซึ่งเป็นวิธี
การที่ใช้ไม่ได้กับตัวแปร StringBuffer
™             
เหตุที่ตัวแปร StringBuffer มีขนาดเท่ากับ 16 และจะเพิ่ม
ขนาดเมื่อเก็บข้อความลงไป เป็นเพราะถ้ามีการเปลี่ยนแปลงข้อความที่เก็บ
ภายหลัง ข้อความหใม่อาจมีขนาดไม่เท่าเดิม จาวาจึงเผื่อที่ว่างไว้อีก 16 ที่
ว่าง เพื่อจะได้ไม่ต้องกันพื้นที่ในหน่วยความจำาเพิ่มเติมอีกในกรณีที่
ข้อความใหม่มีขนาดใหญ่กว่าเดิมไม่เกิน 16 เพราะการกันที่ในหน่วยความ
จำาเพิ่มเติมภายหลังทำาได้ยาก เนืองจากพื้นที่ในหน่วยความจำาทีเพิ่มขึนอาจ
่
้
ไม่อยู่ติดกับพื้นที่เดิมทำาให้ประสิทธิภาพในการเข้าถึงลดลง          
ผู้จัดทำา
ที่ 23

ที่ 27
ที่ 30
ทื่ 32

1.นางสาวอรปรียา

สงวนศักดิ์ เลข

2.นางสาวมานิดา ครุธนาค
เลขที่ 26
3.นางสาววาสินี
ลัดดากุล
เลข
4.นางสาวปัทมา

พรหมชนะ เลข

5.นางสาวอรฤทัย อินทนิล
6.นางสาวมนัชญา

วสุอนันต์กุล

เลข

More Related Content

What's hot

โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
Prapatsorn Keawnoun
 
การคำนวณโดยใช้ฟังก์ชันของ โปรแกรม Excel
การคำนวณโดยใช้ฟังก์ชันของ โปรแกรม Excelการคำนวณโดยใช้ฟังก์ชันของ โปรแกรม Excel
การคำนวณโดยใช้ฟังก์ชันของ โปรแกรม Excel
Kaen Kaew
 
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
Little Tukta Lita
 
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
Areeya Onnom
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
Ploy StopDark
 

What's hot (19)

โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
งานทำBlog บทที่ 10
งานทำBlog บทที่ 10งานทำBlog บทที่ 10
งานทำBlog บทที่ 10
 
Lesson5
Lesson5Lesson5
Lesson5
 
Presenter1234567
Presenter1234567Presenter1234567
Presenter1234567
 
การคำนวณโดยใช้ฟังก์ชันของ โปรแกรม Excel
การคำนวณโดยใช้ฟังก์ชันของ โปรแกรม Excelการคำนวณโดยใช้ฟังก์ชันของ โปรแกรม Excel
การคำนวณโดยใช้ฟังก์ชันของ โปรแกรม Excel
 
โปรแกรมย่อยและฟังก์ชัน
โปรแกรมย่อยและฟังก์ชันโปรแกรมย่อยและฟังก์ชัน
โปรแกรมย่อยและฟังก์ชัน
 
ข้อมูลชนิด Array
ข้อมูลชนิด Arrayข้อมูลชนิด Array
ข้อมูลชนิด Array
 
สูตรคำนวน
สูตรคำนวนสูตรคำนวน
สูตรคำนวน
 
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริงบทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
 
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
 
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
 
Java Programming [12/12] : Thread
Java Programming [12/12] : ThreadJava Programming [12/12] : Thread
Java Programming [12/12] : Thread
 
โครงสร้างข้อมูลแบบลิงค์ลิสต์ (linklist)
โครงสร้างข้อมูลแบบลิงค์ลิสต์ (linklist)โครงสร้างข้อมูลแบบลิงค์ลิสต์ (linklist)
โครงสร้างข้อมูลแบบลิงค์ลิสต์ (linklist)
 
Presenter
PresenterPresenter
Presenter
 
9789740328766
97897403287669789740328766
9789740328766
 
9789740328766
97897403287669789740328766
9789740328766
 
การใช้งาน Ms excel
การใช้งาน Ms excelการใช้งาน Ms excel
การใช้งาน Ms excel
 
New presentation1
New presentation1New presentation1
New presentation1
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 

Similar to บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง

ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
Areeya Onnom
 
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
Areeya Onnom
 
5.ข้อมูลชนิดอาร์เรย์
5.ข้อมูลชนิดอาร์เรย์5.ข้อมูลชนิดอาร์เรย์
5.ข้อมูลชนิดอาร์เรย์
mansuang1978
 
ตัวแปรชุดและตัวแปรอักขระ PPT
ตัวแปรชุดและตัวแปรอักขระ PPTตัวแปรชุดและตัวแปรอักขระ PPT
ตัวแปรชุดและตัวแปรอักขระ PPT
Areeya Onnom
 
ตัวแปรชุดและตัวแปรกลุ่มอิสระ
ตัวแปรชุดและตัวแปรกลุ่มอิสระตัวแปรชุดและตัวแปรกลุ่มอิสระ
ตัวแปรชุดและตัวแปรกลุ่มอิสระ
Lacus Methini
 
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขร
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขรบทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขร
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขร
Mook Sasivimon
 
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระบทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
Mook Sasivimon
 

Similar to บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง (20)

ข้อมูลชนิดอาร์เรย์และสตริง
ข้อมูลชนิดอาร์เรย์และสตริงข้อมูลชนิดอาร์เรย์และสตริง
ข้อมูลชนิดอาร์เรย์และสตริง
 
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
 
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
 
5.ข้อมูลชนิดอาร์เรย์
5.ข้อมูลชนิดอาร์เรย์5.ข้อมูลชนิดอาร์เรย์
5.ข้อมูลชนิดอาร์เรย์
 
ตัวแปรชุดและตัวแปรอักขระ PPT
ตัวแปรชุดและตัวแปรอักขระ PPTตัวแปรชุดและตัวแปรอักขระ PPT
ตัวแปรชุดและตัวแปรอักขระ PPT
 
ตัวแปรชุด
ตัวแปรชุดตัวแปรชุด
ตัวแปรชุด
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5
 
Work
WorkWork
Work
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09
 
ตัวแปรชุดและตัวแปรกลุ่มอิสระ
ตัวแปรชุดและตัวแปรกลุ่มอิสระตัวแปรชุดและตัวแปรกลุ่มอิสระ
ตัวแปรชุดและตัวแปรกลุ่มอิสระ
 
ข้อมูลชนิด Array
ข้อมูลชนิด Arrayข้อมูลชนิด Array
ข้อมูลชนิด Array
 
ข้อมูลชนิด Array
ข้อมูลชนิด Arrayข้อมูลชนิด Array
ข้อมูลชนิด Array
 
สื่อการนำเสนอเรื่องตัวแปรชุดและตัวแปรกลุ่มอักขระ
สื่อการนำเสนอเรื่องตัวแปรชุดและตัวแปรกลุ่มอักขระสื่อการนำเสนอเรื่องตัวแปรชุดและตัวแปรกลุ่มอักขระ
สื่อการนำเสนอเรื่องตัวแปรชุดและตัวแปรกลุ่มอักขระ
 
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขร
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขรบทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขร
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขร
 
ตัวแปรชุดและตัวแปรกลุ่มอักขระ
ตัวแปรชุดและตัวแปรกลุ่มอักขระตัวแปรชุดและตัวแปรกลุ่มอักขระ
ตัวแปรชุดและตัวแปรกลุ่มอักขระ
 
ตัวแปรชุดนำเสนอ
ตัวแปรชุดนำเสนอตัวแปรชุดนำเสนอ
ตัวแปรชุดนำเสนอ
 
Unit5
Unit5Unit5
Unit5
 
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระบทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
 
งานกลุ่มคอม กลุ่ม-5
งานกลุ่มคอม กลุ่ม-5งานกลุ่มคอม กลุ่ม-5
งานกลุ่มคอม กลุ่ม-5
 
3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน
 

More from Onpreeya Sahnguansak

ข้อมูลชนิดอาร์เรย์และสตริง
ข้อมูลชนิดอาร์เรย์และสตริงข้อมูลชนิดอาร์เรย์และสตริง
ข้อมูลชนิดอาร์เรย์และสตริง
Onpreeya Sahnguansak
 
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริงบทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง
Onpreeya Sahnguansak
 
ไวเบอรเปิดตัว
ไวเบอรเปิดตัวไวเบอรเปิดตัว
ไวเบอรเปิดตัว
Onpreeya Sahnguansak
 
นางสาว มานิดา ครุธนาค
นางสาว มานิดา ครุธนาคนางสาว มานิดา ครุธนาค
นางสาว มานิดา ครุธนาค
Onpreeya Sahnguansak
 
แอลจีเตรียมส่งสมาร์ทโฟนรุ่นล้ำ
แอลจีเตรียมส่งสมาร์ทโฟนรุ่นล้ำแอลจีเตรียมส่งสมาร์ทโฟนรุ่นล้ำ
แอลจีเตรียมส่งสมาร์ทโฟนรุ่นล้ำ
Onpreeya Sahnguansak
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
Onpreeya Sahnguansak
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
Onpreeya Sahnguansak
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
Onpreeya Sahnguansak
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
Onpreeya Sahnguansak
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
Onpreeya Sahnguansak
 
การสร้างงานโปรแกรมด้วย
การสร้างงานโปรแกรมด้วยการสร้างงานโปรแกรมด้วย
การสร้างงานโปรแกรมด้วย
Onpreeya Sahnguansak
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
Onpreeya Sahnguansak
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
Onpreeya Sahnguansak
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
Onpreeya Sahnguansak
 
ละเอียดสุดฤทธิ์ Nokia เปิดตัว lumia 1020 สมาร์ทโฟนพร้อมกล้อง 41 ล้านพิกเซล
ละเอียดสุดฤทธิ์ Nokia เปิดตัว lumia 1020 สมาร์ทโฟนพร้อมกล้อง 41 ล้านพิกเซลละเอียดสุดฤทธิ์ Nokia เปิดตัว lumia 1020 สมาร์ทโฟนพร้อมกล้อง 41 ล้านพิกเซล
ละเอียดสุดฤทธิ์ Nokia เปิดตัว lumia 1020 สมาร์ทโฟนพร้อมกล้อง 41 ล้านพิกเซล
Onpreeya Sahnguansak
 

More from Onpreeya Sahnguansak (20)

ข้อมูลชนิดอาร์เรย์และสตริง
ข้อมูลชนิดอาร์เรย์และสตริงข้อมูลชนิดอาร์เรย์และสตริง
ข้อมูลชนิดอาร์เรย์และสตริง
 
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริงบทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง
 
Project is-3
Project is-3Project is-3
Project is-3
 
ข่าวไอที1
ข่าวไอที1ข่าวไอที1
ข่าวไอที1
 
ไวเบอรเปิดตัว
ไวเบอรเปิดตัวไวเบอรเปิดตัว
ไวเบอรเปิดตัว
 
นางสาว มานิดา ครุธนาค
นางสาว มานิดา ครุธนาคนางสาว มานิดา ครุธนาค
นางสาว มานิดา ครุธนาค
 
แอลจีเตรียมส่งสมาร์ทโฟนรุ่นล้ำ
แอลจีเตรียมส่งสมาร์ทโฟนรุ่นล้ำแอลจีเตรียมส่งสมาร์ทโฟนรุ่นล้ำ
แอลจีเตรียมส่งสมาร์ทโฟนรุ่นล้ำ
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
 
การสร้างงานโปรแกรมด้วย
การสร้างงานโปรแกรมด้วยการสร้างงานโปรแกรมด้วย
การสร้างงานโปรแกรมด้วย
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
 
Mind map
Mind mapMind map
Mind map
 
Mind map
Mind mapMind map
Mind map
 
ละเอียดสุดฤทธิ์ Nokia เปิดตัว lumia 1020 สมาร์ทโฟนพร้อมกล้อง 41 ล้านพิกเซล
ละเอียดสุดฤทธิ์ Nokia เปิดตัว lumia 1020 สมาร์ทโฟนพร้อมกล้อง 41 ล้านพิกเซลละเอียดสุดฤทธิ์ Nokia เปิดตัว lumia 1020 สมาร์ทโฟนพร้อมกล้อง 41 ล้านพิกเซล
ละเอียดสุดฤทธิ์ Nokia เปิดตัว lumia 1020 สมาร์ทโฟนพร้อมกล้อง 41 ล้านพิกเซล
 
ข่าว It
ข่าว Itข่าว It
ข่าว It
 

บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง

  • 3. ตัว แปรอาร์เ รย์แ บบ 1 มิต ิ อาร์เรย์หนึ่งมิติ มีโครงสร้างเทียบเท่าเมตริกซ์ขนาด nx1 การ ประกาศตัวแปรอาร์เรย์ จะใช้เครื่องหมาย [ ] ล้อมค่าตัวเลขจำานวน เต็ม เพื่อบอกจำานวนหน่วยข้อมูลที่ต้องการได้ในรูป                    ชนิด ของตัว แปร ชื่อ ตัว แปร [จำา นวนสมาชิก ที่ ต้อ งการ] data_type variable_name [ number-ofelements ]           เช่น         int           a[5];                                double    x,  y[10],  z[3];
  • 4. ตัว แปรอาร์เ รย์ห ลายตัว อาร์เรย์หลายมิติ (Multi-dimensional array) คือ อาร์เรย์ที่ มีสมาชิกเป็นข้อมูลอาร์เรย์ นั่นคือ ในหน่วยข้อมูลแต่ละหน่วยของ อาร์เรย์ จะเป็นอาร์เรย์ย่อยๆ ซึ่งอาจจะกำาหนดซ้อนลงไปได้หลาย ชั้น         การกำาหนดอาร์เรย์หลายมิติ จะกระทำาในรูปชนิดตัวแปร   ชื่อตัวแปร[จำานวนสมาชิก][จำานวนสมาชิก]….; การประกาศอาร์เรย์หลายตัวทำาได้ดังนี้                 int [] abc , xyz;                 abc = new int[500];                 xyz = new int[10]; หรือเขียนรวมกันได้ดังนี้                 int[] abc = new int[500], xyz = new int[10];
  • 5. การกำา หนดค่า เริ่ม ต้น ให้ อาร์เ รย์ 1 สามารถประกาศตัวแปร Array พร้อมกับกำาหนดค่าเริ่มต้น ให้กบสมาชิก Array ได้โดยมีรูปแบบ ั ดังนี                                                                                      ้                                             ชนิดของตัวแปรอาร์เรย์ ชื่ออาร์เรย์[จำานวนข้อมูล] = {ค่า คงที่,ค่าคงที่,…};
  • 6. การเข้า ถึง ตัว แปรอาร์เ รย์   เมื่อมีการประกาศอาร์เรย์แล้ว ค่าตำาแหน่งหมายเลขลำาดับข้อมูล    สำาหรับใช้เข้าถึงตัวแปรย่อยต่างๆ ในอาร์เรย์ จะถูกกำาหนดโดย อัตโนมัติ            โดยหากกำาหนดอาร์เรย์ด้วยขนาด  n ข้อมูล หน่วยแรก จะมีค่าตำาแหน่งลำาดับเป็น 0 ไปจนถึงข้อมูลหน่วยสุดท้ายจะมีค่า ตำาแหน่งลำาดับเป็น n™             ถ้าต้องการอ่านหรือเขียนข้อมูลในหน่วยต่างๆ ของ ตัวแปรอาร์เรย์ จะต้องอ้างชื่อตัวแปรตามด้วยค่าลำาดับของหน่วย ในกลุ่มข้อมูลอาร์เรย์ ล้อมด้วยเครื่องหมาย [ ] ซึ่งเรียก ว่า subscript (หรือดัชนี index) ™             ค่าดัชนี อาจอยู่ในรูป ค่าคงที่ ของตัวแปร นิพจน์ หรือ ฟังก์ชันที่ให้ค่าเป็นค่าจำา นวนเต็ม ก็ได้  ( positive integer  >=0 ) ™             ของเขตของ index หรือ subscript มีค่าตั้งแต่ 0 ถึง n-
  • 7. การใช้ค ำา สัง วนรอบ  for ในการ ่ เข้า ถึง ค่า ในอาร์เ รย์  เราสามารถใช้คำาสั่งวนรอบ for ในการวนรอบรับค่าที่ป้อนเข้ามา และใช้ในการคำานวณโดยการใช้ตัวแปรในการวนรอบ และใช้ ตัวแปรเดียวกัน เพื่อกำาหนดลำาดับของข้อมูลที่จะใช้ในอาร์เรย์ int x,a[5]; for (x=0; x<5; x++) { printf(“Enter value for a[%d]:”,x);                  scanf(“%d”,&a[x]); } printf(“Show all valuesn”); for (x=0; x<5; x++) { printf(“a[%d] = %d”, x, a[x]);  }
  • 8. การส่ง ผ่า นอาร์เ รย์ไ ปยัง ฟัง ก์ช ัน สามารถแบ่งได้เป็น 2 ลักษณะ          1.การส่งผ่านค่าอีลเมนต์อาร์เรย์ให้กับฟังก์ชัน เป็นการเรียก ี ใช้ฟงก์ชันแบบ Call-by-value ั    2. การส่งอาร์เรย์ทุกอีลีเมนต์ให้กับฟังก์ชัน เป็นการเรียกใช้ ฟังก์ชันแบบ Call-by-reference ™            
  • 9. การส่ง ผ่า นอาร์เ รย์ไ ปยัง ฟัง ก์ช ัน (ต่อ )  การเรีย กใช้แ บบ  Call-by-value  ใช้วิธีการส่งค่าของตัวแปร (value) ให้กบฟังก์ชัน โดยผ่านพารามิเตอร์ ั ™ ไม่สามารถแก้ไขค่าของอาร์กิวเมนต์(หรือพารามิเตอร์) ภายในฟังก์ชันได้ = การ แก้ไขค่าต่างๆในฟังก์ชัน ไม่มีผลต่อตัวแปรทีส่งค่ามา ่ ™             ใช้กับฟังก์ชันทีรับค่าเข้าเป็นตัวแปรธรรมดา (int, float, char,...) ่ ™             เช่น  void triple(int x) { x=x*3; printf(“x = %d”,x); } ….             int x=5, y[2]={10,11}; triple(x); triple(y[0]); ™             triple(x) ส่ง ค่า  5 ให้ก ับ ฟัง ก์ช ัน ในฟัง ก์ช ัน  x เริ่ม ต้น เป็น  5 ™             และถูก ทำา ให้ก ลายเป็น  15 หลัง จบฟัง ก์ช ัน ค่า  x นอกฟัง ก์ช ัน   ไม่เ ปลี่ย นแปลง ™             triple(y[0]) ส่ง ค่า  10 ให้ก ับ ฟัง ก์ช ัน ในฟัง ก์ช ัน  x เริ่ม ต้น เป็น  10 ™             และถูก ทำา ให้ก ลายเป็น   30 หลัง จบฟัง ก์ช ัน ค่า  y[0] ยัง เหมือ นเดิม
  • 10. การส่ง ผ่า นอาร์เ รย์ไ ปยัง ฟัง ก์ช ัน (ต่อ )       การเรีย กใช้แ บบ  Call-by-reference  ใช้วิธีการส่งค่า แอดเดรส (Address)*** ของตัวแปรไปให้ ฟังก์ชัน          ใช้กับฟังก์ชันที่รับค่าเข้าเป็นอาร์เรย์ ™             สามารถแก้ไขค่าของอาร์กิวเมนต์ภายในฟังก์ชัน ได้ = การแก้ไขค่าตัวแปรอาร์เรย์ ภายในฟังก์ชัน มีผลการ เปลี่ยนแปลงต่อตัวแปรที่ส่งค่ามา เพราะ การมีการจัดการค่าของหน่วยความจำาในตำาแหน่งเดียวกัน ™             ***แอดเดรส (Address) คือ ค่าที่ใช้อางถึงตัวข้อมูล ้ ภายในหน่วยความจำา เหมือนกับหมายเลขบ้านเลขที่**
  • 11. ฟัง ก์ช ัน ที่ม ก ารรับ ค่า เข้า เป็น ี อาร์เ รย์     ฟังก์ชันสามารถที่จะรับค่าเข้าเป็นอาร์เรย์ได้ ซึ่งรูปแบบของการ เขียนต้นแบบของฟังก์ชันเป็นดังนี้ ™              ชนิด ข้อ มูล ชื่อ ฟัง ก์ช ัน (ชนิด ข้อ มูล ชื่อ ตัว แปร[ขนาดอาร์เ รย์]); ในกรณีฟงก์ชันมีการรับค่าเข้าเป็นอาร์เรย์ 1 มิติ อาจจะไม่ต้อง ั กำาหนดขนาดของอาร์เรย์ก็ได้ ™             ตัวอย่างเช่น ™              int sum_arr(int num[10]); ™              void print_arr(int a[5]); ™              float average(int num[]);      
  • 12. การส่ง ผ่า นค่า อีล ีเ มนต์อ าร์เ รย์ ให้ก บ ฟัง ก์ช ัน ั      หากฟังก์ชัน my_func มีต้นแบบของฟังก์ชันดังนี้      void my_func(int x);            และใน main ได้มีการประกาศตัวแปรอาร์เรย์ชื่อว่า num         int num[10]; ™             การส่งอีลีเมนต์ที่ 0 ของอาร์เรย์ num ไปเป็น อาร์กิวเมนต์ของฟังก์ชัน my_func สามารถเขียนได้ดังนี้ ™              my_func(num[0]);
  • 13. การส่ง อาร์เ รย์ท ุก อีล ีเ มนต์ข อง อาร์เ รย์ใ ห้ก ับ ฟัง ก์ช ัน          การส่งอาร์เรย์ในกรณีนี้ ใช้แค่ชื่อตัวแปรอาร์เรย์เท่านั้น เช่น หากใน main มีการประกาศอาร์เรย์ดังนี้           int num[10];   และฟังก์ชัน print_arr มีต้นแบบฟังก์ชันดังนี้      void print_arr(int a[10]); ™การส่งอาร์เรย์ num ทุกอีลีเมนต์ไปให้ ฟังก์ชัน print_arr สามารถเขียนได้ดังนี้             print_arr(num);
  • 14.   อาร์เ รย์ข องออบเจ็ก ต์   อาร์เรย์สามารถเก็บ reference ของ Object ได้ โดยกำาหนดให้ อาเรย์ เป็น Class นั้น ๆ  ในตอนประกาศอาเรย์ มีรูปแบบดังนี้ ™                           className [] arrayName = new className[size]; ™             เช่น             Student [] studentList = new Student[10]; ™             ™             Student [] studentList = new Student[3]; ™             studentList[0] = new Student(); ™             studentList[1] = new Student(); ™             studentList[2] = new Student(); ™            
  • 15.         อาร์เ รย์แ บบ 2 มิต ิ โดยสรุป สำาหรับอาร์เรย์สองมิติ เมื่ออ้างชื่ออาร์เรย์ จะหมายถึง ตำาแหน่งเริ่มต้นของอาร์เรย์ทั้งหมด (อาร์เรย์ 2 มิติ)           เมื่ออ้างชื่ออาร์เรย์พร้อมสมาชิกหนึ่งอันดับ จะหมายถึง ตำาแหน่งเริ่มต้นของอาร์เรย์ย่อยภายใน  (อาร์เรย์ 1 มิติ)              เมื่ออ้างชื่ออาร์เรย์พร้อมค่าสองอันดับ จะหมายถึง ข้อมูล ภายในอาร์เรย์  ™             การประกาศตัว แปรอาร์เ รย์ 2 มิต ิ ™             int val[3][4]; ™             double prices[10][5]; ™             char code[6][4];
  • 16. การใช้ค ำา สั่ง  for ในการเข้า ถึง อาร์เ รย์ 2 มิต ิ             ใช้ลูป for 2 ชั้น  โดยลูปชั้นนอกวนรอบตามจำานวนแถว ส่วนลูป ชั้นในวนรอบตามจำานวนหลัก             ต้องมีตัวนับ 2 ตัว คือ ตัวนับแถวและตัวนับหลัก             ตัวอย่างเช่น            int i,j,x[2][3];                          for(i=0;i<2;i++)                           for(j=0;j<3;j++)                          x[i][j] = i+j;
  • 17. ™ การให้ค า เริ่ม ต้น (Array ่ Initialization)       เราจะใช้กลุมค่าคงที่ที่มีสมาชิกเป็นกลุ่มค่าคงที่ย่อย ซึ่ง ่ เป็นชนิดเดียว กันและมีขนาดเท่ากัน รวมถึงสอดคล้องกับชนิด ของอาร์เรย์ด้วย   โดยใช้เครื่องหมาย {} หรือ  , ในการแบ่งแยกแต่ละแถว   
  • 18. Class ArrayList ในภาษา Java มีกลุ่มคลาสที่เรียกว่า คอลเล็กชั่น (Collection) ซึ่งออบเจ็กต์จากคลาสนี้สามารถใช้สะสมออบเจ็กต์ ต่าง ๆ ไว้ได้  เช่น Class ArrayList ดีกว่า Array ทีสามารถเพิ่ม ่ สมาชิกได้ โดยไม่ต้องประกาศไว้ล่วงหน้า   การใช้ Class ArrayList จะต้อง import java.util.ArrayList
  • 19. Method ที่ส ำา คัญ ของ  ArrayList -add(int index,Object obj) ใช้ใส่ออบเจ็กต์ลงใน อาร์เรย์ที่ตำาแหน่ง index       -remove(int index) นำาออบเจ็กต์ตำาแหน่ง index ออก จากอาร์เรย์ ™              -get(int index) คืนค่าออบเจ็กต์ใน ตำาแหน่ง index ™            -indexof(Object obj) คืนค่า index ของออบ เจ็กต์ที่ระบุ ™            -size สำาหรับหาขนาดของ ArrayList    
  • 20. String String คือข้อความ หรือ สายของอักขระ ในภาษา C+ + ไม่มีตัวแปร ประเภท String แต่จะมีตัวแปรประเภท char ให้ใช้ แทน ซึ่งตัวแปร ประเภทchar จะสามารถเก็บอักขระได้ 1 อักขระ เท่านั้นถ้าหากเราอยากให้ตัวแปร char สามารถเก็บข้อความได้ เราก็สามารถ ทำาให้ตัวแปร char เป็น array ได้ char Name[10];
  • 21. การเปรีย บเทีย บ  String ใช้เครื่องหมาย == เป็นการเปรียบเทียบว่า String 2 ตัวเป็น Object เดียวกันหรือไม่ โดยจะเปรียบเทียบค่าอ้างอิงหรือที่อยู่ในหน่วยความจำาของตัวแปร ทั้งสอง ไม่ได้เป็นการเปรียบเทียบถึงข้อมูลที่ String ทั้ง 2 ตัวว่า เก็บข้อมูลเดียวกันหรือไม่ รูป แบบคำา สั่ง       String1 == String2; equals() method เป็นการเปรียบเทียบค่าใน String Object ทั้ง 2 ตัวเป็นค่า เดียวกันหรือไม่ โดยที่จะให้ค่าเป็นจริง (True) ก็ต่อเมื่อตัวอักษร ทุกตัวใน String ทั้ง 2 ค่าจะต้องเหมือนกันหมด โดยสนใจตัว อักษรพิมพ์เล็กและพิมพ์ใหญ่ด้วย หากต่างกันก็จะ ให้ค่าเป็นเท็จ (False)
  • 22. การเปรีย บเทีย บ  String (ต่อ ) รูป แบบคำา สั่ง String1.equals(String2); หากไม่สนว่าตัวอักษรที่อยู่ภายใน String จะเป็นตัวเล็กหรือ ตัวใหญ่ ถ้าต้องการตรวจสอบเพียงการเหมือนทางรูปร่างก็ใช้ method equalsIgnoreCase() compareTo method การเปรียบเทียบความไม่เท่ากันของ String โดยจะให้ค่าที่ได้ จากการเปรียบเทียบแบ่งเป็น 3 ค่าคือ - เป็นลบ (-) ถ้าค่าแรกน้อยกว่าค่าที่สอง - เป็นบวก (+) ถ้าค่าแรกมากกว่าค่าที่สอง - เป็นศูนย์ (0) ถ้าค่าเท่ากัน
  • 23. การเปรีย บเทีย บ  String (ต่อ ) รูป แบบคำา สัง ่ String1.compareTo(String2); คลาส  StringBuffer ™             คลาส StringBuffer จะมีลักษณะคล้ายกับคลาส String เพียงแต่ เป็นตัวแปรสตริงที่มีการแก้ไขค่าแบบถาวร คอนสตรักเตอร์ของ คลาส StringBuffer ที่น่าสนใจมีดังต่อไปนี้   StringBuffer(String s)  เก็บสตริง s ไว้ในตัวแปร StringBuffer   StringBuffer() เก็บข้อความว่างเปล่าไว้ในตัวแปร StringBuffer และมี ขนาด 16 byte เหตุที่ตัวแปร StringBuffer มีขนาดปกติ 16 และจะเพิ่ม ขนาดเมื่อเก็บข้อความลงไป เป็นเพราะถ้ามีการเปลี่ยนข้อความที่เก็บภาย หลัง ข้อความใหม่อาจมีขนาดไม่เท่าเดิม ดังนั้นจาวาจึงว่างไว้อีก 16 ที่ว่าง เพื่อจะได้ไม่ต้องกันที่ในหน่วยความจำาเพิ่มเติมอีก ในกรณีที่ขอความใหม่มี ้ ขนาดใหญ่กว่าเดิมไม่เกิน 16 เพราะการกันที่ในหน่วยความจำาเพิ่มเติมภาย หลังเป็นเรื่องยุ่งยากและอาจทำาให้ประสิทธิภาพในการเข้าถึงลดลง   StringBuffer(int length) เก็บข้อความว่างเปล่าไว้ใน ตัวแปร StringBuffer และมีขนาดเท่ากับ length
  • 24. เมธอดที่น ่า สนใจส่ว นหนึ่ง ของ คลาส  StringBuffer         StringBuffer append(String s) StringBuffer append(char c) StringBuffer append(chra[] c, int offset, int len) StringBuffer append(booleab b) StringBuffer append(int i) StringBuffer append(long l) StringBuffer append(float f) StringBuffer append(double d)
  • 25. เมธอดที่น ่า สนใจส่ว นหนึ่ง ของ คลาส  StringBuffer (ต่อ )   เมธอดนี้เป็นโอเวอร์โหลดเมธอด ทำาหน้าที่เพิ่มข้อความในวงเล็บเข้าไป ต่อท้ายข้อความที่มีอยู่แล้วใน StringBuffer ถ้ามีการ เปลี่ยนแปลง StringBuffer ผ่านเมธอดข้อความจะถูกเปลียนแบบ ่ ถาวร StringBuffer insert(int offset, String s) StringBuffer insert(int offset, char c) StringBuffer insert(int offset, char[] c) StringBuffer insert(int offset, boolean b) StringBuffer insert(int offset, int i) StringBuffer insert(int offset, long l) StringBuffer insert(int offset, float f) StringBuffer insert(int offset, double b) 
  • 26. เมธอดที่น า สนใจส่ว นหนึง ของ ่ ่ คลาส  StringBuffer (ต่อ ) เมธอดนี้เป็นโอเวอร์โหลดเมธอด ทำาหน้าที่แทรกข้อความ ในวงเล็บเข้าไปในตำาแหน่งที่เท่ากับ offset StringBuffer deleteCharAt(int index) เมธอดนี้จะทำา หน้าที่ลบตัวอักษรในตำาแหน่ง index ออก StringBuffer delete(int start, int end) เมธอดนี้จะทำา หน้าที่ลบตัวอักษรจากตำาแหน่ง start ถึง end ออก StringBuffer revers()เมธอดนี้จะทำาหน้าที่กลับตัวตัว อักษรจากหลังมาหน้า char charAt(int index) ล่งค่าตัวอักษรใน ตำาแหน่ง index กลับ char setCharAt(int index, char ch)  เปลียนตัวอักษรใน ่ ตำาแหน่ง index ด้วย chtoString()ส่งค่าของข้อความออก มาในรูปตัวแปรสตริง
  • 27. ข้อ แตกต่า ง ระหว่า ง  StringBuffer และ  String   ข้อที่แตกต่างระหว่าง StringBuffer และ String คือขนาด ของ StringBuffer ไม่จำาเป็นต้องเท่ากับขนาดของข้อความและสามารถ เพิ่มหรือลดขนาดได้ เราสามารถตรวจสอบขนาดของ StringBuffer ได้ โดยใช้เมธอด int capacity()ซึ่งจะคืนค่าปัจจุบันของ StringBuffer ดัง ตัวอย่างต่อไปนี้ ™              จากโค้ดข้างบนในบรรทัดที่ (1) เราสร้างตัวแปร s1 โดย ไม่เก็บค่าอะไรเลย ผลที่ได้คอขนาดของข้อความเท่ากับ 0 แต่ขนาดของตัว ื มันเองจริงเป็น 16 ซึ่งเป็นค่าปกติ ในบรรทัดที่ (2) เราสร้างตัวแปร s2 โดย ให้เก็บค่า Hello ผลที่ได้คอขนาดข้อความเป็น 5 แต่ขนาดของตัวมันเอง ื เท่ากับค่าปกติบวกด้วยความยาวของข้อความที่สงให้มันเก็บซึ่ง ั่ เท่ากับ 21 นั่นเอง ในบรรทัดที่ (3) เราพยายามสร้างตัวแปร s3 ซึ่งเป็นวิธี การที่ใช้ไม่ได้กับตัวแปร StringBuffer ™              เหตุที่ตัวแปร StringBuffer มีขนาดเท่ากับ 16 และจะเพิ่ม ขนาดเมื่อเก็บข้อความลงไป เป็นเพราะถ้ามีการเปลี่ยนแปลงข้อความที่เก็บ ภายหลัง ข้อความหใม่อาจมีขนาดไม่เท่าเดิม จาวาจึงเผื่อที่ว่างไว้อีก 16 ที่ ว่าง เพื่อจะได้ไม่ต้องกันพื้นที่ในหน่วยความจำาเพิ่มเติมอีกในกรณีที่ ข้อความใหม่มีขนาดใหญ่กว่าเดิมไม่เกิน 16 เพราะการกันที่ในหน่วยความ จำาเพิ่มเติมภายหลังทำาได้ยาก เนืองจากพื้นที่ในหน่วยความจำาทีเพิ่มขึนอาจ ่ ้ ไม่อยู่ติดกับพื้นที่เดิมทำาให้ประสิทธิภาพในการเข้าถึงลดลง          
  • 28. ผู้จัดทำา ที่ 23 ที่ 27 ที่ 30 ทื่ 32 1.นางสาวอรปรียา สงวนศักดิ์ เลข 2.นางสาวมานิดา ครุธนาค เลขที่ 26 3.นางสาววาสินี ลัดดากุล เลข 4.นางสาวปัทมา พรหมชนะ เลข 5.นางสาวอรฤทัย อินทนิล 6.นางสาวมนัชญา วสุอนันต์กุล เลข