Saya sudah pemrograman di Jawa selama beberapa tahun sekarang, tetapi saya baru saja kembali ke sekolah untuk mendapatkan gelar formal. Saya cukup terkejut mengetahui bahwa, pada tugas terakhir saya, saya kehilangan poin karena menggunakan loop seperti di bawah ini.
do{
//get some input.
//if the input meets my conditions, break;
//Otherwise ask again.
} while(true)
Sekarang untuk pengujian saya, saya hanya memindai beberapa input konsol, tetapi saya diberitahu bahwa loop semacam ini tidak dianjurkan karena menggunakan break
mirip dengan goto
, kami hanya tidak melakukannya.
Saya mengerti sepenuhnya perangkap goto
dan sepupu Java-nya break:label
, dan saya memiliki akal sehat untuk tidak menggunakannya. Saya juga menyadari bahwa program yang lebih lengkap akan memberikan cara lain untuk melarikan diri, misalnya untuk mengakhiri saja program tersebut, tetapi itu bukan alasan yang dikutip oleh profesor saya, jadi ...
Ada apa dengan ini do-while(true)
?
break
mungkin bermakna baik, tetapi sebenarnya disalahpahami. Mungkin Anda bisa mendidik profesor Anda tentang ini;) Dalam pengalaman saya, profesor tidak tahu banyak tentang keahlian pemrograman.
do {} while (true)
setara while(true) {}
dan yang terakhir sejauh ini merupakan bentuk yang lebih konvensional dan jauh lebih jelas.
break
, mereka harus mencoba pemrograman dalam bahasa tanpa itu. Tidak perlu terlalu banyak loop sebelum Anda menginginkannya!