آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

فرق بین نوشتار طولانی و خلاصه در حلقه for (در static array)

Dadparvar  12 سال پیش  12 سال پیش
0 0

سلام
در جلسه ششم آموزش ها که به بررسی array ها پرداخته شده ، در دقیقه 11 ویدئو جناب آقاجانی کدی رو به صورت زیر درج میکنن:

for (int i = 0; i < numbers.length; i++) {
numbers[i] = i * 2;
}
for (int i = 0; i < numbers.length; i++) {
Log.i("LOG", "Array Index #" + i + " = " + numbers[i]);
}

اگر این کد بصورت خلاصه و به شکل  زیر نوشته شه بعدها ممکنه به ایراد بربخوره؟ (چون نتیجه هردو یکی میشه)

for (int i = 0; i < numbers.length; i++) {
numbers[i] = i * 2;
Log.i("LOG", "Array Index #" + i + " = " + numbers[i])
}
0 0
نه هیچ مشکلی بوجود نمیاد - درواقع استاد توی این جلسه از اموزش اگر دقت کرده باشید - مثال هایی که میزنند رو در نتیجه ایندکس ها و ارایه ها تغییر میکند و شما باید این مورد رو متوجه بشید که چگونه یک ایندکس و یا یک مقدار از ارایه میتونه تغییر کنه (12 سال پیش)
0 0
بله.موضوع رو کامل یاد گرفتم. فقط گفتم شاید بعدها به مشکل بربخوره (چون گاهی خلاصه نویسی در آیندهء اون اپ ممکنه مشکل ساز شه.اگر درست خلاصه نشه) ممنون (12 سال پیش)
0 0
در این مثال الگوریتم دوم بهینه تر است. چون مرحله شمردن یک بار انجام میشود (12 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
مجتبی یگانه  12 سال پیش
+1 0

پاسخ دوستان درسته  و الگوریتم دوم بهینه تر هست ، و قطعا استاد برای بحث آموزش جداگانه نوشتند

اما در مورد حلقه ی For

حتی اگه در زمان اجرا ، طول آرایه ای که Size یا length اون به عنوان سقف حلقه تعریف شده ، تغییر کنه ، فرقی در تعداد دفعات اجرا حلقه نداره و حلقه for مقدار سقف آرایه رو در اولین اجرا برسی میکنه و در متغییری داخلی ذخیره میکنه. یعنی 

 for (int i = 0; i < numbers.length; i++) {
	numbers[i] = i * 2;
	Log.i("LOG", "Array Index #" + i + " = " + numbers[i])
}
// بعد از اولین اجرا
for (int i = 0; i < 5 ; i++) {
/// در این خط مقدار های اولیه تعریف شدن و دیگه تغییر نمیکنه ! numbers[i] = i * 2; Log.i("LOG", "Array Index #" + i + " = " + numbers[i]) }

اگه جایی نیاز بود مقدار ها لحظه ای برسی بشن ، باید از حلقه ی While استفاده بشه


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .