torek, 30. november 2010

Atribut length

V Javi pripada vsaki tabeki atribut length, ki predstavlja dolžino tabele. Dolžina tabele je v bistvu število elementov tabele.

od.length   12 // osebni dohodki
stevci.length 6 // meti kocke

Atribut length omogoča da pišemo bolj proste programe. Pomaga ko želimo napisati neke zanke.

for (int i = 0;  i
   od[i] = BranjePodatkov.preberiDouble();

Primeri: 
program Meti kocke (s tabelo) 


public class MetiKockeSTabelo {
    public static void main(String[]args){
       // deklaracija tabele stevcev
       int[] st = {0,0,0,0,0,0}

       // branje stevila metov
       System.out.println("Stevilo metov: ");
       int n = BranjePodatkov.preberiInt();

      //zanka, v katrei simuliramo mete
      for (int i = 1; i <=n; i++){
           int mer=(int)(Math.random()*6)+1;
          st[met-1]++
     }

     //izpis vrednosti vseh stevcev (vseh elementov tabele st)
      for (int i =0; i
           System.out.print ( st[i] + " ");
    }
}

Tabele

Tabela je sestavljena podatkovna struktura, ki združuje elemente podatkov istega tipa.


Primer 1: Simuliranje metov točke
Namesto šestih samostojnih spremenljivk, ki so predstavljale posamezne števce, raje uporabimo tabelo.


Primer 2:  Če moramo predstaviti podatke o osebnih dohodkih nekega delavca za recimo 12 mesecev predhodnjega leta, namesto 12 samostojnih spremenljivk raje vpeljemo tabelo.

Deklaracija tabele
Imamo dva koraka, ki sta podobna kot pri objektih.
1.) deklaracija spremenljivke, ki predstavlja tabelo
2.) samo deklariranje tabele

Tip spremenljivke je določen s tipom elementov in z ustreznim številom oglastih oklepajev. (Pari predstavljajo število dimenzij tabele. Št. dimenzij je v Javi neomejeno.)

V pomnilniku v 1. koraku dobimo spremenljivko z imenom števci. Njena vrednost je enaka null. (Tabele nismo kreirali.) V drugem koraku se dodeli prostor za tabelo. Vsaka celica predstavlja en števec.

Dostop do posameznih elementov je možen s pomočjo indeksov. Indeks je zaporedna številka elementa v tabeli. Pri Javi velja da se indeksi začenjajo od 0 dalje. (Zadni indeks je za ena manjši, kot je število vseh elementov v tabeli. )

int [] stevci;
stevci = new int [6];

-> koraka lahko združimo : int[]stevci = new int [6];

Vpis vrednosti v tabelo 
Ko tabeli dodelimo prostor (z operatorjem new) v pomnilniku, Java sama vzpostavi začetne vrednosti elementov:
- elementi numeričnega tipa dobijo vrednost 0;
-elementi tipa boolean dobijo vrednost false;
- elementi tipa char dobijo vrednost "\u0000"
- elementi, ki predstavljajo objekte dobijo vrednost null

Prireditveni stavek: vsakemu elementu posebej priredimo vrednost s prireditvenim stavkom.

od[0]= 1218; // januar
od[1] = 1088; // feb
od[2] = 1301; // marec
   .
   .
   .
od[11] 01835; // dec

Za prirejanje vrednosti vsem elementom naenkrat uporabimo zanko:

for (int i = 0;  i < 12; i++) {
  od[i] = BranjePodatkov.preberiDouble();
}

Druga možnost: inicializacija tabele s seznamom vrednosti: ko tabele deklariramo naštejemo vrednosti posameznih atributov.

double[] od = {1218, 1088, 1301, ... , 1835}; // osebni dohodek

int [] stevci = {0,0,0,0,0,0}; // meti kocke

sreda, 24. november 2010

Overloading

Imamo več metod z enakim imenom, a različnim seznamom parametrov. Izvede se tista metoda pri katrei se seznam formalnih parametrov ujema z dejanskimi.
Primer: Za razredDelavec napišemo še 2 konstruktorja. Prvi konstruktor vzpostavi samo vrednost matične številke (zato ima zgolj 1 parameter) Drugi konstruktor vzpostavi vrednosti vseh atributov (4 parametri)

public Delavec(int matSt){
    this.matSt=matSt;
}

public Delavec(int matSt, String priimek, String ime, int stUr){
    this.matSt=matSt;
    this.priimek = priimek
    this.ime = ime;
   this.stUr = stUr;
}

Kreiranje objektov s pomočjo teh dveh konstruktorjev:
// v razredu TestDelavec

Delavec d1=new Delavec (555);
Delavec d2= new Delavec (999, "Kralj", "Lev", 120);

Pisanje lastnih konstruktorjev

Omogoča, da nastavimo ustrezne začetne vrednosti atributov.Ob kreiranju objekta lahko izvedemo še druge operacije.Lahko deklariramo konstruktorje s parametri. Standarden javanski konstruktor potem ni več na razpolago.

Primer lastnega konstruktorja za razred Delavec


Predpostavka: Ko se delavec zaposli poznamo vrednost atributov matSt, priimek in ime, ne poznamo pa št. ur.

{popravki v razredu Delavec}

public Delavec (int matSt, String priimek, String ime) {
   this.matSt = matSt;
   this.priimek = priimek;
   this.ime = ime;
}

Uporaba tega konstruktorja v razredu TestDelavec :
Delavec d = newDelavec (234,"Novak", "Janez");

{popravki v razredu TestDelavec}

public class TestDelavec{
   public static void main
      Delavec d = new Delavec (234, "Novak", "Janez");
      // vpisi vrednosti atributov odpade ; razen za stUr !b

Napišemo lahko več lastnih konstruktorjev. Na ta način lahko objekt inicializiramo na več različnih načinov. Podlaga za pisanje več različnih konstruktorjev je koncept overloading (večkratno definiranje metod) .



Kreiranje objektov

Razred Delavec samo opisuje zgradbo objektov, ne kreira pa nobenega objekta. Kreiranje objektov poteka v dveh korakih. Prvi korak zahteva, da objekt deklariramo kot spremenljivko. Za tip objekta uporabimo kar tip razreda.
Delavec d; // tip objekta je določen z imenom razreda, v katrem je opisana zgradba tega objekta
                 // v drugem koraku dodelimo porostor za objekt in vzpostavimo začetne vrednosti atributov.
d = new Delavec();
// new: operator, ki v pomnilniku dodeli prostor za objekt
// Delavec: konstruktor, ki nastavi začetne vrednosti atributov
// Oba koraka lahko združimo:
// Delavec d = new Delavec();

Konstruktor je posebna metoda, ki se kliče skupaj z operatorjem new. Ime konstruktorja mora biti enako imenu razreda. Če mi ne napišemo lastnega konstruktorja, se uporabai standarden (default) konstruktor, ki je v Javi na razpolago avtomatsko. Glavna naloga konstruktorja je, da nastavi začetne vrednosti atributov, lahko pa izvaja tudi kakšne druge operacije. Konstruktor nikoli ne vrača vrednosti.

Standardni konstruktor dodeli atributom naslednje vrednosti:
- numerični atributi dobijo vrednost 0
- atributi tipa char dobijo vrednost ¨\u0000¨
- atributi tipa boolean dobijo vrednost false
- atributi tipa String dobijo vrednost null  (enako velja za vse atribute objektnega tipa in za tabele)

Imamo 2 vrsti podatkovnih tipov:
-vrednostni tipi : spremenljivka hrani vrednost nekega podatka (byte, short, int, long, float, double, char, boolean)
- sklicni tipi: spremenljivka vsebuje naslov podatka (String, tabele)

Nadaljevanje primera Delavec: Razred TestDelavec, ki uporablja razred Delavec


Naša rešitev obsega 2 razreda: RazredDelavec ki opisuje zgradbo objektov in razred TestDelavec, ki predstavlja aplikacijo, v katrei uporabljamo objekte tipa Delavec (application class)

public class TestDelavec{
   public static void main(String[] args){
   // kreiranje objekta
   Delavec d = new Delavec();
   //vpis vrednosti atributov
    d.vpisiMatSt(234);
    d.vpisiPriimek("Novak");
    d.vpisiIme("Janez");
    d.vpisiStUr(172);
    //izpis vrednosti atributov s pomočjo metod getter
    System.out.println("Maticna stevilka: " + d.vrniMatSt());
    System.out.println("Priimek in ime: " +d.vrniPriimek() + " " + d.vrniIme());
    System.out.println("Stevilo ur: " + d.vrniStUr());

   // izpis vseh atributov na enkrat z metodo izpisiVse
    d.izpisiVse();

   //izpis vsebine objekta s pomočjo metode toString
   System.out.println(d.toString());

   //izpis bruto osebnega dohodka
   System.out.println("Bruto OD:" + d.izracunajBrutoOD(10.5));
    }
}

Sklicevanje na metode in atribute razreda, ki opisuje zgradbo objektov
Splošno pravilo za sklicevanje metod, ki so vezane na objekte:
. ( )

Če bi bili v razredu Delavec atributi matSt, priimek, ime in stUr deklarirani z določilom public, bi jih lahko uporabljali na nasleden način:

d.matSt
d.priimek
d.ime
d.stUr
.

torek, 23. november 2010

Razredi in objekti

Razred: vsi objekti istega tipa tvorijo nek razred.
Objekt: konkreten primerek nekega razreda.

Objekt vsebuje atribute in metode.
Atributi: opisujejo lastnosti objekta in stanje objekta.
Metode: predstavljajo operacije, ki jih objekt lahko izvede.

Razred, ki opisuje izgradbo objektov vsebuje:
- deklaracije atributov
- deklaracije metod  in
- deklaracije konstruktorjev.

Skrivanje detajlov, ki so povezani z realizacijo: objekt se obnaša kot črna škatlja (enkapsulacija)

Primer: Razred delavec; opisuje zgradbo objektov, ki predstavljajo posamezne delavce v nekem podjetju

public class Delavec {
      // deklaracija atributov
     // atribute deklariramo kot spremenljivke, zaradi skrivanja detajlov uporabimo določilo private
     private int matSt;
     private String priimerk;
     private String ime;
     private int stUr;

     // dekaracija metod
    // uporabimo določilo public, tako da so metode dostopne tudi iz ostalih razredov
   // metode, ki so vezane na objekte nimajo določila static
   // v razredih ki opisujejo zgradboobjektov, imamo 3 vrste metod

   // metode setter ; metode , ki predstavljao verdnosti atreibutov
    public void vpisi MatSt (int ms){
             matSt = ms;
    }
    public  void vpisiPriimek(String p){
            priimek = p;
    }
    public void vpisiIme (String ime) {
            this.ime = ime;  // referenca this predstavlja naslov objekta, ki mu pripada ta metoda
    }
    public void vpisiStUr(int stUr){
           this.stUr= stUr;
   }

   // metode getter, ki vračajo vrednosti atributov
   public int vrniMatst(){
        return matSt;
   }
  public String vrniPriimek(){
        return priimek;
   }
   public String vrniIme(){
        return ime;
    }
   public int vrniStUr(){
       return stUr;
   }


 // metode utility; uporabne metode,. ki izvajajo različne koristne operacije
   public double izracunajBrutoOD (double cenaUre){
          return cenaUre* stUr;
   }
   public void izpisiVse(){
        System.out.println("Maticna stevilka: " +matSt);
        System.out.println("Priimek in ime: " + priimek+ " " +ime);
        System.out.println("Stevilo ur:" +stUr);
   }
   public String toString(){
           return matSt+" " +priimek+ " " +ime+ " " + stUr;
  }

nedelja, 7. november 2010

Metode

Uvod:
-def.metode
-zakaj jih uporabljamo
-kako jih deklariramo

Primeri:
-preprosta metoda brez parametrov
-metoda z parametri
-metoda, ki vrača vrednost

Def: Metoda je zaporedje stavkov, ki ima svoje ime. Ime omogoča da to zaporedje stavkov pokličemo z različnih mest v programu.

Uporaba metod: -Če se isto zaporedje stavkov pojavi na različnim mestih v programu potem zadostuje , da ga napišemo zgolj enkrat in kličemo z negovim imenom.
-Da izboljšamo strukturo programa. Program razdelimo na metode tako da vsaka metoda rešuje nek zaokrožen podproblem.
-Pri objektno usmerjenem programiranju (OOP)  z metodami opišemo operacije, ki jih izvajajajo posamezni objekti.

Deklaracije metod:
Metoda ima glavo in telo. Telo je zaporedje stavkov, ki se izvedejo (,ko metodo pokličemo). Glava pa je sestavljena iz več delov. -> ogled na primeru metode main.
public static void main (String[] args)
Glavo sestavljajo različna določila. V našem primeru public in static.
public: metoda je javna, dostopna tudi iz drugih razredov
static: metoda obstaja samostojno, brez povezave z objekti.

Sledi tip rezultata:
void: metoda ne vrača vrednosti. Če metoda vrača vrednost, moramo napisati kakšnega tipa je ta vrednost.

Sledi ime metode:
ime določi programer, začne se z malo črko.

Sledi seznam parametrov ( v oklepaju)
Seznam parametrov je lahko prazen.

Primer 1: Preprosta metoda brez parametrov
Predpopstavka: Pišemo nek program v katerem se na več različnih mestih pojavlja zahteva za izpis naslova fakultete.

public class Primer1 {
    public static void main (String[] args) {
    // razlicni staviki
   // prvo mesto, kjer potrebujemo izpis naslova
     naslov (); // klic metode, z imenom naslov
   // razlicni stavki

   // drugo mesto, kjer potrebujemo izpis naslova
    naslov ();

   // tretje mesto, kjer potrebujemo izpis naslova
     naslov ();
   }

      public static void naslov () {
         System.out.println("Fakulteta za racunalnistvo");
         System.out.println ( " in informatiko") ;
         System.out.println(" Trzaska 25");
         System.out.println("1000 Ljubljana") ;
      }
  }
}

Primer 2 :Metoda s parametri
Predpostavka: Želimo napisatinaslov poljubne fakultete
Rešitev je upeljava parametrov. Preko parametrov posredujemo metodi podatke, ki jih potrebuje za svoje delo.
Podatki: - prvi del imena fakultete
- drugi del imena fakultete
- ulica in hišna številka
- poštna številka in pošta

public class Primer2 {
    public static void main  (String [] args) {
          naslov ("Fakulteta za racunalnistvo", "in informatiko", "Trzaska 25", "1000 Ljubljana") ;
          naslov ("Fakulteta za upravo", " ", "Gosarjeva 5", "1000 Ljubljana") ;
          naslov ("Fakulteta za matematiko", "in fiziko", "Jadranska 15", "1000 Ljubljana") ;
    }
    public static void naslov (String ime1, String ime2, String ulica, String posta) {
         System.out.println ( ime1);
         System.out.println ( ime2);
         System.out.println ( ulica);
         System.out.println ( posta);
   }
}

Formalni parametri so tisti, ki jih navedemo v glavi metode. Služijo zgolj za opis postopka, ki ga metoda izvaja.
Dejanski parametri so tisti, ki jih navedemo ob klicu metode. Predtavljajo tiste vrednosti nad katerimi se postopek v resnici izvede.

Ob klicu metode pride do zamenjave formalnih parametrov z dejanskimi. Formalni se morajo ujemati v številu, vrstnem redu in tipu.

Ujemanje v tipu: Tip dejanskega parametra mora biti skladen s tipom formalnega parametra. Skladnost je dosežena: - če sta tipa enaka, - če je tip dejanskega parametra vsebovan v tipu formalnega (pride v poštev pri numeričnih tipih)

Primer3: Metoda s parametri
Želimo računatai obresti pri vezavi na eno leto. Metoda, ki izračuna vrenost depozita po enoletni vezavi.
Kaj so primerni parametri? -glavnica, -obrestna mera

public class Primer3{
    public static void main (String [] args) {
        poEnemLetu (1000, 3.5) ;
        poEnemLetu (100 000, 3.9);
        double gl = BranjePodatkov.preberiDouble();
        double obr = BranjePodatkov.preberiDouble();
        poEnemLetu(gl, obr);
   }
       public static void poEnemLetu (double glavnica, double obrMera) {
            double novoStanje = glavnica + glavnica * obrMera / 100;
            System.out.println(novoStanje);
      }

}

Dejanski parameter je lahko naveden kot: konstanta, spremenljivka ali izraz.

Primer 4: Metoda, ki vrača vrednost

Potrebni sta dve spremenljivki
Naloga: Predelamo metodo iz primera 3 v tako obliko, da bo vračala vrednost

1. spremenljivka: v glavi metode
Napisati moramo ime tipa, ki ga metoda vrne. S tem povemo, kakšnega tipa je vrednost, ki ga metoda vrača.

2. spremeljivka:
Stavek return
Služi za to, da povemo, kaj metoda vrne.

Splošna oblika stavka return:
return [izraz]; // izraz določa vrednost, ki jo metoda vrne.
V Javi vrstni red metod ni pomemben. Metode, ki vračajo vrednost ne kičemo kot samostojni satvek, ampak kot sestavni del izraza. 


Program:
public class Primer4 {
    public static double poEnemLetu (double glavnica, double obrMera) {
         double novoStanje = glavnica + glavnica * obrMera/100;
         return novoStanje;
   }
         //namesto gornjih dveh stavkov imamo lahko zgolj enega : return glavnica + glavnica * obrMera/100;
        public static void main (String [] args) {
            //metodo, ki vrača vrednost, kličemo znotraj izraza
           // klic metode, ki vrača vrednost, ni samostojen stavek, ampak je del izraza
           double novoStanje = poEnemLetu(1000, 3.5);
           System.out.println(novoStanje);
          System.out.println(poEnemLetu(100 000, 3.9));
          System.out.println("Po enem letu varcevalec dobi" + poEnemLetu (1000, 3.9) + "EUR ." ) ;
        }
 }




torek, 2. november 2010

Nekaj tipičnih postopkov

1. Računaje vsote
2.Iskanje minimuma / maximuma
3. gnezdenje zank


RAČUNAJE VSOTE
Vsoto pri pragramiranju računamo v zaniki. Pravilo: Pred vstopom v zanko spremenljivka vsota dobi vrednost 0.

Primer: Napišite program, ki prebere 5 števil in izračuna njihovo vsoto.


public class Vsota{
public static void main(String[] args){
int x;
      int vsota=0;
for (int i=1; i<=5; i=i+1){
System.out.print("Vnesi stevilo: ");
     x=BranjePodatkov.preberiInt();
vsota=vsota+x;
}
System.out.println("Vsota znasa: "+vsota);
}
}

Primer 2 : Iskanje maksimuma števil


public class Maksimum
{
public static void main (String[] args)
{
System.out.print ("Vnesi stevilo vnosov: ");
int n=BranjePodatkov.preberiInt();
int max=Integer.MIN_VALUE; // najmanjše možno celo število
//(-2^30==-2 milijardi)
for (int i=1; i<=n; i=i+1)
{
System.out.print ("Vnesi stevilo: ");
int x=BranjePodatkov.preberiInt();
if (x>max)
max=x;
}

System.out.println( "Maksimum: " + max);
}
}


// izmed 10-tih števil, izpiši največje število

public class Maksimum1 {
public static void main (String[] args){
int x;
int vsota=0;
for (int i=1;i<=10;i++) {
x=BranjePodatkov.preberiInt();
vsota=vsota+ x; //vsota+=x;
}
System.out.println("Vsota je " + vsota); //konkratenacija
}
}

Primer 3: Izpis poštevanke

//Gnezdenje zank->Napišimo program,
//ki izpiše tabelo poštevanke števil od 1 do 10.

public class Postevanka{
public static void main (String [] args){
int p;
for( int i=1; i<=10; i++){
//izpisi i-to vrstico postevanke
for(int j=1; j<=10; j++){
p=i*j;
System.out.printf("°%5d",p);
}
System.out.println();//skok v novo vrstico
}
}
}

GNEZDENJE ZANK

Primer: Program šahovnica / lovec iz učbenika Java skozi primere

//program za gnezdenje zank->Šahovnica/Lovec oz.tekač

public class PotezeLovca{
public static void main (String[] args){
// branje položaja lovca
int zacVr=BranjePodatkov.preberiInt();
int zacSt=BranjePodatkov.preberiInt();

//izpis šahovnice
for (int i=1; i<=8; i++) { // zanka za ispis vrstic (zunanja zanka)
for (int j=1; j<=8; j++) { //zanka za ispis polj v tekoči vrstici (notranja zanka)
//izpis enega polja
if (i+j==zacVr+zacSt|| i-j==zacVr-zacSt)
System.out.print ("*"); //polje je napadeno
else if ((i+j)%2==0)
System.out.print ("B");
else
System.out.print("C");
} //konec notranje zanke ; če je v jedru zanjke en sam stavek oklepaji niso potrebni;
 // izvaja se zgolj stavek if
System.out.println ();
} // zaključek zunanjae zanke; ima več stavkov
}
}

Podatkovni tipi

Vsaka spremenljivka pripada točno določenemu podatkovnemu tipu. Pred uporabo spremenljivke, moramo obvezno določiti njen tip. = spremenljivko deklariramo. Deklaracija spremenljivke zahteva da določimo: - njen tip, - njeno ime in - njeno začetno vrednost.
S tipom določimo katre vrednosti spremenljivka lahko zavzame. Tip določa operacije, ki jih lahko nad spremenljivko izvajamo. (t.j. katere operacije so dostopne/ dovoljene) .

8 OSNOVNIH PODATKOVNIH TIPOV:
Tipi za zela števila : bite, short, long, int
za realna števila: flout, double
za logične vrednosti: boolean
za znake: char

REALIZACIJA VHODNO-IZHODNIH OPERACIJ
Branje in izpis podatkov sta realizirana s pomočjo metod.
Izpis : System /* ime razreda */ . out /* ime objekta, ki mu metoda pripada * / . println (...) // kaj želimo izpisati

Metoda println izpiše podatke in skoči v novo vrstico. Print ravno tako izpiše podatke, a ostane v isti vrstici.

Branje: uporabili bomo razred BranjePodatkov. Vsebuje 3 metode:
- preberiInt() // za branje celih števil
- preberiDouble() // za branje realnih števil
- preberiString() // za branje nizov

Primer:

public class PloscinaZaporedje{

 public static void main (String[]args){
     double a=BranjePodatkov.preberiDouble();
     double b=BranjePodatkov.preberiDouble();
     double c=BranjePodatkov.preberiDouble();
     if (a+b>c && a+c>b && b+c>a) {
       double s=(a+b+c)/2;
       double p= Math.sqrt(s*(s-a)*(s-b)*(s-c));
       System.out.println(p);
     }
   }
}

Primer 2 : 
public class PloscinaIzbira {
   public static void main (String[]args){
     double a=BranjePodatkov.preberiDouble();
     double b=BranjePodatkov.preberiDouble();
     double c=BranjePodatkov.preberiDouble();
     if (a+b>c && a+c>b && b+c>a) {
       double s=(a+b+c)/2;
       double p= Math.sqrt(s*(s-a)*(s-b)*(s-c));
       System.out.println(p);
}
  else{
    System.out.println ("Napačni podatki");
    }
  }
}

Primer 3: Računanje 5-tih trikotnikov s stavkom do ... while
public class PloscinaDoWhile{
public static void main(String[] args){
int i=1;
do{
double a=BranjePodatkov.preberiDouble();
double b=BranjePodatkov.preberiDouble();
double c=BranjePodatkov.preberiDouble();
if (a+b>c && a+c>b && b+c>a){
double s=(a+b+c)/2;
double p=Math.sqrt(s*(s-a)*(s-b)*(s-c));
System.out.println(p);
}
else{
System.out.println("Napacni podatki");
}
i=i+1;
} while (i<=5);
}
}

Primer 4: S stavkom while

public class PloscinaWhile{
public static void main(String[] args){
int i=1;
while (i<=5){
double a=BranjePodatkov.preberiDouble();
double b=BranjePodatkov.preberiDouble();
 double c=BranjePodatkov.preberiDouble();
if (a+b>c && a+c>b && b+c>a){
double s=(a+b+c)/2;
double p=Math.sqrt(s*(s-a)*(s-b)*(s-c));
System.out.println(p);
}
else{
System.out.println("Napacni podatki");
}
i=i+1;

}
    }
}

Primer 5: s stavkom for
public class PloscinaFor{
  public static void main(String[] args){
for (int i=1; i<=5; i=i+1){ // krajši način je i++ ali ++1
double a=BranjePodatkov.preberiDouble();
double b=BranjePodatkov.preberiDouble();
    double c=BranjePodatkov.preberiDouble();
if (a+b>c && a+c>b && b+c>a){
double s=(a+b+c)/2;
double p=Math.sqrt(s*(s-a)*(s-b)*(s-c));
System.out.println(p);
}
else {
    System.out.println("Napacni podatki");
              }
}
}
}

Kadar število iteracij ni znano v naprej uporabimo stavka do ali do ... while, drugače uporabljamo stavek for. 




Stavki v Javi

Prireditveni stavek:
"spremenljivka" = "izraz";
Primer:
s=(a+b+c) : 2;
Ima nalogo da spremenljivki priredi vrednost izraza.

Stavek za izbiro:
1. stavek if
2. stavek swich

STAVEK IF

if () {
.
.
.
.
}
       else {
      .
     .
     .
     .
     }

Če je pogoj izpoljen se izvršiblok stavkov. Če pogoj ni izpoljen se izvrši drugi blok stavkov. Vpeljemo jih z besedo else .


Okrjena verzija stavka if 


if (){


}

Če pogoj ni izpoljen se program izvrši pri prvem stavku, ki sledi temu bloku.

Gnezdenje stavka if
Uporablja kadar je treba izbirati med beč kot dvema variantama.

Primer izbire med štirimi variantami:

if("pogoj1"){
.
.
}
     else if ("pogoj2"){

     .
     .
     .
     }
            else if (){
             .
             .
             .
             }
                    else if ("pogoj3"){
                     .
                      .
                      .
                     }
                           else{
                           .
                           .
                           .
                           }


Stavki za ponavljanje
STAVEK DO-WHILE
Pogoj za nadaljevanje prekinitve ponavljanja je na koncu jedra zanke. Izvede se najmanj en prehod pri jedru zanke. 
Stavek 1. while 2.for
Pogoj za nadaljevanje oz. za prekinitev ponavljanja je na začetku jedra zanke. 

Pravila za stavke:
STAVEK DO-WHILE

do{
.
.
.
}
    while(){
    .
    .
    .
    }

STAVEK WHILE
while(){
.
.
.
}

Vrednost pogoja je true ali false. True-ostanemo v zanki; ponavljanje se nadaljuje. False-ponavljanje se prekine. 

STAVEK FOR:
Združuje na enem mestu 3 pomembne sestavne dele zanke.
1. določitev začetne vrednosti števca
2.pogoj za prekinitev ponavljanja in nadaljevanje
3. povečanje števca (števec se lahko toretično tudi zmanjšuje) 

for ( ; ; ) {
.
.   //jedro zanke
.
}