อักขระ
โดยทั่วไปเมื่อเราประมวลผลอักขระเราใช้ถ่านชนิดข้อมูลดั้งเดิม
ตัวอย่าง
ถ่าน ch = 'a'; // unicode สำหรับตัวพิมพ์ใหญ่กรีก omega ตัวละคร unichar = '/u039a'; // อาร์เรย์ของ Charschar [] chararray = {'a', 'b', 'c', 'd', 'e'};อย่างไรก็ตามในการพัฒนาเราจะพบกับสถานการณ์ที่เราจำเป็นต้องใช้วัตถุแทนชนิดข้อมูลดั้งเดิม เพื่อตอบสนองความต้องการนี้ Java มีอักขระคลาส wrapper สำหรับตัวพิมพ์ข้อมูลชนิดดั้งเดิม
คลาสอักขระมีชุดของคลาสที่มีประโยชน์ (ตัวอย่างเช่น: คลาสคงที่) คุณสามารถสร้างวัตถุตัวละครด้วยความช่วยเหลือของตัวสร้างตัวละคร
อักขระ ch = ตัวละครใหม่ ('a');คอมไพเลอร์ Java จะสามารถสร้างวัตถุตัวละครให้คุณได้ในบางกรณี ตัวอย่างเช่น: หากคุณถ่ายโอนถ่านดิบไปยังวิธีที่สามารถคาดหวังได้คอมไพเลอร์จะแปลงถ่านเป็นอักขระให้คุณโดยอัตโนมัติ หากการแปลงเกิดขึ้นในทิศทางตรงกันข้ามคุณสมบัตินี้เรียกว่าการบรรจุอัตโนมัติหรือการยกเลิกการกล่อง
ตัวอย่าง
// ที่นี่ตาม Char Primitive 'A' // ถูกบรรจุลงในวัตถุตัวละคร chcharacter ch = 'a'; // ที่นี่ primitive 'x' ถูกบรรจุไว้สำหรับการทดสอบวิธีการ // return unboxed ถึง char 'c'char c = test (' x '); ลำดับหลบหนี
ตัวละครที่มี backslash (/) ก่อนหน้านี้เป็นลำดับการหลบหนีและมีความหมายพิเศษสำหรับคอมไพเลอร์
การแบ่งบรรทัด (/n) มักจะใช้ในคำสั่ง system.out.println () และการแบ่งบรรทัดหลังจากพิมพ์สตริง
ตารางต่อไปนี้แสดงลำดับ Java Escape:
| ลำดับหลบหนี | อธิบาย |
|---|---|
| /t | แทรกฉลากในข้อความ |
| /B | ใส่ backspace ลงในข้อความ |
| /n | แทรกอักขระใหม่ลงในข้อความ |
| /r | แทรกการส่งคืนรถในข้อความ |
| /f | แทรกหน้าเปลี่ยนเป็นข้อความ |
| - | แทรกอักขระใบเสนอราคาเดียวลงในข้อความ |
| - | แทรกอักขระ backslash ลงในข้อความ |
ตัวอย่าง
หากคุณต้องการใส่คำพูดภายในคุณต้องใช้ลำดับหลบหนี /"อ้างภายใน:
การทดสอบระดับสาธารณะ {โมฆะคงที่สาธารณะหลัก (String args []) {system.out.println ("เธอพูด /" สวัสดี! /"กับฉัน"); -สิ่งนี้จะให้ผลลัพธ์ต่อไปนี้:
เธอพูดว่า "สวัสดี!" กับฉัน
วิธีการอักขระรายการต่อไปนี้เป็นวิธีตัวอย่างที่สำคัญที่ใช้คลาสย่อยทั้งหมดของคลาสอักขระ:
| SN | คำอธิบายวิธีการ |
|---|---|
| 1 | isletter () กำหนดค่าถ่านที่เฉพาะเจาะจงเป็นตัวอักษร |
| 2 | isdigit () กำหนดค่าถ่านเฉพาะคือตัวเลข |
| 3 | isWhitespace () กำหนดค่าถ่านที่เฉพาะเจาะจงเป็นพื้นที่ |
| 4 | isuppercase () กำหนดค่าถ่านที่เฉพาะ |
| 5 | Islowercase () กำหนดค่าถ่านที่เฉพาะเจาะจงเป็นตัวอักษรตัวพิมพ์เล็ก |
| 6 | touppercase () ส่งคืนรูปแบบการใช้อักษรตัวพิมพ์ใหญ่ของค่าอักขระที่ระบุ |
| 7 | TOLOWERCASE () ส่งคืนรูปแบบตัวพิมพ์เล็กของค่าอักขระที่ระบุ |
| 8 | TOSTRING () ส่งคืนวัตถุสตริงที่แสดงค่าอักขระที่ระบุนั่นคือสตริงอักขระ |
สาย
สตริงซึ่งใช้กันอย่างแพร่หลายในการเขียนโปรแกรม Java เป็นลำดับของอักขระ ในภาษาการเขียนโปรแกรม Java สตริงเป็นวัตถุ
แพลตฟอร์ม Java จัดเตรียมคลาสสตริงเพื่อสร้างและจัดการสตริง
สร้างสตริง
วิธีที่ตรงที่สุดในการสร้างสตริงนั้นเขียนขึ้นเช่นนี้:
String Greeting = "Hello World!";
เมื่อคุณสร้างสตริงคอมไพเลอร์จะสร้างวัตถุสตริงที่มีค่าในกรณีนี้เช่น: "Hello World! '
วัตถุอื่น ๆ สามารถสร้างได้โดยใช้คำหลักใหม่และโดยตัวสร้าง คลาสสตริงมีตัวสร้าง 11 ตัวที่ให้ค่าเริ่มต้นโดยใช้สตริงประเภทต่าง ๆ เช่นอาร์เรย์ของอักขระ
Public Class StringDemo {โมฆะสาธารณะคงที่หลัก (String args []) {char [] helloarray = {'h', 'e', 'l', 'l', 'o', '.'}; สตริง helloString = สตริงใหม่ (helloarray); System.out.println (HelloString); -สิ่งนี้จะให้ผลลัพธ์ต่อไปนี้:
สวัสดี.
หมายเหตุคลาสสตริงไม่เปลี่ยนรูปดังนั้นเมื่อสร้างวัตถุสตริงแล้วจะไม่สามารถเปลี่ยนแปลงได้ หากคุณต้องการแก้ไขสตริงที่มีอักขระจำนวนมากคุณควรใช้คลาส StringBuffer & StringBuilder
ความยาวสตริง
วิธีที่ใช้ในการรับข้อมูลเกี่ยวกับวัตถุเรียกว่าวิธีการเข้าถึง วิธีการเข้าถึงหนึ่งวิธีที่สามารถใช้กับสตริงคือความยาว () ซึ่งส่งคืนจำนวนอักขระที่มีอยู่ในวัตถุสตริง
หลังจากดำเนินการรหัสสองบรรทัดต่อไปนี้ Len เท่ากับ 17:
คลาสสาธารณะ StringDemo {โมฆะคงที่สาธารณะหลัก (String args []) {String palindrome = "dot saw i คือ tod"; int len = palindrome.length (); System.out.println ("ความยาวสตริงคือ:" + len); -สิ่งนี้จะให้ผลลัพธ์ต่อไปนี้:
ความยาวสตริงคือ: 17
สตริงการเชื่อมต่อ
คลาสสตริงมีวิธีการสำหรับการเชื่อมต่อสองสาย:
String1.Concat (String2);
สิ่งนี้จะส่งคืนสตริงใหม่ซึ่งเพิ่ม String2 ที่ส่วนท้ายของ String1 นอกจากนี้คุณยังสามารถใช้วิธีการ concat () เพื่อเชื่อมต่อสตริงเช่น:
"ฉันชื่อ" .concat ("Zara");สตริงมักจะถูกรวมเข้ากับตัวดำเนินการ "+" เช่น::
"สวัสดี" + "โลก" + "!"
สิ่งนี้จะผลิต:
"สวัสดีโลก!"
ดูตัวอย่างต่อไปนี้:
คลาสสาธารณะ StringDemo {โมฆะคงที่สาธารณะหลัก (สตริง args []) {string string1 = "เห็นฉันคือ"; System.out.println ("dot" + string1 + "tod"); -สิ่งนี้จะให้ผลลัพธ์ต่อไปนี้:
ดอทเห็นว่าฉันเป็นท็อด
สร้างสตริงที่จัดรูปแบบ
มีวิธีการพิมพ์ () และรูปแบบ () ในการพิมพ์หมายเลขรูปแบบเอาต์พุต คลาสสตริงมีรูปแบบวิธีการที่เทียบเท่า () ซึ่งส่งคืนวัตถุสตริงแทนวัตถุ printstream
วิธีการแบบคงที่ () โดยใช้สตริงช่วยให้การสร้างสตริงที่จัดรูปแบบใหม่ได้แทนที่จะเป็นคำสั่งการพิมพ์ครั้งเดียว ตัวอย่างเช่นหากแทนที่จะใช้วิธีการต่อไปนี้:
System.out.printf ("ค่าของตัวแปรลอยคือ" + " %f ในขณะที่ค่าของจำนวนเต็ม" + "ตัวแปรคือ %d และสตริง" + "คือ %s", floatvar, intvar, stringvar);คุณสามารถเขียนด้วยวิธีนี้:
สตริง fs; fs = string.format ("ค่าของตัวแปรลอยคือ" + " %f ในขณะที่ค่าของจำนวนเต็ม" + "ตัวแปรคือ %d และสตริง" + "คือ %s", floatvar, intvar, stringvar); system.out.println (fs); วิธีการสตริง
นี่คือรายการของวิธีการที่สนับสนุนโดยคลาสสตริง:
| SN | วิธีการและคำอธิบาย |
|---|---|
| 1 | Char Charat (INT ดัชนี) ส่งคืนอักขระที่ดัชนีที่ระบุ |
| 2 | int compereto (Object O) เปรียบเทียบสตริงนี้กับวัตถุอื่น |
| 3 | int compereto (String anotherstring) เปรียบเทียบคำสั่งพจนานุกรมของสองสาย |
| 4 | int comperetoignorecase (String str) เปรียบเทียบสองสตริงตามลำดับพจนานุกรมความแตกต่างที่ไม่รู้สึกตัว |
| 5 | สตริง concat (string str) เชื่อมต่อสตริงที่ระบุไปยังจุดสิ้นสุดของสตริงนี้ |
| 6 | บูลีน contentequals (StringBuffer SB) ส่งคืนจริงถ้าและเฉพาะในกรณีที่สตริงแสดงลำดับอักขระเดียวกันกับ StringBuffer ที่ระบุ |
| 7 | String String copyValueOf (Char [] ข้อมูล) ส่งคืนสตริงที่แสดงลำดับของอักขระในอาร์เรย์ที่ระบุ |
| 8 | String String copyValueOf (char [] ข้อมูล, int offset, int count) ส่งคืนสตริงที่แสดงลำดับของอักขระในอาร์เรย์ที่ระบุ |
| 9 | บูลีน Endswith (สตริงต่อท้าย) ทดสอบว่าสตริงนี้จะจบลงด้วยคำต่อท้ายที่ระบุหรือไม่ |
| 10 | บูลีนเท่ากับ (Object Anobject) เปรียบเทียบสตริงนี้กับวัตถุที่ระบุ |
| 11 | บูลีน EqualSignorecase (String anotherstring) เปรียบเทียบสตริงนี้กับสตริงอื่นโดยไม่สนใจการพิจารณากรณี |
| 12 | BYTE GETBYTES () ถอดรหัสสตริงนี้โดยใช้ชุดอักขระเริ่มต้นของแพลตฟอร์มและจัดเก็บผลลัพธ์ไว้ในลำดับของไบต์ในอาร์เรย์ไบต์ใหม่ |
| 13 | ไบต์ [] getBytes (charsetName สตริง ถอดรหัสลำดับไบต์สตริงนี้โดยใช้ชุดอักขระที่ระบุและเก็บผลลัพธ์ไว้ในอาร์เรย์ไบต์ใหม่ |
| 14 | เป็นโมฆะ getchars (int srcbegin, int srpender, char [] dst, int dstbegin) คัดลอกอักขระจากสตริงนี้ไปยังอาร์เรย์อักขระเป้าหมาย |
| 15 | int hashcode () ส่งคืนรหัสแฮชสำหรับสตริงนี้ |
| 16 | INT INDEXOF (int CH) ส่งคืนดัชนีที่เกิดขึ้นครั้งแรกของอักขระที่ระบุในสตริงนี้ |
| 17 | INT INDEXOF (int ch, int fromindex) กลับไปที่การเกิดขึ้นครั้งแรกของอักขระที่ระบุในสตริงดัชนีและเริ่มค้นหาที่ดัชนีที่ระบุ |
| 18 | INT INDEXOF (String Str) ส่งคืนดัชนีที่เกิดขึ้นครั้งแรกของสตริงย่อยที่ระบุของสตริงนี้ |
| 19 | int indexof (string str, int fromindex) ส่งคืนดัชนีที่เกิดขึ้นครั้งแรกของสตริงย่อยที่ระบุในสตริงนี้โดยเริ่มจากดัชนีที่ระบุ |
| 20 | String Intern () ส่งคืนการเป็นตัวแทนปกติของวัตถุสตริง |
| ยี่สิบเอ็ด | int lastindexof (int ch) ส่งคืนดัชนีที่เกิดขึ้นครั้งสุดท้ายของอักขระที่ระบุของสตริงนี้คือ |
| ยี่สิบสอง | int lastindexof (int ch, int fromindex) ส่งคืนดัชนีเมื่อเกิดขึ้นครั้งสุดท้ายของอักขระที่ระบุของสตริงนี้โดยค้นหาย้อนหลังจากดัชนีที่ระบุ |
| ยี่สิบสาม | int lastindexof (String str) ส่งคืนดัชนีที่เกิดขึ้นขวาสุดของสตริงย่อยที่ระบุ |
| ยี่สิบสี่ | int lastindexof (String str, int fromindex) ส่งคืนการเกิดขึ้นครั้งสุดท้ายของสตริงย่อยที่ระบุในสตริงดัชนีและค้นหาย้อนหลังจากจุดเริ่มต้นของดัชนีที่ระบุ |
| 25 | ความยาว int () ส่งคืนความยาวของสตริงนี้ |
| 26 | การจับคู่บูลีน (String regex) กำหนดว่าสตริงนี้ตรงกับนิพจน์ทั่วไปที่กำหนดหรือไม่ |
| 27 | Boolean Regionmatches (Boolean ไม่รู้ชื่อ, int toffset, สตริงอื่น ๆ , int ooffset, int len) ทดสอบว่าภูมิภาคของสองสายเท่ากัน |
| 28 | Boolean regionmatches (int toffset, สตริงอื่น ๆ , int ooffset, int len) ทดสอบว่าสตริงทั้งสองเท่ากัน |
| 29 | สตริงแทนที่ (Char oldchar, Char Newchar) ส่งคืนการเปลี่ยน Newchar ของ oldchar ทั้งหมดที่เกิดขึ้นในสตริงนี้เพื่อสร้างสตริงใหม่ |
| 30 | String replaceall (string regex, การเปลี่ยนสตริง แทนที่แต่ละสตริงย่อยที่มีนิพจน์ทั่วไปในสตริงนี้ตรงกับการเปลี่ยนที่กำหนด |
| 31 | String OpplicFirst (string regex, การเปลี่ยนสตริง) แทนที่สตริงนี้ตรงกับนิพจน์ทั่วไปที่กำหนดให้แทนที่สตริงย่อยแรก |
| 32 | String [] split (string regex) แยกสตริงนี้ที่จับคู่รอบนิพจน์ทั่วไปที่กำหนด |
| 33 | String [] split (string regex, int limit) แยกสตริงนี้ที่จับคู่รอบนิพจน์ทั่วไปที่กำหนด |
| 34 | บูลีน startswith (คำนำหน้าสตริง) ทดสอบว่าสตริงนี้เริ่มต้นด้วยคำนำหน้าหรือไม่ |
| 35 | บูลีน startswith (คำนำหน้าสตริง, int toffset) ทดสอบว่าสตริงนี้เริ่มต้นด้วยคำนำหน้าที่ระบุซึ่งเริ่มต้นด้วยดัชนีที่ระบุหรือไม่ |
| 36 | Charsequence sequence (int beartindex, int endindex) ส่งคืนลำดับอักขระใหม่ซึ่งเป็นลำดับของลำดับนี้ |
| 37 | สตริงย่อย (int artialnindex) ส่งคืนสตริงใหม่ซึ่งเป็นสายย่อยของสตริงนี้ |
| 38 | สตริงย่อย (int beartindex, int endindex) ส่งคืนสตริงใหม่ซึ่งเป็นสายย่อยของสตริงนี้ |
| 39 | ถ่าน [] tochararray () สตริงนี้จะถูกแปลงเป็นอาร์เรย์อักขระใหม่ |
| 40 | สตริง toLowercase () ใช้อักขระทั้งหมดในสตริงนี้เพื่อลดกฎของตำแหน่งเริ่มต้น |
| 41 | String ToLowerCase (locale locale) ใช้อักขระทั้งหมดในสตริงนี้เพื่อลดกฎของสถานที่ที่กำหนด |
| 42 | สตริง toString () วัตถุนี้ (มันเป็นสตริงแล้ว!) ส่งคืนแบบฟอร์มสตริง (นี่คือตัวเอง) |
| 43 | สตริง touppercase () ใช้กฎของตำแหน่งเริ่มต้นเพื่อแปลงอักขระทั้งหมดในสตริงนี้เป็นตัวพิมพ์ใหญ่ |
| 44 | String Touppercase (locale locale) แปลงอักขระทั้งหมดในสตริงนี้เป็นตัวพิมพ์ใหญ่โดยใช้กฎสำหรับสถานที่ที่กำหนด |
| 45 | การตัดแต่งสตริง () ส่งคืนสำเนาของสตริงโดยมีช่องว่างที่จุดเริ่มต้นและสิ้นสุด |
| 46 | ค่าสตริงคงที่ (ประเภทข้อมูลดั้งเดิม x) ส่งคืนการแสดงสตริงของพารามิเตอร์ชนิดข้อมูลที่ผ่าน |