OCA Java imtahan mövzuları

The for Statement

*FIGURE 1. The structure of a basic for statement

for-statement-in-java

Göründüyü kimi for ifadəsi 3 hissədən ibarətdir:

  1. initialization;
  2. booleanExpression;
  3. updateStatement.

1-ci və 3-cü hissə bir və ya bir neçə ifadədən (multiple statements) ibarət ola bilər və bu zaman həmin ifadələr bir-birindən vergül ilə ayrılır.

Əgər dəyişən initalization blokda (1-ci hissə) elan edilibsə, həmin dəyişənə ancaq for dövrünün içində müraciət edilə bilər. Əgər dəyişən for dövründən əvvəl elan edilib, initalization blokda dəyər mənimsədilibsə, həmin dəyişənə for dövründən kənarda da müraciət edilə bilər.

Yuxarıda icra olunma ardıcıllığı qeyd olunub, updateStatement ++a yaxud a++ olmasından asılı olmayaraq body hissə icra olunduqdan sonra icra olunur.

 

İmtahanda rastlaşa biləcəyimiz nümunlər:

 

1. Creating an İnfinite Loop

for( ; ; ) {
    System.out.println("This is infinite loop");
}
System.out.println("This line is unreachable because of infinite loop");  // does not compile

Nümunədən də göründüyü kimi for dövrünün bütün komponentləri optional`dı. for(;)for() şəklində yazılsa compile error verəcək. Bundan əlavə sonsuz dövrdən sonra gələn bütün ifadələr də compile error verir.

 

2. Adding Multiple Terms to the for Statement

int x = 0;
for(long y = 0, z = 4; x < 5 && y < 10; x++, y++) {
    System.out.print(y + " ");
}
System.out.println(x);

 

3. Redeclaring a Variable in the Initalization Block

int x = 0;
for(long y = 0, x = 4; x < 5 && y < 10; x++, y++) { // does not compile
    System.out.println(x + " ");
}

Aşağıdakı formada yazsaq compile olunacaq:

int x = 0;
long y = 10;
for(y = 0, x = 4; x < 5 && y < 10; x++, y++) {
    System.out.println(x+" ");
}

 

4. Using Incompatible Data Types in the Initialization Block

for(long y=0, int x=4; x<5 && y<10; x++,y++) {   // does not compile
    System.out.println(x + " ");
}

Initalization blokda elan olunan dəyişənlər hamısı eyni tipdə olmalıdır.

 

5. Using Loop Variables Outside the Loop

for(long y=0, x=4; x<5 && y<10; x++,y++) {
    System.out.println(y + " ");
}
System.out.println(x);   // does not compile

 

for dövrünün 3-cü hissəsində (update part) hər ifadəni yazmağa icazə verilmir. Ancaq aşağıdakı ifadələri istifadə etmək mümkündür:

  • Assignment;
  • PreIncrementExpression;
  • PreDecrementExpression;
  • PostIncrementExpression;
  • PostDecrementExpression;
  • MethodInvocation;
  • ClassInstanceCreationExpression.

Nümunələrə baxaq:

for( ; Math.random()<.07; ) { }
for( ; ; Math.random()<.07) { }  // does NOT compile
for( ; ; Math.random()) { }

 

[topics lang=az]

 

 “OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808”, by J.Boyarsky & S.Selikoff

About the author

Mushfiq Mammadov

Leave a Comment


The reCAPTCHA verification period has expired. Please reload the page.

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.