1. return
คำสั่ง
คิดว่าคุณได้เรียนรู้ทั้งหมดเกี่ยวกับวิธี Java แล้วหรือยัง อะไรก็ตามที่คุณคิดว่าคุณรู้ คุณก็ยังรู้ไม่ถึงครึ่งของสิ่งนั้น
เริ่มจากอะไรง่ายๆ ตัวอย่างเช่น Java มี คำสั่ง returnที่ให้คุณยุติเมธอดที่เรียกใช้ทันที นี่คือคำสั่ง:
return;
มันง่าย: คำเดียวreturn
ตามด้วยเครื่องหมายอัฒภาค ทันทีที่โปรแกรมดำเนินการคำสั่งนี้ เมธอดปัจจุบันจะหยุดทำงานทันที และการโทรจะดำเนินต่อไป
หากreturn
มีการเรียกใช้เมธอดmain
เมธอดmain
จะสิ้นสุดทันทีและด้วยโปรแกรมทั้งหมด
ตัวอย่าง:
|
เมธอด fill เติมส่วนหนึ่งของอาร์เรย์ที่ส่งผ่านด้วยvalue . ส่วนของอาร์เรย์ที่จะเติมถูกกำหนดโดยดัชนี from และ ถ้า น้อยกว่าหรือ มากกว่าความยาวของอาร์เรย์ เมธอดจะยุติทันที to from 0 to |
โปรแกรมด้านบนมีfill
วิธีการเติมอาร์เรย์ที่ส่งผ่านไปยังvalue
โปรแกรม มันไม่ได้เติมอาร์เรย์ ทั้งหมดเฉพาะส่วนที่ระบุโดยดัชนีfrom
และto
ที่จุดเริ่มต้นของfill
เมธอด ค่าที่ส่งผ่านจะถูกตรวจสอบเพื่อให้แน่ใจว่าถูกต้อง ถ้าfrom
น้อยกว่า 0 หรือถ้าto
มากกว่าความยาวของอาร์เรย์ เมธอดจะfill
ยุติทันที (ดำเนินreturn
การคำสั่ง)
ข้อความ นี้return
มีประโยชน์: แทบทุกเมธอดใน Java จะมีหนึ่งเมธอด และนี่คือเหตุผล
2. วิธีการที่มีผลvoid
จำไว้ว่าครั้งหนึ่งเราพบว่า มีข้อความสั่ง และมีนิพจน์ การแสดงออกซึ่งแตกต่างจากคำสั่งมีค่าที่สามารถใช้ได้ที่ไหนสักแห่ง
และใน Java เมธอดสามารถมีค่าได้ และนี่เป็นข่าวดีมาก: เมธอดไม่เพียง แต่สามารถทำบางสิ่งตามพารามิเตอร์อินพุตเท่านั้น แต่ยังสามารถประเมินบางสิ่งและส่งคืนผลลัพธ์ของการคำนวณได้อีก ด้วย
คุณได้พบวิธีการดังกล่าวแล้ว:
|
เมธอดabs() ส่งคืนค่าสองเท่า |
|
เมธอด nextInt() จะคืนค่า anint |
|
เมธอด toUpperCase() ส่งคืน aString |
|
เมธอด copyOf() จะคืนค่า anint[] |
แต่ละเมธอดสามารถคืนค่าหนึ่งค่าของประเภทที่กำหนดไว้ล่วงหน้าได้เพียงหนึ่งค่าเท่านั้น ประเภทการส่งคืนถูกกำหนดเมื่อมีการประกาศเมธอด:
public static Type name(parameters)
{
method body
}
name
ชื่อของเมธอดอยู่ที่ไหนparameters
คือรายการของพารามิเตอร์เมธอด และtype
เป็นชนิดของผลลัพธ์ที่เมธอดส่งคืน
สำหรับเมธอดที่ไม่ส่งคืนอะไรเลย มีตัวยึดประเภทพิเศษvoid
:
คุณกำลังเขียนวิธีการของคุณเองและไม่ต้องการส่งคืนสิ่งใดให้กับวิธีการโทรหรือไม่? เพียงประกาศประเภทของวิธีการเป็นvoid
และปัญหาจะได้รับการแก้ไข นอกจากนี้ยังมีวิธีการมากมายเช่นนี้ใน Java
3. ส่งคืนผลลัพธ์
เราเพิ่งทราบวิธีการประกาศวิธีการที่ส่งคืนผลลัพธ์ของการคำนวณ แต่เราจะส่งผลลัพธ์นี้ในวิธีการเองได้อย่างไร
แถลงการณ์return
ช่วยเราที่นี่อีกครั้ง การส่งผ่านผลลัพธ์จากเมธอดมีลักษณะดังนี้:
return value;
return
คำสั่งที่ยุติวิธีการทันทีอยู่ที่ไหน และvalue
เป็นค่าที่เมธอดส่งกลับเมธอดการโทรเมื่อจบการทำงาน ประเภทของvalue
ต้องตรงกับtype
ที่ระบุในการประกาศเมธอด
ตัวอย่างที่ 1 วิธีการคำนวณจำนวนขั้นต่ำสองจำนวน:
|
เมธอดส่งคืนค่าต่ำสุดของตัวเลขสองตัว ถ้า a < b กลับ a มิฉะนั้น กลับ b |
ตัวอย่างที่ 2 เมธอดทำซ้ำสตริงที่ส่งผ่านไปยังn
ครั้ง:
|
วิธีการใช้สองพารามิเตอร์ — สตริงและจำนวนครั้งที่ควรทำซ้ำสตริง สตริงว่างถูกสร้างขึ้นสำหรับผลลัพธ์ในอนาคต ในลูปที่มี times การวนซ้ำ ช่องว่างและstr สตริงจะถูกเพิ่มเข้าไปในresult สตริง สตริง result จะถูกส่งกลับเป็นผลลัพธ์ของเมธอด |
ตัวอย่างที่ 3: วิธีการคำนวณจำนวนสูงสุดสองตัวโดยใช้ตัวดำเนินการ ternary:
|
เมธอดส่งคืนค่าสูงสุดสองจำนวน กลับ (ถ้า a > b แล้วa มิฉะนั้นb ) |