تفاوت دو حلقه زیر در چیست

پرسیده شده
فعالیت 1243 روز پیش
دیده شده 438 بار
3

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

تو تمرین این مبحث متد `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);
    }
}

 

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

فایل پیوست

hashem sheikhypour
hashem sheikhypour

13 آذر 99

2
حذف شده

سلام و احترام 

 

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

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

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

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

 

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

 

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

13 آذر 99

حذف شده
ممنونم از توضیحاتتون امیدوارم این تاپیک با توضیحات شما البته برای باقی دوستان مفید بوده باشه
hashem sheikhypour

13 آذر 99