আমার চিন্তাভাবনা করার জন্য, একটি লুপ একটি জ্ঞাত বা নির্ধারণযোগ্য ব্যাপ্তিতে পুনরাবৃত্তি করতে ব্যবহৃত হয়।
String[] names = //something;
for ( int i = 0; i < names.length; i++ ) { //do stuff }
যা সমান (আমি একপাশে সরানো):
String[] names = //something;
int i = 0;
while (i < names.length )
{
// do stuff
i++;
}
অন্য কথায়, for
লুপটি সাধারণত ব্যবহৃত হয় (একটি অত্যন্ত দরকারী) সিনট্যাকটিক চিনিwhile
কনস্ট্রাক্টের ।
যাইহোক, আমি for(;;)
ওয়েবে অনেকগুলি কনস্ট্রাকশন দেখছি যা কার্যত সমানwhile(true)
এ নিয়ে যুক্তি কী? লুপের জন্য কেন অসীমের চেয়ে অসীমের চেয়ে বেশি পছন্দ হবে?
// এমনকি এমন একটি জাভা পাঠ্যপুস্তকও দেখেছি যা লুপ করার সময় ব্যবহার করে না! যেমন ভয়ানক নির্মাণের দিকে পরিচালিত করে:
String input = getInput();
for( ; !inputIsValid(input) ; )
{
//redo;
}
while
এবং for
এখানে এবং প্রশ্ন পরিবর্তন হবে না। while(true)
এবং for(;;)
একই জিনিস বোঝাতে। স্পষ্টতই আপনার পক্ষে দৃ strong় অগ্রাধিকার রয়েছে while
, অন্যের পক্ষেও সমানভাবে দৃ strong় পছন্দ থাকতে পারে for
। একজনের তুলনায় অন্যটির চেয়ে আরও সঠিক এটি বলা অসম্ভব।
for(;;)
বিভ্রান্তি পাই না । এটি একটি স্ট্যান্ডার্ড সি আইডিয়োম, যা আপনি কে অ্যান্ড আর (2 ই) এর ৩.৩ ধারায় নথিভুক্ত করেছেন। আমি বুঝতে পারি যে আপনি এটি পছন্দ করেন না; আপনার বুঝতে হবে যে অন্যরা অবশ্যই এটি পছন্দ করে (অন্যথায় আপনি এটি কখনই দেখতে পাবেন না)। এটি সি ব্যতীত অন্য ভাষায় কম-বেশি গ্রহণযোগ্য হতে পারে; আপনি এই ভাষা-অজ্ঞাতকে ট্যাগ করেছেন যা কেবলমাত্র একটি নির্দিষ্ট উত্তরের সম্ভাবনা হ্রাস করে। আবার, আমি বন্ধ করে ভোট দিয়েছি কারণ প্রশ্নটি গঠনমূলক নয়; যদি আমার বিরক্তি থাকে তবে আমি বন্ধ হওয়ার পরিবর্তে বা অতিরিক্ত হিসাবে আপত্তিজনক হিসাবে চিহ্নিত করব। এটাই সব।
wheeeeeeee { ... }