Enter an integer (the input ends if it is 0): 3
Enter an integer (the input ends if it is 0): 5
Enter an integer (the input ends if it is 0): 6
Enter an integer (the input ends if it is 0): 0
The sum is 14
3 while tsikli
while tsikli shart to'g'ri bo'lsa, ko'rsatmalarni qayta-qayta bajaradi. while tsiklining sintaksisi:
while (davom etish sharti) {
// sikl tanasi
Bayonotlar);
}
3a-rasmda while tsiklining blok diagrammasi ko'rsatilgan. Takroriy gaplarni o'z ichiga olgan sikl qismi tsikl tanasi deb ataladi. Loop tanasini bir marta bajarish tsiklni takrorlash (yoki takrorlash) deb ataladi. Har bir tsiklda tsikl davom etish sharti, tananing bajarilishini boshqaruvchi mantiqiy ifoda mavjud. Har safar tsiklning tanasi bajarilayotganligini aniqlash uchun baholanadi. Agar uning bahosi rost bo'lsa, tsiklning tanasi bajariladi; agar bu baholash noto'g'ri bo'lsa, butun tsikl tugaydi va dastur boshqaruvi while siklidan keyingi bayonotga o'tadi. Java-ga xush kelibsiz! Oldingi bo'limda yuzlab marta taqdim etilgan bo'lsa, bu while tsiklining namunasidir. Uning blok sxemasi 6.1b-rasmda ko'rsatilgan. Davom etish sharti rost deb baholansa, while sikli sikl tanasidagi bayonotlarni qayta-qayta bajaradi. sikl davom etish sharti count <100 va tsikl tanasi quyidagi ikkita operatorni o'z ichiga oladi:int count = 0;
while (count < 100) {
System.out.printIn("Welcome to Java!"); loop body
count++;
}
Ushbu misolda siz tsiklning tanasini necha marta bajarish kerakligini aniq bilasiz. chunki boshqaruv o'zgaruvchisi hisoblagichi bajarilishlar sonini hisoblash uchun ishlatiladi. Ushbu turdagi halqa hisoblagich halqasi sifatida tanilgan.
Loop qanday ishlashini tushunishga yordam beradigan yana bir misol.int sum = 0, i = 1;
while (i < 10) {
sum = sum + i;
i++;
}
System.out.println("sum is " + sum); // sum is 45
Agar i <10 rost bo'lsa, dastur yig'indiga i qo'shadi. i o'zgaruvchisi dastlab 1 ga o'rnatiladi, keyin 2, 3 va 10 ga oshadi. i 10 bo'lsa, i <10 noto'g'ri bo'ladi, shuning uchun tsikl tugaydi. Shuning uchun yig'indi 1 + 2 + 3 + ... + 9 = 45 ga teng. Loop shunday noto'g'ri yozilgan bo'lsa nima bo'ladi?int sum = 0, i = 1;
while (i < 10) {
sum = sum + i;
}
Bu tsikl cheksizdir, chunki i har doim 1 va i <10 har doim to'g'ri bo'ladi.
LISTING 6.2 RepeatAdditionQuiz.java
1 import java.util.Scanner;
2
3 public class RepeatAdditionQuiz {
4 public static void main(String[] args) {
5 int number1 = (int)(Math.random() * 10);
6 int number2 = (int)(Math.random() * 10);
7
8 // Create a Scanner
9 Scanner input = new Scanner(System.in);
10
11 System.out.print(
12 "What is " + number1 + " + " + number2 + "? ");
13 int answer = input.nextInt();
14
15 while (number1 + number2 != answer) {
16 System.out.print("Wrong answer. Try again. What is "
17 + number1 + " + " + number2 + "? ");
18 answer = input.nextInt();
19 }
20
21 System.out.println("You got it!");
22 }
23 }
10>10>10>100>
Do'stlaringiz bilan baham: |