การควบคุมวัฏจักร
อาจมีสถานการณ์เมื่อเราต้องการเรียกใช้บล็อกของรหัสหลายครั้งซึ่งมักจะเรียกว่าลูป
Java มีกลไกสามวงที่ยืดหยุ่นมาก หนึ่งในสามลูปต่อไปนี้สามารถใช้:
ในฐานะของ Java 5 มีการแนะนำให้รู้จักกับลูป สิ่งนี้ใช้เป็นหลักสำหรับอาร์เรย์
ในขณะที่ลูป
ในขณะที่ลูปเป็นโครงสร้างควบคุมที่สามารถทำซ้ำจำนวนงานที่เฉพาะเจาะจง
ไวยากรณ์
ไวยากรณ์ของลูปในขณะที่:
ในขณะที่ (boolean_expression) {// คำสั่ง}ในการดำเนินการหากผลลัพธ์ของการแสดงออกของบูลีนเป็นจริงการกระทำในลูปจะถูกดำเนินการ ตราบใดที่ผลการแสดงออกเป็นจริงการดำเนินการจะดำเนินต่อไป
ที่นี่จุดสำคัญของลูปในขณะที่ลูปอาจไม่ทำงานตลอดไป เมื่อมีการทดสอบนิพจน์ผลลัพธ์เป็นเท็จร่างกายลูปจะถูกข้ามและคำสั่งแรกหลังจากที่ลูปจะถูกดำเนินการ
ตัวอย่าง
การทดสอบระดับสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง args []) {int x = 10; ในขณะที่ (x <20) {system.out.print ("ค่าของ x:" + x); x ++; System.out.print ("/n"); -สิ่งนี้จะให้ผลลัพธ์ต่อไปนี้:
ค่าของ x: 10 ค่าของ x: 11 ค่าของ x: 12 ค่าของ x: 13 ค่าของ x: 14 ค่าของ x: 15 ค่าของ x: 16 ค่าของ x: 17 ค่าของ x: 18 ค่าของ x: 19
ทำ ... ในขณะที่ลูป
ทำ ... ในขณะที่ลูปคล้ายกับลูปในขณะที่ยกเว้นว่าจะทำ ... ในขณะที่ลูปรับประกันว่าจะถูกดำเนินการอย่างน้อยหนึ่งครั้ง
ไวยากรณ์
ไวยากรณ์ของ A DO ... ในขณะที่ลูปคือ:
ทำ {// คำสั่ง} ในขณะที่ (boolean_expression);โปรดทราบว่านิพจน์บูลีนจะปรากฏขึ้นที่ส่วนท้ายของลูปดังนั้นคำสั่งในลูปจะทำการทดสอบบูลีนก่อนหน้า
หากนิพจน์บูลีนเป็นจริงกระแสการควบคุมจะกระโดดกลับและคำสั่งในลูปจะถูกดำเนินการอีกครั้ง กระบวนการนี้ทำซ้ำจนกว่านิพจน์บูลีนเป็นเท็จ
ตัวอย่าง
การทดสอบระดับสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง args []) {int x = 10; ทำ {system.out.print ("ค่าของ x:" + x); x ++; System.out.print ("/n"); } ในขณะที่ (x <20); -สิ่งนี้จะให้ผลลัพธ์ต่อไปนี้:
ค่าของ x: 10 ค่าของ x: 11 ค่าของ x: 12 ค่าของ x: 13 ค่าของ x: 14 ค่าของ x: 15 ค่าของ x: 16 ค่าของ x: 17 ค่าของ x: 18 ค่าของ x: 19
สำหรับลูป
For Loop เป็นโครงสร้างการควบคุมลูปที่สามารถเขียนลูปของจำนวนครั้งที่ต้องดำเนินการได้อย่างมีประสิทธิภาพ
เมื่อคุณรู้ว่าต้องทำซ้ำงานกี่ครั้ง A สำหรับลูปจะเป็นประโยชน์
ไวยากรณ์
ไวยากรณ์ของ A for loop คือ:
สำหรับ (การเริ่มต้น; boolean_expression; update) {// คำสั่ง}ต่อไปนี้เป็นกระบวนการควบคุมของ A for loop:
ขั้นตอนการเริ่มต้นจะดำเนินการก่อนและเพียงครั้งเดียว ขั้นตอนนี้ประกาศและเริ่มต้นตัวแปรควบคุมลูปใด ๆ ไม่จำเป็นต้องมีการประกาศที่นี่เพียงแค่เซมิโคลอนต้องปรากฏขึ้น
ถัดไปการแสดงออกของบูลีนจะประเมิน ถ้าเป็นจริงร่างกายลูปจะถูกดำเนินการ หากเป็นเท็จร่างกายลูปจะไม่ถูกดำเนินการและการควบคุมกระบวนการจะข้ามไปยังคำสั่งถัดไปที่ผ่านการวนรอบ
หลังจากนั้นเมื่อมีการดำเนินการของลูปสำหรับลูปกระบวนการควบคุมจะเพิ่มขึ้นเพื่อสำรองข้อมูลไปยังคำสั่ง UPDATE คำสั่งนี้อนุญาตให้อัปเดตตัวแปรควบคุมลูปใด ๆ คำสั่งนี้สามารถว่างเปล่าได้ตราบใดที่อัฒภาคปรากฏขึ้นหลังจากการแสดงออกของบูลีน
ตอนนี้นิพจน์บูลีนประเมินการคำนวณอีกครั้ง หากเป็นจริงลูปจะดำเนินการและทำซ้ำกระบวนการ (ลูปร่างกายจากนั้นอัปเดตขั้นตอนจากนั้นนิพจน์บูลีน) หลังจากนั้นนิพจน์บูลีนเป็นเท็จลูปจะสิ้นสุดลง
ตัวอย่าง
การทดสอบระดับสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง args []) {สำหรับ (int x = 10; x <20; x = x + 1) {system.out.print ("ค่า x:" + x); System.out.print ("/n"); -สิ่งนี้จะให้ผลลัพธ์ต่อไปนี้:
ค่าของ x: 10 ค่าของ x: 11 ค่าของ x: 12 ค่าของ x: 13 ค่าของ x: 14 ค่าของ x: 15 ค่าของ x: 16 ค่าของ x: 17 ค่าของ x: 18 ค่าของ x: 19
คุณสมบัติใหม่สำหรับลูปใน Java
ในฐานะของ Java 5 มีการแนะนำให้รู้จักกับลูป สิ่งนี้ใช้เป็นหลักสำหรับอาร์เรย์
ไวยากรณ์
ไวยากรณ์สำหรับการปรับปรุงสำหรับลูปคือ:
สำหรับ (การประกาศ: นิพจน์) {// คำสั่ง}การประกาศ: ใหม่ประกาศตัวแปรบล็อกซึ่งเป็นตัวแปรที่เข้ากันได้กับองค์ประกอบในอาร์เรย์ที่คุณเข้าถึง ตัวแปรสามารถใช้ภายในบล็อกสำหรับสำหรับบล็อกและค่าของมันเป็นองค์ประกอบอาร์เรย์ปัจจุบันจะเหมือนกัน
นิพจน์: ผลการคำนวณนี้ต้องการอาร์เรย์ลูปที่จะเสร็จสมบูรณ์ นิพจน์สามารถเป็นตัวแปรอาร์เรย์หรือการเรียกใช้วิธีที่ส่งคืนอาร์เรย์
ตัวอย่าง
การทดสอบระดับสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง args []) {int [] numbers = {10, 20, 30, 40, 50}; สำหรับ (int x: ตัวเลข) {system.out.print (x); System.out.print (","); } system.out.print ("/n"); String [] names = {"James", "Larry", "Tom", "Lacy"}; สำหรับ (ชื่อสตริง: ชื่อ) {system.out.print (ชื่อ); System.out.print (","); }}}สิ่งนี้จะให้ผลลัพธ์ต่อไปนี้:
10, 20, 30, 40, 50, James, Larry, Tom, Lacy,
ทำลายคำหลัก
การแบ่งคำหลักใช้เพื่อหยุดการวนซ้ำทั้งหมด ต้องใช้คีย์เวิร์ด BREAK ในลูปใด ๆ หรือในคำสั่งสวิตช์
การแบ่งคำหลักจะหยุดการดำเนินการของลูปด้านในสุดและเริ่มเรียกใช้รหัสบรรทัดถัดไปหลังจากบล็อก
ไวยากรณ์
BREAK SYNTAX เป็นคำสั่งแยกต่างหากในลูปใด ๆ :
คัดลอกรหัสดังนี้: BREAK
ตัวอย่าง
การทดสอบระดับสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง args []) {int [] numbers = {10, 20, 30, 40, 50}; สำหรับ (int x: ตัวเลข) {ถ้า (x == 30) {break; } system.out.print (x); System.out.print ("/n"); -สิ่งนี้จะให้ผลลัพธ์ต่อไปนี้:
1020
ดำเนินการต่อคำหลัก
คำหลักดำเนินการต่อสามารถใช้ในโครงสร้างการควบคุมของลิงก์ใด ๆ มันทำให้ลูปกระโดดไปยังการวนซ้ำครั้งต่อไปของลูป
ใน A for loop คำหลักดำเนินการต่อจะทำให้กระแสควบคุมข้ามไปยังคำสั่ง UPDATE ทันที
ในช่วงเวลาหนึ่งลูปหรือทำ/ในขณะลูปการควบคุมการไหลจะกระโดดไปที่การแสดงออกของบูลีนทันที
ไวยากรณ์
ไวยากรณ์ดำเนินการต่อเป็นคำสั่งแยกต่างหากในลูปใด ๆ :
คัดลอกรหัสดังนี้: ดำเนินการต่อ
ตัวอย่าง
โมฆะคงที่สาธารณะหลัก (สตริง args []) {int [] numbers = {10, 20, 30, 40, 50}; สำหรับ (int x: ตัวเลข) {ถ้า (x == 30) {ดำเนินการต่อ; } system.out.print (x); System.out.print ("/n"); -สิ่งนี้จะให้ผลลัพธ์ต่อไปนี้:
10204050
การตัดสินตามเงื่อนไข
มีคำสั่งตัดสินตามเงื่อนไขสองประเภทใน Java ซึ่งก็คือ:
หากคำสั่ง:
คำสั่ง IF ประกอบด้วยการแสดงออกของบูลีนตามด้วยหนึ่งหรือมากกว่าหนึ่งข้อความ
ไวยากรณ์
ไวยากรณ์ของคำสั่ง IF คือ:
if (boolean_expression) {// คำสั่งจะดำเนินการหากนิพจน์บูลีนเป็นจริง}หากค่าของนิพจน์บูลีนเป็นจริงบล็อกถ้าคำสั่งในรหัสจะถูกดำเนินการ หากไม่เป็นความจริงชุดแรกของรหัสหลังจากสิ้นสุดคำสั่ง IF (หลังการจัดฟัน) จะถูกดำเนินการ
ตัวอย่าง
การทดสอบระดับสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง args []) {int x = 10; if (x <20) {system.out.print ("นี่คือถ้าคำสั่ง"); -สิ่งนี้จะให้ผลลัพธ์ต่อไปนี้:
นี่คือถ้าคำสั่ง
ถ้า ... คำสั่งอื่น
คำสั่งใด ๆ ถ้าสามารถตามด้วยคำสั่งเลือกอื่น เมื่อนิพจน์บูลีนเป็นเท็จคำสั่งจะถูกดำเนินการ
ไวยากรณ์
ไวยากรณ์ของถ้า ... อื่นคือ:
if (boolean_expression) {// ดำเนินการเมื่อนิพจน์บูลีนเป็นจริง} else {// ดำเนินการเมื่อนิพจน์บูลีนเป็นเท็จ}ตัวอย่าง
การทดสอบระดับสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง args []) {int x = 30; if (x <20) {system.out.print ("นี่คือถ้าคำสั่ง"); } else {system.out.print ("นี่คือคำสั่งอื่น"); -สิ่งนี้จะให้ผลลัพธ์ต่อไปนี้:
นี่คือคำสั่งอื่น
ถ้า ... อื่นถ้า ... คำสั่งอื่น
ถ้าสามารถตามด้วยคำสั่งอื่น ๆ ถ้า ... คำสั่งอื่น มันมีประโยชน์มากในการทดสอบคำสั่ง IF เดียวและอื่น ๆ หากคำสั่งภายใต้เงื่อนไขที่แตกต่างกัน
มีบางจุดที่ควรคำนึงถึงเมื่อใช้ถ้าอื่นถ้ามีคำสั่งอื่น
ไวยากรณ์
ไวยากรณ์ของถ้า ... อื่นคือ:
if (boolean_expression 1) {// ดำเนินการเมื่อนิพจน์บูลีน 1 เป็นจริง} อื่นถ้า (boolean_expression 2) {// ดำเนินการเมื่อนิพจน์บูลีน 2 เป็นจริง} อื่นถ้า (boolean_expression 3) {// ดำเนินการตัวอย่าง
การทดสอบระดับสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง args []) {int x = 30; if (x == 10) {system.out.print ("ค่าของ x คือ 10"); } อื่นถ้า (x == 20) {system.out.print ("ค่าของ x คือ 20"); } อื่นถ้า (x == 30) {system.out.print ("ค่าของ x คือ 30"); } else {system.out.print ("นี่คือคำสั่งอื่น"); -สิ่งนี้จะให้ผลลัพธ์ต่อไปนี้:
มูลค่าของ x คือ 30
ซ้อนถ้า ... คำสั่งอื่น
มันเป็นคำสั่ง IF-ELSE ที่ซ้อนกันอยู่เสมอซึ่งหมายความว่าคุณสามารถใช้คำสั่ง IF หรืออื่น ๆ ในคำสั่งอื่นถ้าหรืออื่น ๆ ถ้าคำสั่ง
ไวยากรณ์
ไวยากรณ์ของซ้อนถ้า ... มีดังนี้:
if (boolean_expression 1) {// ดำเนินการเมื่อนิพจน์บูลีน 1 เป็นจริงถ้า (boolean_expression 2) {// ดำเนินการเมื่อนิพจน์บูลีน 2 เป็นจริง}}เนื่องจากเราซ้อนกันถ้างบเราจึงสามารถทำรังได้ถ้า ... อื่น ๆ ในทำนองเดียวกัน
ตัวอย่าง
การทดสอบระดับสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง args []) {int x = 30; int y = 10; if (x == 30) {ถ้า (y == 10) {system.out.print ("x = 30 และ y = 10"); -สิ่งนี้จะให้ผลลัพธ์ต่อไปนี้:
x = 30 และ y = 10
คำสั่งเปลี่ยน
คำสั่งสวิตช์อนุญาตให้ตัวแปรทดสอบชุดของความเท่าเทียมกันของมูลค่า แต่ละค่าเรียกว่าเคสและตัวแปรที่เริ่มต้นจะถูกตรวจสอบสำหรับแต่ละกรณี
ไวยากรณ์
ไวยากรณ์สำหรับการปรับปรุงสำหรับลูปคือ:
สวิตช์ (นิพจน์) {ค่ากรณี: // คำสั่งแตก; // ค่าตัวเลือกกรณี: // คำสั่ง break; // เป็นทางเลือก // คุณสามารถมีจำนวนคำสั่งกรณีใด ๆ ค่าเริ่มต้น: // ตัวเลือก // คำสั่ง}กฎต่อไปนี้ใช้กับคำสั่งสลับ:
ตัวอย่าง
การทดสอบระดับสาธารณะ {โมฆะคงที่สาธารณะหลัก (String args []) {// char grade = args [0] .charat (0); เกรดถ่าน = 'C'; สวิตช์ (เกรด) {case 'a': system.out.println ("ยอดเยี่ยม!"); หยุดพัก; กรณี 'b': กรณี 'c': system.out.println ("ทำได้ดี"); หยุดพัก; กรณี 'd': system.out.println ("คุณผ่าน"); กรณี 'f': system.out.println ("ลองอีกครั้งดีกว่า"); หยุดพัก; ค่าเริ่มต้น: system.out.println ("เกรดไม่ถูกต้อง"); } system.out.println ("เกรดของคุณคือ" + เกรด); -รวบรวมและเรียกใช้โปรแกรมด้านบนที่ใช้พารามิเตอร์บรรทัดคำสั่งต่างๆ สิ่งนี้จะให้ผลลัพธ์ต่อไปนี้:
$ java testwell ทำเกรดของคุณคือ C