Upprepningar: do-while

En do-while upprepning/loop är nästan detsamma som while förutom att kodsatsser att upprepa genomförs först och därefter kontrolleras villkorssatsen i upprepningen.

Den enklast syntaxen är:

do {

kodsatsser att upprepas

} while (villkorssats) ;

Exempel

// Programmet tar emot ett antal tal och kontrollerar att talen inte är lika med 0. Adderar givna tal. 

import java.util.Scanner;

public class KontrollTalDoWhile {
public static void main(String[] args) {
int tal;
int sum = 0;
Scanner input = new Scanner(System.in);
// Fortsätt läsa av inmatade tal
do {
// Be användaren matta in ett tal
System.out.print(
"Ange ett heltal (programmet avbryts när du anger talet 0): ");
tal = input.nextInt();
sum += tal;
} while (tal != 0);
System.out.println("Summan av givna tal är: " + sum);
}
}

Utdata

Ange ett heltal (programmet avbryts när du anger talet 0): 4
Ange ett heltal (programmet avbryts när du anger talet 0): 8
Ange ett heltal (programmet avbryts när du anger talet 0): 6
Ange ett heltal (programmet avbryts när du anger talet 0): 0
Summan av givna tal är: 18

// Programmet skriver ut tal 1 till 7
public class CounterDoIfWhile {
public static void main(String[] args) {
int counter = 1;
do {
System.out.println(counter);
if (counter % 7 == 0){
System.out.println("Programmet avbryts, tal delbart med 7 har identifierats!");
break;
}
counter++;
} while (counter <= 10);
}
}

Utdata

1
2
3
4
5
6
7
Programmet avbryts, tal delbart med 7 har identifierats!

// Konstruerar multiplikationstabellen för ett tal som anges av användare.

import java.util.Scanner;
public class MultiplikationTabell {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Ange ett heltal: ");
int number = input.nextInt();
int i = 1;
System.out.println("Multiplikationstabell för "+ number);
do {
System.out.println(number + " * " + i + " = " + (number * i));
i++;
} while (i <= 10);
}
}

Utdata

Ange ett heltal: 5
Multiplikationstabell för 5
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50