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