Prethodna | Nadređena | Naredna

Programski jezik Java

Sadržaj


Azbuka i identifikatori

Koristi se međunarodni 16-bitni Unicode. Niz slova, cifara i znaka podvučeno. (Slova: ćirilična, grčka, kineska, zulu, ...).

Komentari

// ...               /* ... */               /** ... */

Skalarni tipovi podataka

Operatori

  1. [] . () a++ a--
  2. ++a --a + - ~ !
  3. new (tip)
  4. * / %
  5. + -
  6. << >> >>>
  7. < > <= >= instanceof
  8. == !=
  9. &
  10. ^
  11. |
  12. &&
  13. ||
  14. ?:
  15. = += -= *= /= %= <<= >>= >>>= &= ^= |=

Naredbe

tip ime , ime = izr , ... ;
final tip ime = izr , ime = izr , ... ;    // Konstante.
izr ;
{ nar ; ... ; nar }
if ( usl ) nar else nar
switch ( izr ) { case konst : nar ... default: nar }
while ( usl ) nar
for ( izr1 ; usl2 ; izr3 ) nar
for ( tip ime = izr1 ; usl2 ; izr3 ) nar
do nar while ( usl ) ;
break ozn                      // ozn: { ... { ... break ozn ; ... } ... }
continue ozn
return izr

Klase

class TKla { ... }
TKla x = new TKla (); // Objekti su uvek u dinamičkoj memoriji.
x.clan = ...;
x = null;             // Nekorišćeni objekti se uništavaju automatski.
class TIzv extends TOsn {    // Podrazumeva se: extends Object
  public int a, b=12;        // Podarzumeva se vrednost 0.
  private final int c=55;    // Konstantan pojedinačni član.
  package static int e, f=8; // Zajednički član.
  static { /* Naredbe za inicijalizaciju zajedničkih članova. */ }
  private double fun1 ( ... ) { ... }     // this.član   super.član
  public  int    fun1 ( ... ) { ... }     // Preklapanje imena metode.
  public static int fun2 ( ... ) { ... }  // Nema this
  public final char fun3 ( ... ) { ... }  // Ne može da se redef. u izv.
  TIzv ( ... )             // Konstuktor.
    { super ( ... ); ... } // Ako se ne navede, poziva se super()
  finalize ()              // Izvršava se prilikom uništavanja objekta.
    { super.finalize (); ... }
  public static void main (String[] argi) { ... }
}
final class TKla { ... }   // Ne može da se koristi kao osnovna klasa.

Klase za skalarne tipove podataka

Boolean, Character, Byte, Short, Integer, Long, Float, Double

Nizovi

float[] x = new float[3];      // x.length == 3;
int[][] y = new int[10][4];    // y.length == 10;  y[2].length == 4;
int s=0; for (int k=0; k<x.length; s+=x[k]) ; // Izvan ciklusa nema k.

Izuzeci

class Greska extends Exception {  // Klasa izuzetka.
  Greska ( ... ) { ... }
  ...
}
public Tip fun ( ... ) throws Greska {  // Funkc. koja prijavljuje izuz.
  ... if (uslov) throw new Greska ( ... ); ...
}
try {                  // Deo programa gde može da se pojavi izuzetak.
  ... fun ( ... ); ...
} catch (Greska g) {   // Obrada izuzetka tipa Greska.
  ...
} catch (TipIzuz ImeIzuz) {
  ...
} finally {            // Ovaj deo se obavezno izvršava.
  ...
}

Niti

class Nit extends Thread {
  ...
  public void run ()
    { /* Prilikom pokretanja niti poziva se ova funkcija. */ }
  public synchronized Tip1 fun1 ( ... ) {
    // Izvršavanje sinhronizovane funkcije se odlaže sve dok je
    // tekući objekat (this) zauzet od strane neke druge
    // sinhronizovane funkcije.
  }
  public Tip2 fun2 ( ... ) {
    ...
    sinhronized ( obj ) {
      // Izvršavanje sinhrnoizovane naredbe se odlaže sve dok je
      // navedeni objekat (obj) zauzet od strane druge
      // sinhronizovane naredbe ili funkcije.
    }
    ...
  }
  public synchronized Tip3 fun3 ( ... ) {  ...
    while (! uslov) wait ();   // Čekanje da druga nit daje signal.
    while (! uslov) wait (10); // Čekanje na signal najviše 10 ms.
    ...
  }
  public synchronized Tip4 fun4 ( ... ) {  ...
    notify ();        // Davanje signala drugoj niti koja čeka.
    ...
  }
}

Nit nit = new Nit ();
nit.start ();          // Pokretanje niti.
nit.suspend ();        // Privremeno zaustavljanje niti.
nit.resume ();         // Nastavak izvršavanja niti.
nit.stop ();           // Prekidanje niti.

Autor: Laslo Kraus
E-pošta: kraus@etf.rs

Copyright © 1998, Laslo Kraus
Poslednja revizija: 13.6.1998.