Untitled Document
สวัสดีครับ
บทความตอนนี้เราจะมาว่ากันด้วยเรื่องของการใช้งาน
String Class กันนะครับ เรามาดูความหมายของ
String กันว่ามันหมายงถึง อะไร String เป็น Class หนึ่งใน Package ของจาวาชื่อ java.lang
ทำหน้าที่ในการเก็บข้อมูลที่เป็น “ชุดของตัวอักษร” ซึ่งปกติในจาวาจะมีชนิดข้อมูลที่เป็น
Character ให้เราใช้อยู่แล้วแต่เก็บข้อมูลได้เพียง 1 ตัวอักษรเท่านั้น ดังนั้นจึงลำบากในการนำมาใช้กับข้อมูลที่มากกว่า
1 ตัวอักษรหรือที่เรียกว่า “String” ดังนั้น จาวาจึงได้สร้าง Class สำเร็จในรูปมาให้สามารถเรียกใช้ได้ทันที
เรียกว่า “String” นะครับ เราลองมาดูรูปแบบการใช้งานกันเลยนะครับ
การสร้าง String
สามารถสร้าง object เพื่อใช้กับ String ได้
3 แบบ คือ
แบบที่ 1 มีรูปแบบดังนี้
String StringName
= ”ข้อความ” ;
โดยที่ StringName คือ ชื่อของตัวแปรประเภท
String เช่น
String s1
= "Hello WebThaiDD" ;
ผมขอยกตัวอย่างสั้นๆ ให้ดูนะครับไม่เขียนเป็นโปรแกรม
จะเห็นว่าตัวแปร s1 ถูกประกาศเป็นตัวแปร String พร้อมกับเก็บข้อความว่า"Hello
WebThaiDD" เข้าไปด้วยนะครับ เมื่อเรานำ s1 มาแสดงผลเราจะได้ข้อความดังกล่าวออกมาครับ
แบบที่ 2 มีรูปแบบดังนี้
String (char
chars[ ])
แบบนี้จะเป็นการสร้าง String โดยนำตัวแปรชนิด
char ที่เป็นอะเรย์มากำหนดให้กับ String Class เช่น
char s1[ ] = { ‘J’ , ’a’, ’v’, ’a’ } ;
String message = new String(s1) ;
แบบนี้มีการกำหนดตัวแปรอะเรย์ s1 เป็น char
แล้วเก็บคำว่า Java ไว้ใน s1 จากนั้นสร้าง object ชื่อ message จาก String Class
แล้วใส่ตัวแปร s1 ไว้ ในวงเล็บนะครับก็จะได้ว่าตัวแปร message นั้นเก็บคำว่า Java
ไว้เรียบร้อยแล้ว
***ข้อสังเกต
ให้ระลึกไว้เสมอนะครับว่า String สร้างมาจาก String Class
ดังนั้นตัวแปรที่ผมกล่าวถึงจะหมายถึง object นะครับ เช่น message
จากตัวอย่างนี้ก็เป็น object นะครับ ถ้าใครงงให้ย้อนไปบทความต้อนต้นๆ เลยครับไปดูการสร้าง
object ครับ
แบบที่ 3 เป็นการเก็บข้อมูลบางส่วนของ
Array ไว้ใน String
String (char
chars[ ],startindex,numchar)
โดย char chars[ ] = ตัวแปรอะเรย์ที่เป็นชนิด
char
startindex = ตัวกำหนดตำแหน่งเริ่มต้นใน Array ที่ต้องการเก็บตำแหน่ง
numchar = ตัวกำหนดจำนวนตัวอักษรที่ต้องมาเก็บไว้โดยนับจากตำแหน่งเริ่มต้น startindex

อธิบายโปรแกรม
จากโปรแกรมในบรรทัดที่ 7 จะมีการกำหนดอะเรย์ที่เก็บตัวอักษรไว้ 6 ตัวนะครับ บรรทัดที่
8 มีการสร้าง object ชื่อ message แล้วส่ง พารามิเตอร์ไป 3 ตัวตามรูปแบบที่กำหนดเข้าไปที่
String( ) (ในส่วนของ String( ) จะเรียกว่า Constructor นะครับ
ถ้าจำไม่ผิดผมเคยเกริ่นๆ ไปบ้างแล้วแต่ ผมบอกไว้ว่าให้ติมตามรายละเอียดในบทความช่วงหลังๆ
นะครับ ผมขอไม่กล่าวไว้ในที่นี้แล้วกันเอาเป็นว่าให้รับรู้ไว้ก่อนว่ามันเรียกว่า
Constructor) แล้วลองสัเกต output ที่ออกมานะครับมันจะเก็บเอาเฉพาะบางส่วนในอะเรย์
ch มาเก็บไว้ใน message ตามพารามิเตอร์ที่เรากำหนดไว้ ให้เราลองเปลี่ยนตัวเลขในวงเล็บดูแล้ว
ลองสังเกตเอาเองนะครับว่าเป็นอย่างไร
การเปรียบเทียบ String โดยใช้ equals(
)
equals( ) เป็น method ตัวนึงที่อยู่ใน
String Class โดยจะทำหน้าที่เปรียบเทียบ String 2 ชุดว่ามีสมาชิกหรือข้อความที่เหมือนกันหรือไม่
มีรูปแบบการใช้งานดังนี้
String1.equals(String2)
อธิบายโปรแกรม
จากโปรแกรมมีการกำหนดตัวแปร s1 และ s2 เป็น String โดยมีข้อความเหมือนกัน จากนั้นกำหนดเงื่อนไขของ
if ว่าให้นำ String ทั้ง 2 มา เปรียบเทียบกันว่าเหมือนกันหรือไม่ โดยใช้เงื่อนไข
s1.equals(s2) ถ้ามีข้อความเหมือนกันจริงก็จะ พิมพ์ข้อความ "s1 equals s2"
แต่ถ้าข้อความไม่เหมือนกันก็จะพิมพ์ข้อความ "s1 not equals s2" ออกมาแทน
ให้เราทดสอบ โดยการไปเปลี่ยนข้อความในตัวแปร s1 หรือ s2 ก็ได้นะครับ แค่เปลี่ยนตัวอักษรตัวเล็กเป็นตัวใหญ่ก็ถือว่าข้อความไม่เหมือนกัน
แล้วครับ
การเชื่อม String (Concatenation)
สามารถนำ String ตั้งแต่ 2 ตัวขึ้นไปมาเชื่อมต่อกันได้ โดยใช้เครื่องหมาย (+) มีรูปแบบดังนี้
String myString = ”ข้อความ1”+”ข้อความ2”+
”ข้อความ3” ;
หัวข้อนี้เราคงจะได้เคยใช้กันมาบ้างแล้วนะครับจากตัวอย่างในบทความอื่นๆ
ก็ไม่มีอะไรมากหรอกครับ เค้าบอกว่าถ้าเราต้องการนำ
ข้อความมาต่อกันหลายข้อความก็ให้ใช้เครื่องหมาย + มาคั่นเพื่อเชื่อมข้อความให้ต่อกันไปครับ
การเชื่อม String โดยใช้ concat(
)
method นี้จะใช้ในการเชื่อมต่อข้อความ ใช้งานเหมือนการใช่เครื่องหมาย + เลยครับ
มีรูปแบบ ดังนี้
String1.concat(String2)
เช่น
String s1 = "WebThaiDD" ;
String s2 = ".com" ;
String s3 = s1.concat(s2)
output ที่ได้จากตัวแปร s3 คือ "WebThaiDD.com"
การดึงข้อความบางส่วน (substring)
การใช้งานใน method นี้จะเป็นการดึงเอาเฉพาะข้อความบางส่วนใน String มาใช้ครับ
มีรูปแบบดังนี้
message.substring(n,m)
message คือ String Object (ตัวแปรชนิด String
นั่นแหละครับ เขียนให้ดูหรูไปงั้นแหละ)
substring คือ method
n คือ จุดเริ่มต้นของตำแหน่งตัวอักษรในข้อความ
m คือ จุดสุดท้ายของตำแหน่งตัวอักษรในข้อความ (แต่ที่ตำแหน่งนี้จะไม่เก็บตัวอักษรมานะครับจะเก็บถึงแค่ตัวก่อนหน้าเท่านั้น)

อธิบายโปรแกรม
จากโปรแกรมนะครับผมมีข้อความ "WebThaiDD.com"
เก็บไว้ในตัวแปร s1 แล้วผมต้องการดึงคำว่า "Thai" ออกมาจากข้อความดังกล่าว
ในบรรทัดที่ 8 ผมสร้างตัวแปร s2 ขึ้นมาแล้วนำ method ชื่อ substring มาใช้งาน ให้สังเกตพารา
มิเตอร์ในวงเล็บนะครับ (3,7) 3 คือตำแหน่งเริ่มต้นที่ผมจะเก็บ

ตัวอักษร W เป็นตำแหน่งที่ 0 ของข้อความจากนั้นนับไปจนถึงตำแหน่งที่
3 คือ ตัว T แล้วเริ่มเก็บที่ตำแหน่งนี้จนไปถึงตำแหน่งที่ 6 ครับโดยมันจะไม่เก็บตำแหน่งที่
7 สุดท้ายมานะครับอย่าสับสนนะครับ ตามที่ระบุในวงเล็บ (3,7) ก็จะได้คำว่า "Thai"
มาครับ method นี้มีประโยชน์นะครับ พยามยามใช้งานให้เป็นเพราะเราสามารถดึงข้อความบางส่วนออกมาใช้งานได้
เอาล่ะครับเริ่มเหนื่อยแล้วผม คนอ่านก็คงเหนื่อยไม่แพ้ผมใช่ไหมครับ
เพราะคราวนี้มี method มาให้ใช้งานหลายตัวเลยเอาเป็นว่า เดี๋ยวคนอ่านจะจดจำเยอะเกินไปผมก็ขอหยุดไว้แค่นี้ก่อน
แต่ยังไม่จบนะครับเพราะยังมี method เหลืออีกครับ สำหรับ String Class แต่ผมจะยกไปต่อภาค
2 ในบทความหน้าครับ ใครอยากดูตอนจบตามไปบทความหน้าเลยครับสำหรับบทความนี้ขอจบเพียงแค่นี้ครับ...

|