วงจรคืออะไร
โปรแกรมที่เขียนด้วยภาษา Java ประกอบด้วยโค้ดเฉพาะ โดยปกติจะดำเนินการตามลำดับ: ทีละบรรทัดจากบนลงล่าง แต่ก็มีโครงสร้างโค้ดที่เปลี่ยนการดำเนินการเชิงเส้นของโปรแกรมด้วย พวกเขาเรียกว่าโครงสร้างการควบคุม .-
เงื่อนไขเบื้องต้นของลูป:เงื่อนไขการดำเนินการจะถูกกำหนดก่อนการวนซ้ำครั้งแรก
-
ลูปที่มีเงื่อนไขภายหลัง:เงื่อนไขการดำเนินการจะถูกกำหนดหลังจากการวนซ้ำครั้งแรก (ดังนั้นจึงมีการดำเนินการอย่างน้อยหนึ่งครั้งเสมอ) มีประโยชน์เมื่อคุณต้องการดำเนินการบางอย่างจนกว่าจะบรรลุเงื่อนไขบางอย่าง เช่น อ่านอินพุตของผู้ใช้จนกว่าเขาจะป้อนคำว่า "หยุด"
-
ตัวนับลูป:จำนวนการวนซ้ำถูกกำหนดโดยตัวนับจำลอง เงื่อนไขการวนซ้ำระบุค่าเริ่มต้นและค่าสุดท้าย การวนซ้ำแต่ละครั้งตัวนับจะเพิ่มขึ้น เราสามารถกำหนดจำนวนการวนซ้ำล่วงหน้าได้
ลูปเหล่านี้มีประโยชน์เมื่อคุณต้องการวนซ้ำองค์ประกอบทั้งหมดในคอลเลกชัน ลูปที่มีตัวนับเรียกว่า "ลูปสำหรับ..." “สำหรับแต่ละองค์ประกอบของคอลเลกชันใดคอลเลกชันหนึ่ง ให้ดำเนินการดังต่อไปนี้”
มีหลายกรณีที่การดำเนินการของลูปสามารถถูกขัดจังหวะก่อนที่จะถึงเงื่อนไข ตัวอย่างเช่น หากเรามีชุดตัวเลข 100 ชุด และเราต้องเข้าใจว่าชุดนั้นมีจำนวนลบหรือไม่ เราสามารถเริ่มวนซ้ำตัวเลขทั้งหมดโดยใช้ for loop แต่เมื่อเราพบจำนวนลบตัวแรกแล้ว เราก็ไม่ต้องผ่านจำนวนที่เหลือ เราสามารถขัดจังหวะการดำเนินการของลูปได้หากการดำเนินการต่อไปไม่สมเหตุสมผล สถานการณ์ดังกล่าวเรียกว่าการหยุดชะงักของวงจร
-
การวนซ้ำแบบไม่มีเงื่อนไขคือการวนซ้ำที่ไม่มีที่สิ้นสุด ตัวอย่างเช่น: “ในขณะที่ 1=1 ให้พิมพ์ “1=1”” โปรแกรมดังกล่าวจะทำงานจนกว่าจะถูกขัดจังหวะด้วยตนเอง
ลูปเหล่านี้ยังมีประโยชน์เมื่อใช้ร่วมกับการขัดจังหวะลูปจากภายใน ใช้อย่างระมัดระวังเพื่อไม่ให้โปรแกรมค้าง
คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับลูปในภาษาการเขียนโปรแกรม Java ได้ที่ระดับ 4 ของหลักสูตร JavaRush โดยเฉพาะกับ while และ for loop
ลูปใน Java
ตอนนี้เรามาดูลูปใน Java กัน มีหลายประเภทในภาษานี้:while
— วนซ้ำโดยมีเงื่อนไขเบื้องต้นdo..while
— วงจรที่มีสภาวะหลัง;for
— วนซ้ำด้วยตัวนับ (วนซ้ำสำหรับ)for each..
— ลูป “สำหรับแต่ละ…” — ประเภทของ for สำหรับการวนซ้ำผ่านคอลเลกชันขององค์ประกอบ
while
และสามารถใช้เป็นลูปแบบไม่มีเงื่อนไขdo.. while
ได้ for
คุณสามารถเปรียบเทียบไวยากรณ์ของลูปในภาษาการเขียนโปรแกรมต่างๆ ได้ที่ระดับที่สี่ของการฝึกอบรมในหลักสูตร JavaRush ตัวอย่างเช่น for และ while ลูป ให้เราพิจารณาแต่ละประเภทที่นำเสนอโดยย่อ
ในขณะที่วนซ้ำ
ลูปนี้ใน Java มีลักษณะดังนี้:while (expression) {
statement(s)
}
ที่นี่:
expression
— เงื่อนไขการวนซ้ำ นิพจน์ที่ควรส่งคืนboolean
ค่าstatement(s)
— เนื้อหาวนซ้ำ (โค้ดหนึ่งบรรทัดขึ้นไป)
expression
ก่อนการวนซ้ำ แต่ละครั้ง จะมีการคำนวณค่าของนิพจน์ หากผลลัพธ์ของนิพจน์เป็นจริงเนื้อความของลูปจะถูกดำเนินstatement(s)
การ ตัวอย่าง:
public class WhileExample {
public static void main(String[] args) {
int countDown = 10;
while (countDown >= 0) {
System.out.println("До старта: " + countDown);
countDown --;
}
System.out.println("Поехали !");
}
}
บทสรุป:
До старта: 10
До старта: 9
До старта: 8
До старта: 7
До старта: 6
До старта: 5
До старта: 4
До старта: 3
До старта: 2
До старта: 1
До старта: 0
Поехали !
การใช้while
คุณสามารถสร้างวงวนไม่สิ้นสุดได้:
while (true) {
// тело цикла
}
break
ในการขัดจังหวะการ ทำงาน ของลูป จะใช้โอเปอเรเตอร์ ตัวอย่างเช่น:
public class WhileExample {
public static void main(String[] args) {
int count = 1;
while (true) {
System.out.println("Строка №" + count);
if (count > 3) {
break;
}
count++; // Без наращивания цикл будет выполняться вечно
}
}
}
บทสรุป:
Строка №1
Строка №2
Строка №3
Строка №4
คุณสามารถฝึกเขียนลูปของคุณเองได้ที่ระดับ 4 ของหลักสูตร JavaRush
ทำ..ในขณะที่วนซ้ำ
โครงสร้างdo.. while
มีลักษณะดังนี้:
do {
statement(s)
} while (expression);
ที่นี่:
expression
— เงื่อนไขการวนซ้ำ นิพจน์ที่ควรส่งคืนboolean
ค่าstatement(s)
— เนื้อหาวนซ้ำ (โค้ดหนึ่งบรรทัดขึ้นไป)
while
ค่าของนิพจน์จะถูกประเมินหลังจากการวนซ้ำแต่ละครั้ง หากผลลัพธ์ของนิพจน์เป็นจริงเนื้อความของลูปจะถูกดำเนินการอีกครั้งstatement(s)
(อย่างน้อยหนึ่งครั้ง) ตัวอย่าง:
public class DoWhileExample {
public static void main(String[] args) {
int count = 1;
do {
System.out.println("count = " + count);
count ++;
} while (count < 11);
}
}
บทสรุป:
count = 1
count = 2
count = 3
count = 4
count = 5
count = 6
count = 7
count = 8
count = 9
count = 10
สำหรับวง
Java loop นี้มีลักษณะดังนี้:for (initialization; termination; increment) {
statement(s)
}
ที่นี่:
initialization
— นิพจน์ที่เริ่มต้นการดำเนินการของลูป ดำเนินการเพียงครั้งเดียวที่จุดเริ่มต้นของลูป ส่วนใหญ่แล้ว นิพจน์นี้จะเริ่มต้นตัวนับลูปtermination
—boolean
นิพจน์ที่ควบคุมจุดสิ้นสุดของลูป หากผลลัพธ์ของนิพจน์เป็นfalseการวนซ้ำfor
จะขาดincrement
— นิพจน์ที่ดำเนินการหลังจากการวนซ้ำแต่ละครั้ง ส่วนใหญ่แล้ว นิพจน์นี้เกี่ยวข้องกับการเพิ่มหรือลดตัวแปรตัวนับstatement(s)
- เนื้อความของวงจร
initialization
, termination
เป็นincrement
ทางเลือก หากละเว้นแต่ละรายการ เราจะได้วงวนไม่สิ้นสุด:
// бесконечный цикл
for ( ; ; ) {
// code тела цикла
}
ตัวอย่างวงfor
:
public class ForExample {
public static void main(String[] args) {
for (int i = 1; i < 6; i++) {
System.out.println("Строка №" + i);
}
}
}
บทสรุป:
Строка №1
Строка №2
Строка №3
Строка №4
Строка №5
เวิร์กช็อปเกี่ยวกับ for loop นำเสนอที่ระดับ 4 ของหลักสูตร JavaRush
วนซ้ำสำหรับแต่ละ
Java loop นี้เป็นประเภทของลูปfor
สำหรับการวนซ้ำคอลเลกชันและอาร์เรย์ โครงสร้างfor each
มีลักษณะดังนี้:
for (Type var : vars) {
statement(s)
}
ที่นี่:
vars
- ตัวแปร รายการหรืออาร์เรย์ที่มีอยู่Type var
— การกำหนดตัวแปรใหม่ประเภทเดียวกัน (Type
) เป็นคอลเลกvars
ชัน
public class ForExample {
public static void main(String[] args) {
String[] daysOfWeek =
{ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" };
for (String dayOfWeek : daysOfWeek) {
System.out.println(dayOfWeek);
}
}
}
มีการศึกษาลูป Java ในหลักสูตร JavaRush ที่ระดับที่สี่ของภารกิจ Java Syntax ลองใช้วิธีแก้ปัญหาในหัวข้อนี้ :) 
GO TO FULL VERSION