Jump Statement
ชัชวาล แผ่เรืองรัตน์ 650710536
What is Jump Statement
คือ คำสั่งที่ใช้ควบคุมลำดับการทำงานในการเขียนโปรแกรม โดยสามารถโอนย้ายการควบคุมนั้นไปยังส่วนอื่นของโค้ดได้ Jump Statement มีคำสั่งที่ใช้งานดังนี้ break
,continue
, return
, และ goto
แต่ละคำสั่งมีวัตถุประสงค์ที่ต่างกัน ดังนี้
Break
ยุติการทำลูปหรือออกจากคำสั่ง switch แล้วเปลี่ยนการควบคุมไปยังคำสั่งที่อยู่ถัดจากลูปหรือ switch block นั้นทันที
using System;
class Program{
static void Main()
{
for (int i = 1; i < 10; i++){
if (i == 9){
break;
}
Console.WriteLine($"Test {i} Completed");
}
}
}
คำสั่ง Break นั้นสามารถใช้ได้แค่ใน ลูป หรือ switch เท่านั้น ไม่เช่นนั้นจะเกิด error
Continue
ข้ามคำสั่งการทำงานที่เหลือของลูปในรอบนั้นทันทีและเริ่มทำงานรอบถัดไปของลูปนั้น
using System;
class Program{
static void Main()
{
for (int i = 0; i < 5; i++)
{
Console.Write($"Row {i}: ");
if (i < 3){
Console.WriteLine("Test");
continue;
}
Console.WriteLine("Continue");
}
}
}
เช่นเดียวกันกับ Break สามารถใช้ได้แค่ใน ลูป เท่านั้น
Return
ยุติการทำงานของฟังก์ชัน และเรียกคืนค่ากลับตามที่กำหนดไว้
using System;
class Program{
static int Sum(int a, int b){
return a + b;
}
static void Main()
{
Console.WriteLine($"Number after Sum : {Sum(55,12)}");
}
}
Goto
เปลี่ยนการควบคุมไปยังคำสั่งที่มีการกำกับไว้ภายในฟังก์ชันหรือบล็อกเดียวกันแบบไม่มีเงื่อนไข ถึงแม้ว่าจะมีประโยชน์ แต่อาจก่อให้เกิดปัญหาได้ นั่นคือ มีความซับซ้อนในการอ่านโค้ด และบำรุงรักษายาก
using System;
class Program{
static void Main() {
for(int i = 1; i <= 10; i++) {
if(i == 8) {
goto Exit;
}
Console.WriteLine($"Loop {i}");
}
Exit:
Console.WriteLine("No more Loop");
}
}
เปรียบเทียบกับภาษาอื่น
Java
ในส่วนของภาษา java นั้นจะไม่มี คำสั่ง goto แต่สามารถ ใช้ break เป็นเหมือน goto ในอีกรูปแบบนึงได้ แต่คำสั่งอื่นเช่น break continue return ยังคงมีเหมือนเดิม
และนี่คือตัวอย่างของ การใช้ break แทน goto
Syntax : break label;
import java.io.*;
class break_statement_goto
{
public static void main(String[] args)
{
label_1:
{
label_2:
{
label_3:
{
for(int i=0; i<100; i++)
{
System.out.println("i=" + i);
System.out.println("Inside Label_3");
if (i==3)
break label_3;
}
}
System.out.println("Inside Label_2");
}
System.out.println("Inside Label_1");
}
}
}
Python
ในภาษา Python นั้นก็ไม่มีคำสั่ง goto เช่นกัน แต่มีคำสั่ง Pass แทน ซึ่งทำงานไม่มีเหมือนกับ goto
Pass
ในส่วนของคำสั่ง Pass นั้น สามารถเรียกได้อีกอย่างหนึ่งว่า คำสั่ง null เนื่องจากว่าเมื่อเรานั้นไม่แน่ใจหรือไม่อยาก รัน code ในส่วนนี้ จึงสามารถใช้คำสั่งนี้ได้
# Python program to show how to use a pass statement in a for loop
'''''คำสั่ง pass นั้นเป็นเหมือน placeholder. สามารถมาเติมข้อมูลใส่ภายหลังได้'''
sequence = {"Python", "Pass", "Statement", "Placeholder"}
for value in sequence:
if value == "Pass":
pass # ปล่อยบล็อกนี้ว่างไว้ ถ้าต้องการใช้ คำสั่ง pass
else:
print("Not reached pass keyword: ", value)
ใน Python นั้น ไม่รองรับการใช้ break ที่มี label
C
ภาษา C นั้น มีคำสั่ง Break ,Continue ,Return และ Goto เหมือนกับ C#
Video Presentation
Slide Presentation
Reference
Last updated