ตัวอย่างการบรรยายพร้อมผู้ให้คำปรึกษาซึ่งเป็นส่วนหนึ่งของหลักสูตร Codegym University ลงทะเบียนสำหรับหลักสูตรเต็ม
"คุณอีกแล้ว Amigo สวัสดี"
“ดูเหมือนคุณไม่มีความสุขเลยที่เจอฉัน ดิเอโก?”
"ฉันรู้สึกประทับใจที่คุณคิดว่าคุณได้เรียนรู้ทุกอย่างที่ควรรู้เกี่ยวกับวิธีการใน 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
statement มีประโยชน์มากกว่าที่คุณคิด มันมีประโยชน์มากจนพบได้ในเกือบทุกเมธอดใน 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 จะถูกเพิ่มเข้าไปในสตริง สตริงจะถูกส่งกลับเป็นผลลัพธ์ของเมธอดresult result |
ตัวอย่างที่ 3: วิธีการคำนวณจำนวนสูงสุดสองตัวโดยใช้ตัวดำเนินการ ternary:
|
เมธอดส่งคืนค่าสูงสุดสองจำนวน กลับ (ถ้า a > b แล้วa มิฉะนั้นb ) |
"ยอดเยี่ยม วิธีการคือพลังพิเศษใหม่ของฉัน!"
"เฉพาะในกรณีที่คุณฝึกฝนมากพอในการทำงานจริง ซ้ำไปซ้ำมา"
GO TO FULL VERSION