ข้อมูลชนิดสตริง
5.9 สตริง(String)
สตริงเป็นออปเจค (Object) ที่สืบทอดคุณสมบัติมาจากคลาสสตริง (Class String) ถ้าต้องการสร้างออปเจคจากคลาสสตริง ต้องประกาศดังนี้ String str = new String(“Java”); หรือ String str = “Java”; ถ้าเราต้องการให้ str มีค่าว่างต้องประกาศเช่นนี้ String str = null; การเก็บข้อมูลของสตริงนั้น จะมีการเก็บข้อมูลอยู่ 2 ส่วน ส่วนแรกจะเป็นข้อมูลตัวอักษรโดยเก็บเรียงกันไป แบะส่วนที่ 2 จะเก็บจุดสิ้นสุดของสตริง ซึ่งจุสิ้นสุดของสตริงจะใช้ Null Characterหรือ ‘\0’ **ตัวอย่าง class string2 { public static void main (String[] args) { String one = "Principle "; String two = "programming"; String three = null; three = one + two; System.out.printf("%s%n",three); } } ** ผลลัพธ์ที่ได้คือPrinciple programming |
5.10 การเปรียบเทียบ String โดยใช้ equals( )ซึ่ง เป็น method ตัวนึงที่อยู่ใน String Class โดยจะทำหน้าที่เปรียบเทียบ String 2 ชุดว่ามีสมาชิกหรือข้อความที่เหมือนกันหรือไม่ มีรูปแบบการใช้งานดังนี้ อธิบายโปรแกรม จากโปรแกรมมีการกำหนดตัวแปร s1 และ s2 เป็น String โดยมีข้อความเหมือนกัน จากนั้นกำหนดเงื่อนไขของ if ว่าให้นำ String ทั้ง 2 มา เปรียบเทียบกันว่าเหมือนกันหรือไม่ โดยใช้เงื่อนไข s1.equals(s2) ถ้ามีข้อความเหมือนกันจริงก็จะ พิมพ์ข้อความ "s1 equals s2" แต่ถ้าข้อความไม่เหมือนกันก็จะพิมพ์ข้อความ "s1 not equals s2" ออกมาแทน ให้เราทดสอบ โดยการไปเปลี่ยนข้อความในตัวแปร s1 หรือ s2 แค่เปลี่ยนตัวอักษรตัวเล็กเป็นตัวใหญ่ก็ถือว่าข้อความไม่เหมือนกัน 5.11 คลาสสตริงบัฟเฟอร์และสตริงบิลเตอร์ 1.คลาสสตริงบัฟเฟอร เป็น class หนึ่งที่ทำงานกับ String แต่มีความยืดหยุ่นและใช้งานได้หลากหลายกว่า String Class ทั้งนี้ StringBuffer Class จะมี Constructor ให้เลือกใช้ได้ 3 Constructor ได้แก่ - StringBuffer() ใช้ในการสร้าง StringBuffer ที่ไม่มีข้อมูลใดๆ และมีความยาวสูงสุด 16 ตัวอักษร - StringBuffer(int length) ใช้ในการสร้าง StringBuffer ที่ไม่มีข้อมูลใดๆ แต่ความยาวจะขึ้นอยู่กับค่าของ length ที่ส่งมาให้ - StringBuffer(String str) ใช้ในการสร้าง StringBuffer ที่มีข้อมูลตาม Argument “str” ที่ส่งมา โดยความยาวก็จะขึ้นอยู่กับความยาวของ str เท่านั้น 2.คลาสสตริงบิลเดอร์ มีคุณสมบัติคล้ายๆกับ StringBuffer แต่ต่างกันตรงที่ StringBuilder ไม่เป็น Thread Save จึงทำให้ทำงานได้เร็วกว่า StringBuffer การเรียกใช้งาน ก็เรียกใช้งานได้เหมือนกัน วัตถุประสงค์เชิงพฤติกรรม (Behavioral Objectives) หลังจากศึกษาจบบทเรียนนี้แล้ว นักศึกษาจะมีความสามารถดังนี้ (After studying this chapter, you will be able to) 1. อธิบายและยกตัวอย่างสตริง (String) 2. แสดงตัวอย่างฟังก์ชัน Input / Output ของสตริง 3. แสดงตัวอย่างฟังก์ชันอื่นที่ใช้กับสตริง 4. แสดงการใช้ฟังก์ชัน Strlen 5. แสดงการเข้าข้อมูลของพอยเตอร์ของสตริง 6. แสดงการเปรียบเทียบสตริงที่ผลเป็นเท่ากับ,น้อยกว่า และมากกว่า 7. ยกตัวอย่างแสดงผลของฟังก์ชัน Strncmp 8. แสดงผลการทำงานของฟังก์ชัน Strcat และ Strncat 9. จัดบอร์ดเชิงปฏิบัติการ “สตริง” 10. สนทนาเชิงปฏิบัติการ “การเปรียบเทียบสตริงที่ผลเป็นเท่ากับ น้อยกว่า และมากกว่า” 11. อธิบายคำศัพท์ได้ 10 คำ |