CodeGym /Blog Jawa /Acak /Kanggo-saben loop ing Jawa
John Squirrels
tingkat
San Francisco

Kanggo-saben loop ing Jawa

Diterbitake ing grup

Apa kanggo saben loop?

A for-saben minangka jinis kanggo daur ulang sing sampeyan gunakake nalika sampeyan kudu ngolah kabeh unsur array utawa koleksi. Sing jarene, tembung saben-saben ora digunakake ing daur ulang iki. Sintaksipun kados ing ngandhap punika:

for (type itVar : array) 
{ 
    // Operations
}
Ngendi jinis minangka jinis variabel iterator (sing cocog karo jinis data unsur ing array!), itVar minangka jeneng, lan array minangka array (struktur data liyane uga diidini, contone, sawetara koleksi, kaya ArrayList . ), yaiku obyek ing ngendi loop dieksekusi. Nalika sampeyan bisa ndeleng, mbangun iki ora nggunakake counter: variabel iterator mung iterates liwat unsur array utawa koleksi. Nalika daur ulang kasebut dieksekusi, variabel iterator diutus kanthi urutan nilai saben unsur saka array utawa koleksi, sawise blok pernyataan kasebut (utawa statement) dieksekusi.

Saliyane kanggo saben daur ulang, Jawa uga duwe cara forEach (). Sampeyan bisa maca babagan iki ing artikel kanthi judhul "Stop writing loops!" 10 praktik paling apik kanggo nggarap koleksi ing Jawa 8

Cathetan:daur ulang for-saben bisa Applied kanggo susunan lan sembarang kelas sing ngleksanakake antarmuka java.lang.Iterable . Ing ngisor iki kanggo loop bakal padha karo kode ing ndhuwur:

for (int i=0; i < array.length; i++) 
{ 
    
    // Statements 
}

Conto kanggo saben loop

Kita nggawe macem-macem skor siswa. Banjur kita nggunakake saben daur ulang kanggo nyithak kabeh prakiraan, ngetung skor rata-rata, lan nemokake skor paling dhuwur.

public class ForEachTest {
    
// A method that prints all scores     
public static void printAllScores(int[] scores) {
        System.out.print("|");
        for (int num : scores) {

            System.out.print(num + "|");
        }
        System.out.println();
    }

// A method that displays the average score 
    
public static double getAverageScore(int[] numbers) {
        int totalScore = 0;

        for (int num : numbers) {
            totalScore = num + totalScore;
        }
        return ((double) totalScore / numbers.length);

    }
// A method that determines the best (maximum) score 
    public static int getBestScore(int[] numbers) {
        int maxScore = numbers[0];

        for (int num : numbers) {
            if (num > maxScore) {
                maxScore = num;
            }
        }
        return maxScore;
    }

public static void main(String[] args) {
      
// Array of scores 
int[] scores = {5, 10, 7, 8, 9, 9, 10, 12};

        
  int bestScore = getBestScore(scores);
        System.out.print("All the scores: ");
        printAllScores(scores);
        System.out.println("The highest score is " + bestScore);
        System.out.println("The average score is " + getAverageScore(scores));
    }

}
Output program:

All the scores: |5|10|7|8|9|9|10|12|
The highest score is 12
The average score is 8.75
Saiki, ayo ndeleng cara kanggo nyithak kabeh skor yen nggunakake loop biasa :

public static void printAllScores(int[] scores) {
        System.out.print("|");
        for (int i = 0; i < scores.length; i++) {

            System.out.print(scores[i] + "|");
        }
        System.out.println();
    }
Yen kita nelpon cara iki saka cara utama , kita entuk asil iki:

All the scores: |5|10|7|8|9|9|10|12|

Conto kanggo saben daur ulang karo koleksi

Kita nggawe koleksi jeneng lan nampilake kabeh jeneng ing layar.

List<String> names = new ArrayList<>();
        names.add("Snoopy");
        names.add("Charlie");
        names.add("Linus");
        names.add("Shroeder");
        names.add("Woodstock");

        for(String name : names){
            System.out.println(name);
        }

Watesan kanggo saben daur ulang

Bentuk kompak kanggo saben daur ulang dianggep luwih gampang diwaca tinimbang daur ulang, lan dianggep minangka praktik paling apik kanggo nggunakake loop kanggo saben daur ulang yen bisa. Nanging, saben loop minangka konstruksi sing kurang universal tinimbang loop biasa . Ing ngisor iki sawetara kasus sing gampang kanggo saben daur ulang ora bakal bisa digunakake utawa bisa digunakake, nanging mung angel.
  1. Yen sampeyan pengin mbukak liwat loop saka mburi kanggo wiwitan. Yaiku, ora ana saben loop sing analog langsung karo kode ing ngisor iki:

    
    for (int i= array.length-1; i>0; i--) 
    {
          System.out.println(array[i]);
    }
    
  2. Kanggo-saben ora cocok yen sampeyan pengin nggawe owahan kanggo array. Contone, sampeyan ora bisa ngurutake array tanpa ngganti lokasi unsur kasebut. Kajaba iku, ing kode ing ngisor iki, mung variabel iterator sing bakal diganti, dudu unsur array:

    
    for (int itVar : array) 
    {
        itVar = itVar++; 
    }
    
  3. Yen sampeyan are looking for unsur ing Uploaded lan sampeyan kudu bali (utawa pass ing) indeks saka unsur sing looking for, iku luwih apik kanggo nggunakake biasa kanggo daur ulang.

Video sing migunani babagan saben loop

Loops ing kursus CodeGym

Ing CodeGym, kita miwiti latihan nggunakake loop ing Level 4 saka pencarian Java Syntax . Sawetara pelajaran ing level kasebut, uga akeh tugas ing macem-macem level, dikhususake kanggo puteran supaya bisa nguatake katrampilan sampeyan nggarap. Sejatine, ora ana cara sampeyan bisa lolos - puteran minangka salah sawijining konstruksi paling penting ing pemrograman.

Informasi liyane babagan saben-saben lan puteran liyane

  1. Pernyataan nalika . Artikel babagan jinis loop sing paling gampang: whileloop, sing digunakake CodeGym kanggo ngenalake loop menyang siswa.
  2. Stop nulis loops! 10 praktik paling apik kanggo nggarap koleksi ing Jawa 8 . Artikel iki bakal mbantu siswa CodeGym sing paling ora setengah dalan sinau akeh perkara sing menarik babagan nggarap koleksi.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION