Professional Documents
Culture Documents
Introduction to Java Programming
Chapter 4 Loops
و ه
اﻥ ﻥ
اﻝارLoops ه
ال٤
.د اﻝ اﺡ
وزی%&ﻝ
(While, do–while, for) وهLoops ق ﻝ, ٣ رس%و ﻝ) اﻝ ه
while (loop-continuation-condition) {
// Loop body
Statement(s);
}
0; یtrue ار ﻝ آن6ا7اس ط ا97ه ا%& : )ﻥwhile ان4ﺡ5و ه
: {} اس اﻝﻥ اﻝ ﻝ? دة97( اﻥ اloop ه=ج ا ال0; یfalse اﻝار ه ﻝ
ة ل%& ار67 ﺡ ﺕ) ط ا2 Aوض ﻥC و اﻝ2 ی ﻥرهDوا اﻝ
ی7ا
.loop
?ن ی=ج الfalse
Welcome to J;Kی ﻥDض اﻥ
یC ازايwhile م%=F GHل ﻥI ل0و ه
ة١٠٠ ?;
اﻝK ع اﻝ7 ا:ة آ ه%; آ9 ? ة
اﻝ١٠٠ Java!
دى0یK ة ﻝ١٠٠ ةDC هwhile ة و% ﻥ; ة واﺡ9دﻝ
int count = 0;
while (count < 100) {
System.out.println("Welcome to Java!");
count++;
}
اﻝد اﻝب
) ا count 6اﻝع integerو ﺡ Kﻝ 9ا%اCQ R
و ط ا67ار اﻥ ا ١٠٠ )Qو اﻝد اﻝ اﻝCوض یر ه ا اﻝ
;Kاﻝ?
وFش اﻥ زودﻥ ا ; count++و ه دة اﻝTFل
زیدة اﻝ) آ ة اﺡ.%
:Uاﻝد اﻝب Wآ ی& W&Cی?) ﻝﺡ%ة آ%ة 7زم ا7ول ﻥ Kال
main methodو ﻥ Class 2Kو آ دة fileﻥ 6 Fاﻝ5س
?
ClassName.javaن ﻥ اﻥ ﻥ& .compile
ﻥ 2Cاﻝ 6ان ﻝ ط ا67ار آن Trueه F DCال loopﻝ %ﻥ2ی & %آ%ة
ی Y0ط ا67ار ة ﺕﻥ و هXا ﻝ %ی) ط ا67ار اﻝ =2 Falseج
ال loopو ه 0اﻝد.
اﻝCوض ﻥ Aط ا67ار %& 69آ whileاﻥ ﻥ 2ا97اس 9ال
loopﺡﻝ ان Fال loopن واﺡ%ة او 2Cش ﺥﻝ Zو اﻝد دة
یI GHل ل 2C loopش ا 7واﺡ%ة \.
;int count = 0
)while (count < 10
;)System.out.println(count++
• ی :ﻥ^آ %ان ط ا67ار هل ﻝـ %
%& falseد & اﻝار و ا7
ه DCال loopاﻝ 7ﻥ2ی و ﻝ دة ﺡ` ﺕ_) CTRL+C Aﻝ a9اﻝ?)
و ﺕ&ﻝ bاﻝ=.^K
loop الF اﻥ اهc& و دةwhile %& ; 5
JH^ ر ه وK• ﺥ
%ار ﻝ67 ط اY0 رغ و هار اﻝloop الF و اﻝﻝ دى ه&; ان
الF اﻝ اﻝ ) اﻝ?طA ﺡن7 اe& و اﻥfalse یل ﻝـ
اﻥ ﻝ، ی2 ﻥ7 اﻝfalse هل ﻝـW ار اﻝ67 ط اY02 loop
یل ﻝـ% اﻝ?ط ﻝY02 loop الF
%& W ار67آن ط ا
.loop ة \ و آ^ﻥ آد ﺥرج ال% ة واﺡloop الF DCل یDة ه% آ%& وfalse
اﻝg9ﺥ ﻥ& اﻝ7 و ا2
م هوب%=Fح اﻝ, i6 ا١٠
دة
;رةbاﻝ;ﻥ
الT6 و ﻥ آi67 ا2 ر ی%9
1 import javax.swing.JOptionPane;
2
3 public class SubtractionTutorLoop {
4 public static void main(String[] args) {
5 int correctCount = 0; // د ا
ت ا
6 int count = 0; // ی ا د ا
7 long startTime = System.currentTimeMillis(); //" و اای#ﺡ
8 String output = "";
9
10 while (count < 10) {// &ات١٠ %(ار & ی
11 // 1. Generate two random single-digit integers
12 int number1 = (int)(Math.random() * 10);
13 int number2 = (int)(Math.random() * 10);
14
15 // 2. م
ی ار م,-. اول0& اآ. ا ا,
16 if (number1 < number2) {
17 int temp = number1;
18 number1 = number2;
19 number2 = temp;
20 }
21
22 // 3. Prompt the student to answer "what is number1 – number2?"
23 String answerString = JOptionPane.showInputDialog
24 ("What is " + number1 + " - " + number2 + "?");
25 int answer = Integer.parseInt(answerString);
26
27 // 4. Grade the answer and display the result
28 String replyString;
29 if (number1 - number2 == answer) {
30 replyString = "You are correct!";
31 correctCount++;
32 }
33 else
34 replyString = "Your answer is wrong.\n" + number1 + " - "
35 + number2 + " should be " + (number1 - number2);
36 JOptionPane.showMessageDialog(null, replyString);
37
38 // ١٠ ل ا,ﺹ, ا3 ب, ا0& ج6اﺡ آ &ة ﺡ ی,
89زی دة ا
39 count++;
40
41 output += "\n" + number1 + "-" + number2 + "=" + answerString +
42 ((number1 - number2 == answer) ? " correct" : " wrong");
43 }
44
45 long endTime = System.currentTimeMillis();//; ی3" و ا#ﺡ
46 long testTime = endTime - startTime; //
ﺡ ب و ا
47
48 JOptionPane.showMessageDialog(null,
49 "Correct count is " + correctCount + "\nTest time is " +
50 testTime / 1000 + " seconds\n" + output);
51 }
52 }
?و دة
ض اﻝ;ﻥت
اﻝ
System.currentTimeMillis()
ان٥ method اﻝﻝ ﻝ ﺙﻥ و ه?ح الg9 اﻝ9 J دىmethod ال
.nء ا
Math.random()
C` و اآ; اﻝ%) اﻝاﺡQدة( ا% o) R
?ا9 9 رJ دىmethod ال
ﻝد:Fﻥ7 ا0یK \ اﺡ =ر اﻝA;e ﻝdo-while زيwhile م%=Fاﺡ ﻥ
.2%=Fو ﻥ
ة%ء ﻝﺡD ; و ه?ح آ5& 2 `C اءD ا٣ اس97 اc for آ%&
0 اﻝA و اﻝ; &دی ان یloopای ال% \ ة% ة واﺡDC ول دة7ء اDاﻝ
ود ﺡت ﺕﻥD اﻝ& اﻥ ﻥJ )
اﻝRا%7ا
) اﻝ اﻝA ی آ دورة و اﻝ; اﺕ&دوا ان2 ﻥDC دةqﻝIء اﻝDاﻝ
ود دو ﺡت ﺕﻥD ة و ﻥ%& ار67ط ا
• ﺥ ^Kر ه و for %& ; 5
JHو دة & cاﻥ اه Fال loopو
اﻝﻝ دى ه&; ان Fال loopرغ و هار اﻝ Y0ط ا67ار ﻝ%
یل ﻝـ falseو & %آ%ة هDل ی F DCال loopة واﺡ%ة \ و آ^ﻥ آد ﺥرج
ال .loop
زي 9ﻝ ان اﻝDء ا7ول و اﻝIﻝ qا97اس & for %ﻥ Aاآ و هن
ا7ﺥ ﻝ? دة
{ )for (int i = 0, j = 0; (i + j < 10); i++, j++
// Do something
}
\ % ﻝ اﻝد اﻝ هرة ن ا واﺡe b اﻝ;ﻥ0;
?ن ی
.\ اﻝ ﻝ? دةC ﻥfor J %ﻥ
for (int i = 1; i < 100; System.out.println(i), i++);
Kﺕ و ﻥ5 اﻝ2RاDء اD
)F آ ی& ﻥ2? ﻥfor
.
2H ; اﻝد اﻝQت ﺥ7 ﻝ0; \ دةFC ﻥloop الF
infinite ) ی2 ﻥ7 هر اﻝloop
0;ة ی% وH اءD اg اﻝ:F ﻥ
( و هن ﻝ? دةloop
ول اﻝ_ب زي اﻝ? دة% ﻥ?ء7 اآnested loops & الGHل دة هIو اﻝ
1 import javax.swing.JOptionPane;
2
3 public class MultiplicationTable {
4 /** Main method */
5 public static void main(String[] args) {
6 // Display the table heading
7 String output = " Multiplication Table\n";
8 output += "------------------------------------------------\n";
9
10 // Display the number title
11 output += " | ";
12 for (int j = 1; j <= 9; j++)
13 output += " " + j;
14
15 output += "\n";
16
17 // Print table body
18 for (int i = 1; i <= 9; i++) {// ر6ب ا,ه= دى ا
19 output += i + " | ";
20 for (int j = 1 j < = 9; j++) {
21 // Display the product and align properly
22 if (i * j < 10)
23 output += " " + i * j;
24 else
25 output += " " + i * j;
26 }
27 output += "\n";
28 }
29
30 // Display result
31 JOptionPane.showMessageDialog(null, output);
32 }
33 }
و هن دة اﻝﺕb
اﻝDء اﻝ اﻝد اﻝ KFر ٢٢ 9ﻝـ KFر ٢٥ 9دة اﻝ A;eاﻝ%ول
?ن
ﺡH Qب اﻝ u& 9ﻝ %اﻝ ٩*٩ 9ﻥ ر 9واﺡ %او ر 9ﺡ ه 9ان
ﻝ ﺡ Qاﻝ_ب ن ر 9واﺡ %ه ;9 :Fﻥ Hﻝ ن ر 9ه:F
;9ن واﺡ.%
دة Iل ; ا7ﺥKء :;Fاﻝ& 5اﻝ&?ی Cض اﻥ
وزی ﻥ
Jار9م ﺕ;%أ
٠.٠١و ا7ر9م Dی %ـ F6 ٠.٠١ا7ر9م و ﺕ 2ب ١.٠
اﻝد
& آن, اﻝb ان اﻝﺕ0 ﻝد ﻝrun
%& آ7 و٥٠.٥ وض ینC آن اﻝbاﻝﺕ
الgد ﺙ%
م%=F اوى و دة
?ن ان اﻝ;ﺕ09 دW 7ة ا% ٥٠.٤٩٩٩٨٥
7 اfloat ل% double %=6ل اﻥ ﻝ ا0;&ً آ ه هK اﻝ&?ی5& اﻝI ﻝbits
.32-bits I float و ال64-bits I double ن ال7 Fه
ه%& و٠.٩٩ 9ه ر%& Jول و ﻥ7 ا١ الJأ ﻥ%; ی& هloop ﻥ&\ ال.١
ﻝ? دةloop و هن ال.٠.٠١ ﻝـQ ﻥ%ا ﻝX و ه٠.٩٨
// Add 1, 0.99, ..., 0.01 to sum
for (double i = 1.0; i >= 0.01; i = i - 0.01)
sum += i;
2FC ﻥJ اﻝ0ی, ) و ﻥinteger 2 اﻥloop الcount م ال%=F ﻥ.٢
الbreak ; و آnested loop ه اه ی& ﻝloop ب9
ا2 break
.outer loop ﺕ^ﺙ
الo 2 ه اﻝ هinner loop الinner loop
و ﺕloop الF ی2 ﻝ0 2 او & ﺕﻥ اﻥ2 ورة اﻝ اﺡ% اﻝ2 continue
.ه
دى%& ورة اﻝ% اﻝloop ال
a9 و ﻥ٢٠ اﻝ١ 9ر7 اJل دة هI اﻝbreak م%=F ازاي ﻥHل یI ل0ه
١ م9ر7 اJ b ه ﻥﺕb و اﻝ? اﻝ`رة١٠٠ ; آن اآJ اﻝb ﺡﻝ ان ﻥﺕ
break ام%=6 J اﻝb ﻥﺕa اﻥ اﻝ`رة٢٠ اﻝ
٢٠ اﻝ١ م9ر7 اJل دة هI اﻝcontinue
GHل آن
?ن ﻥI ل0و ه
آJ;& ﻝK اﻝb ه?ف اﻝﺕb و اﻝ? اﻝ`رة١١ و١٠ م9ر7 اJ هW \
١١ و١٠ ا%
م9ر7 آ اJ ه?فa م اﻥ اﻝ`رة9ر7ا
outer:
for (int i = 1; i < 10; i++) {
inner:
for (int j = 1; j < 10; j++) {
if (i * j > 50)
break outer;
System.out.println(i * j);
}
}
outer loop ء دورة ال2ﻥ7 continue ام%=67 ل ﺕﻥI و دة
outer:
for (int i = 1; i < 10; i++) {
inner:
for (int j = 1; j < 10; j++) {
if (i * j > 50)
continue outer
System.out.println(i * j);
}
}
7ام ا%=6
اa= labeled loops الJ continue وbreak ام%=6 ا:U
.goto