เรารู้ว่าคำสั่ง Return ถูกใช้ในวิธีการหนึ่ง หนึ่งถูกใช้เพื่อส่งคืนผลลัพธ์การดำเนินการของฟังก์ชั่นและอื่น ๆ ที่ใช้ในฟังก์ชั่นที่มีค่าส่งคืนของประเภทโมฆะ มันเป็นเพียงคำสั่งคืน (return;) ในเวลานี้มันถูกใช้เพื่อยุติการดำเนินการของวิธีการนั่นคือคำสั่งหลังจากผลตอบแทนนี้จะไม่ถูกดำเนินการ แน่นอนในกรณีนี้จะไม่มีคำสั่งอื่นอีกต่อไปหลังจากคำสั่งคืน
ฉันพบคำถามบางข้อโดยใช้คำสั่ง Return ในคำสั่ง try-catch-finally
รหัส 1:
int int intc () {int x = 0; ลอง {x = 1; return x;} ในที่สุด {x = 3; - รหัส 2: เพิ่มคำสั่ง Return ในคำสั่งสุดท้ายของรหัสด้านบน
int int intc () {int x = 0; ลอง {x = 1; return x;} ในที่สุด {x = 3; return x;}}รหัสที่สาม:
int int intc () {int x = 0; ลอง {x = 1; return x;} ในที่สุด {x = 3; return 0;}} ดังนั้นผลลัพธ์การดำเนินการของทั้งสามวิธีนี้คืออะไร?
รหัส 1: return 1;
รหัส 2: ส่งคืน 3;
รหัส 3: return 0;
หลักการคืออะไร?
เหตุผลก็คือเมื่อเครื่องเสมือน Java ดำเนินการวิธีการที่มีค่าส่งคืนมันจะสร้างพื้นที่ในรายการตัวแปรท้องถิ่นเพื่อจัดเก็บค่าส่งคืนของวิธีการ เมื่อดำเนินการคำสั่ง Return มันจะอ่านค่าจากพื้นที่นี้เพื่อรับผลตอบแทน
ในรหัส 1 ให้กำหนด 1 ให้กับตัวแปร x ในการลองจากนั้นคัดลอกค่าของตัวแปร x ไปยังพื้นที่ที่เก็บค่าส่งคืน ในที่สุดพื้นที่ค่าส่งคืนจะจัดเก็บ 1 และหนึ่งจะถูกส่งคืนเมื่อคำสั่งคืนถูกดำเนินการ
ในรหัส 2 1 ยังถูกกำหนดให้กับตัวแปร x จากนั้นค่าของ x จะถูกคัดลอกไปยังพื้นที่ที่เก็บค่าคืนสินค้า ในเวลานี้ค่าของพื้นที่ที่ค่าส่งคืนคือ 1 และจากนั้นข้ามไปยังคำสั่งสุดท้าย ในเวลานี้ 3 จะถูกกำหนดให้กับตัวแปรท้องถิ่น X จากนั้นคัดลอกค่าของ x ไปยังพื้นที่ที่เก็บค่าส่งคืนและในที่สุดก็เรียกใช้คำสั่ง Return ค่าในการอ่านพื้นที่ที่ส่งคืนคือ 3
ในรหัสที่สามคำสั่งที่ดำเนินการในการลองจะเหมือนกัน หลังจากกระโดดไปยังคำสั่งสุดท้าย 3 จะถูกกำหนดให้กับตัวแปรโลคัลแล้ว 0 จะถูกกำหนดให้กับพื้นที่ที่เก็บค่าส่งคืนและในที่สุดคำสั่ง Return จะถูกดำเนินการ ค่าในการอ่านพื้นที่ที่ส่งคืนคือ 0 ดังนั้น 0 จะถูกส่งคืน