تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ هاشم
تفاوت دو حلقه زیر در چیست
پوریا شفیعی حل شده توسط پوریا شفیعی

سلام خدمت  همه دوستان 

تو تمرین این مبحث متد `print` که استاد گفتند رو نوشتم برای تست کردن خودم ،

 اما به یک صورت دیگه هم میشه حلقه for را نوشت خواستم ببینم کسی تفاوت این دو حلقه را میدونه ؟ 

میتونید شرح بدید که تو condition حلقه به چه اصولی خلاصه سازی شده ؟ 

 

مورد اول - حلقه به حالت معمولی 

private static <T> void print(T[] array){
        for (int i = 0; i < array.length; i++) {
            System.out.println(array[i]);
        }
    }

 

مورد دوم - حلقه به حالت خلاصه با حالت دیگر 

 

private static <T> void print(T[] array){
        for (T t : array) System.out.println(t);
    }

خروجی هر دو یکسان هست ، کد کامل هم قرارمیدم که اگر نیاز ب تست بود راحت باشید  

 

کد کامل تستی

 

package com.company;
public class Main {
    public static void main(String[] args) {
        String string[] = {"hashem","shahram","Ali"};
        Integer number[] = {20,30,1,5};
        print(string);
    }
    private static <T> void print(T[] array){
        for (T t : array) System.out.println(t);
    }
}

 

ممنونم از شما و همه دوستان

سلام و احترام 

 

حلقه نوع دوم که قرار دادید foreach هست که یکی دیگر از ساختار‌های تکرار در زبان جاوا هست که برای پیمایش روی لیست‌ها و ارایه‌ها طراحی شده این نوع حلقه با هر بار گردش مقادیر هر کدام از انها رو داخل یک متغیر موقت قرار میدهد در مثال شما t که میتونید به مقدار اون گردش دسترسی پیدا کنید.

تفاوت خاصی ندارند ولی همونطور که گفتم حلقه فوریچ اصولا برای زمانی استفاده میشود که شما بخواهید یک پیمایش روی یک لیست یا ارایه داشته باشید.

درمورد تفاوت این نوع حلقه با سایر حلقه‌ها خدمتتون عرض کنم که حلقه فوریچ برای پیمایش یک لیست خوانایی بهتری رو به کد شما میدهد. 

البته همنطور که گفتم حلقه فوریچ زمانی استفاده میشود که قرار است تمام عناصر موجود در مجموعه مورد پیمایش قرار گیرند. به عبارت بهتر در این حلقه‌ها همواره طول گام همان عدد ۱ رو به جلو خواهد بود.

 

موفق و سالم باشید.

 

بهترین پاسخ
پوریا شفیعی ۱۳ آذر ۱۳۹۹، ۱۵:۳۱