วันพฤหัสบดีที่ 9 มิถุนายน พ.ศ. 2559

เริ่มต้นใช้งานอาดุยโน่ : บทที่ 9 String


String หรือ สตริง  เราสามารถมองเป็นชนิดของตัวแปรชนิดหนึ่งก็ได้ ซึ่งเจ้าตัวแปรสตริงนี้ จะไม่เหมือนกับตัวแปรชนิดอื่น เพราะมันมีหน้าที่เก็บข้อความ และจัดการกับข้อความ

การประกาศ

String a; //ไม่ควร
String b = "";//ควรใช้แบบนี้ เมื่อไม่มีค่าตั้งต้น
String c = "Hello";//มีค่าตั้งต้น

a , b , c และ "Hello" คือสตริง
a , b , c เรียกว่า ตัวแปรสตริง
"" หรือ "Hello" เรียกว่าค่าคงที่สตริง

สามารถประกาศโดยใส่ค่าหรือไม่ใส่ค่าก็ได้ โดยค่าจะใส่จะต้องเป็นข้อความที่อยู่ในเครื่องหมาย ""
ใช้หลักการตั้งชื่อเหมือนกับตัวแปร และมีการใช้อักขระหลีก


ตัวอย่างการใช้งาน


จะเห็นว่า ตัวแปร สตริง สามารถใช้แทนช้อความได้เลย

การกำหนดค่า

สามารถกำหนดค่าใหม่ได้ในลักษณะเดียวกับตัวแปร
กำหนดค่าตัวแปรสตริง ด้วยค่าคงที่

การกำหนดค่าตัวแปรสตริง ตัวตัวแปรสตริง

จะเห็นว่า ข้อความของสตริงได้เปลี่ยนไปแล้ว  สำหรับการกำหนดค่าสตริง จะต้องกำหนดด้วยประเภทสตริงเท่านั้น  และไม่ควรประกาศแบบไม่กำหนดค่า ให้กำหนดเป็น ""  แทน



สำหรับการดำเนินการกับสตริง สามารถทำได้แค่การบวกเท่านั้น


การบวกกันของสตริงกับสตริง


การบวกกันของตัวแปรสตริง และตัวแปรสตริง

การบวกกันของสตริง กับค่าคงที่สตริง


จะเห็นว่า ข้อความนั้นต่อกันตามลำดับ สามารถบวกกันได้มากกว่าสองลำดับ

การบวกกันของสตริงกับตัวอักษร

สามารถนำตัวแปรประเภท char ต่อเข้าไปได้
การบวกกันของตัวแปรสตริงและค่าคงที่ตัวอักษร

การบวกกันของตัวแปรตัวอักษร และตัวแปรสตริง


ข้อควรระวัง 

  - ไม่สามารถบวกค่าคงที่สตริง กับ ตัวอักษรได้ 

  - ไม่ควรบวกตัวอักษรมากกว่า 1 ตัวต่อครั้ง เพราะการบวกกันระหว่างตัวอักษรจะเป็นการบวกเชิงคณิตศาสตร์



การเปรียบเทียบสตริง
String นั้น ไม่สามารถเปรียบเทียบโดยใช้เครื่องหมาย == ได้ เพราะเอาไว้ใช้ทางคณิตศาสตร์เท่านั้น   แต่จะสามารถทำได้โดยใช้  string.equals(string2) จะให้ผลเป็น true , false ดังตัวอย่าง

จะเห็นว่าสามารถเปรียบเทียบระหว่างสตริงกับสตริง และสตริงกับค่าคงที่

การแปลงข้อมูลชนิดอื่นเป็น String
สามารถทำได้โดยใช้ฟังก์ชั่น String()  คือการแปลงข้อมูลชนิดอื่นให้อยู่ในรูปสตริง โดยใส่ค่าไว้ในวงเล็บตามตัวอย่าง



จะคล้ายๆกับ Serial.print โดยเฉพาะคำสั่งจำนวนทศนิยมของ float


การหาความยาวของข้อมูล String

สามารถทำได้ โดยการพิม .length()  ต่อท้ายชื่อตัวแปร  จะได้เป็นความยาวของข้อมูลดังตัวอย่าง




การอ่านค่าตัวอักษรใน String

สามารถทำได้ โดยการพิม .charAt(n)  ต่อท้ายชื่อตัวแปร  จะได้ค่าตัวแปร char ที่อยู่ตำแหน่ง n ของตัวแปร  โดยตำแหน่งนั้นจะเริ่มนับจาก 0(ตัวแรก) ไปถึง ความยาวของ String - 1 (ตัวสุดท้าย)

จะเห็นว่าเราสามารถดีงค่าตัวอักษรที่ตำแหน่งใดใด ของ String ออกมาได้

ข้อควรระวัง
ตำแหน่งที่อ่าน จะต้องไม่ติดลบ และน้อยกว่าความยาวของ String เสมอ


การประมวลผล String
คือการดำเนินการบางอย่างที่ทำให้ String เปลี่ยนไป ซึ่งโดยปกติ เราไม่สามารถลบสตริงออกได้ ดังนั้นเราจึงต้องสร้างสตริงใหม่ขึ้นมาแล้วใช้ chatAt เลือกตัวอักษรที่ต้องการมาใส่สตริงที่เราสร้างขึ้นมาใหม่  สามารถทำได้หลายรูปแบบ และหลายวิธีการ  โดยเราจะยกตัวอย่างเบื้องต้น ให้เห็นตัวอย่างวิธีการ
   การเลือกข้อความบางส่วน

โดยการใช้ for ในการรันเลขในช่วงที่ต้องการ แล้วใช้ charAt บวกตัวอักษรเข้ากับสตริง "" ไปเรื่อยๆ จนจบ จะได้ข้อความที่อยู่ในช่วงที่ต้องการ
       จะเห็นว่าข้อความเดิมคือ "Dog,Cat,Rat,Bird"  เราเลือกเอาเฉพาะข้อความตั้งแต่ตัวที่ 4 ถึงตัวที่ 10 จะได้ข้อความ "Cat,Rat"

การตัดข้อความออกบางส่วน

โดยการใช้ for ในการรันเลขในช่วงความยาวของสตริง  แล้วใช้ charAt บวกตัวอักษรเข้ากับสตริง "" ไปเรื่อย ๆ   จากนั้น เมื่อตัวเลขที่รัน มาถึงจุดเริ่มต้นของช่วงที่ต้องการตัด จะกำหนดให้ตัวเลขที่รันมีค่าเท่ากับจุดสุดท้าย + 1 เพื่อข้ามการรันเลขในส่วนที่เราไม่ต้องการ จากนั้นเมื่อ for รันเลขต่อไปจนจบ เราจะได้ข้อความที่สมบูรณ์ โดยตัดส่วนที่ไม่ต้องการออก


การแทรกข้อความ

โดยการใช้ for ในการรันเลขในช่วงความยาวของสตริงหลัก  แล้วใช้ charAt บวกตัวอักษรในสตริงหลัก เข้ากับสตริง process เมื่อถึงจุดที่ต้องการเติม จะรันเลขในช่วงความยาวของสตริงที่ต้องการเพิ่มด้วย for อีกตัว  แล้วใช้ charAt บวกตัวอักษรในสตริงที่ต้องการเพิ่มเข้าไปใน process (ระวังการใช้ชื่อตัวแปร จะต้องใช้ต่างกันใน for ทั้งสองตัว)


การเปลี่ยนตัวอักษร
โดยการใช้ for ในการรันเลขในช่วงความยาวของสตริงหลัก เมื่อตัวอักษรในตำแหน่งที่กำลังรัน มีค่าเท่ากับตัวที่เราต้องการ ( ',' ) จะใส่ตัวอักษร '\t' เข้าไปแทน


ไม่มีความคิดเห็น:

แสดงความคิดเห็น