for(kintamojo inicializavimas; sąlyga; keitimas ) vykdoma komanda;
int j; for (int i=1; i<100; i++) j=i*i;Operatoriaus sąlygos gali būti ir sudėtingesnės. Pavyzdžiui, tokį ciklą valdo du kintamieji, vieno reikšmės vienetu didinamos, kito - mažinamos.
int i,j; for (i=1, j=15; i<j; i++; j--) {...operatoriai...}Panagrinėkime kiek įdomesnį pavyzdį.
import java.awt.*; import java.applet.*; public class Paral extends Applet { public void init() {} public void paint(Graphics g) { int j=10; g.setColor(Color.red); for (int i=0;i<10; i++ ) { g.drawLine(10,j, 200, j); j=j+10;} } }Pažiūrėkite, kaip veikia. Atsisiųskite programos tekstą.
for (;;) vykdomas operatorius;
import java.io.*; public class Fr{ public static void main ( String arg[] ) throws IOException { String xString; double x,y; BufferedReader br = new BufferedReader ( // Reikšmių įvedimo new InputStreamReader (System.in)); // organizavimas System.out.println ("Galiu apskaiciuoti viena funkcijos f(x)=x^3 + arcsin(x) reiksme"); for (;;){ System.out.print ("Iveskite argumento x reiksme: "); xString = br.readLine(); x = Double.parseDouble(xString); System.out.println ("f(x)="+(Math.pow(x,3)+Math.asin(x))); }}}Atsisiųskite programos tekstą.
Operatorius | Matematinis atitikmuo |
& | Loginis ir (AND) |
| | Loginis arba (OR) |
! | Loginis neiginys |
= = | Lygu |
!= | Nelygu |
while (sąlyga ) vykdoma komanda;Patikrinus, ar sąlyga teisinga, t.y. ar gaunama reikšmė true , vykdomas nurodytas operatorius (ar jų grupė). Po to vėl tikrinama sąlyga. Jeigu gaunama reikšmė false ciklas nutraukiamas. Begalinis while ciklas aprašomas taip: while(true) komanda;
do { komandos} while (sąlyga);pirmiausia įvykdomos skliaustuose užrašytos komandos ir tik po to tikrinama, ar ciklo sąlyga yra teisinga. Taigi ciklo komandos įvykdomos nors vieną kartą.
import java.awt.*; import java.applet.*; public class Oval extends Applet { public void init() {} public void paint(Graphics g) { int j=10; int i=0; g.setColor(Color.red); while(j<100) { if (j<50) {g.setColor(Color.green);}// Nurodome, kokia spalva braižyti. g.drawOval(j,j, 350-i, 200-i); j=j+10; i=i+20;} } }Pažiūrėkite, kaip veikia. Atsisiųskite programos tekstą.
import java.awt.*; import java.applet.*; public class Parab extends Applet { public void init() {} public void paint(Graphics g) { g.translate(110,10); // Perkeliame koordinačių pradžios tašką. int j=-100; int i=-10; int v; while(j<=100) { v=i*i; g.drawString("p",j,v ); j=j+10; i=i+1;} } }Pažiūrėkite, kaip veikia. Atsisiųskite programos tekstą.
if (sąlyga) vykdoma komanda;Komanda vykdoma tik tuomet, kai sąlyga yra teisinga, t.y. ją tikrinant gaunama reikšmė true . Po to vykdoma po operatoriaus if užrašyta komanda. Kai reikia įvykdyti specialią komandą tuo atveju, kai sąlyga neteisinga, galime naudoti operatorių if su priedu else:
if (sąlyga) vykdoma I komanda; else vykdoma II komanda;Antra komanda vykdoma tik tuo atveju, kai sąlyga yra neteisinga.
import java.awt.*; import java.applet.*; public class Oval1 extends Applet { public void init() {} public void paint(Graphics g) { setBackground(Color.white); int j=10; int i=0; while(j<100) {if (j<50) {g.setColor(Color.green);} else {g.setColor(Color.red); } g.drawOval(j,j, 350-i, 200-i); j=j+10; i=i+20;} } }Pažiūrėkite, kaip veikia. Atsisiųskite programos tekstą.
import java.io.*; public class Frif{ public static void main ( String arg[] ) throws IOException { String x_eil; double x,y; BufferedReader br = new BufferedReader ( // Reikšmių įvedimo new InputStreamReader (System.in)); // organizavimas System.out.println ("Galiu apskaiciuoti funkcijos f(x)=x^3 + arcsin(x) reiksmes"); for (;;) { System.out.print ("Iveskite argumento x reiksme: "); x_eil = br.readLine(); if(x_eil.equalsIgnoreCase("Q")) break; try{x = Double.parseDouble(x_eil);} // Tikrina ar ivestas skaicius catch (NumberFormatException e ) { System.out.println (xString+" nera skaicius");continue;} if((x<-1)|(x>1)) System.out.println ("Skaicius "+x+ " nepatenka i funkcijos apibrezimo sriti"); else System.out.println ("f(x)="+(Math.pow(x,3)+Math.asin(x))); }}}Atsisiųskite programos tekstą.
int atvejis, n; ............... switch (atvejis) { case 2: n=n*n; break; case 3: n=n*n*n; break; default: n=0; }Jeigu kintamasis atvejis įgyja reikšmę 2, kintamąjį n keliame kvadratu, jei 3 - keliame kubu. Kitais atvejais kintamajam priskiriame reikšmę, lygią nuliui.
import java.awt.*; import java.applet.*; public class Klaidz extends Applet { public void init() {} public void paint(Graphics g) { setBackground(Color.pink); int j=0; int i=0; int v; for (int n=0; n<40; n++) { v=n%3; switch(v) { case 0: g.drawLine(i,j, i+10,j); i=i+10; break; case 1: g.drawLine(i,j, i+10,j+10); i=i+10; j=j+10; break; case 2: g.drawLine(i,j, i,j+10); j=j+10; break; }}}}Pažiūrėkite, kaip veikia. Atsisiųskite programos tekstą.