Identifikatori i ključne reči
Identifikatori služe za imenovanje promenljivih, klasa, metoda, programa i dr. Svaki identifikator je niz jednog ili više karaktera, ali uz određena ograničenja. Prvi znak može biti slovo, _ (donja crta) ili $ (oznaka za dolar). Ostali znaci mogu biti slova, cifre, _ ili $. Dužina identifikatora nije ograničena. U identifikatorima je moguće koristiti standardna slova latinice, cifre i sve Unicode karaktere čiji je broj veći od 00C0.
Java pravi razliku između malih i velikih slova (case sensitive). Tako će niske objekat i Objekat predstavljati dva različita identifikatora.
Evo nekoliko ispravnih identifikatora:
X, _abc, a123, $identifikator_nema_ogranicenu_duzinu
Sledeće niske ne mogu biti identifikatori:
3dObjekat, !temp, student.ime
Nekoliko identifikatora Java koristi u specijalne svrhe. Ovi identifikatori se nazivaju ključne reči (keywords) i oni ne mogu biti korišćeni za imenovanje bilo čega drugog. U tabeli koja sledi prikazane su ključne reči Jave.
Tabela 1. Ključne reči Jave
abstract
|
continue
|
for
|
new
|
switch
|
assert
|
default
|
goto
|
package
|
synchronized
|
boolean
|
do
|
if
|
private
|
this
|
break
|
double
|
implements
|
protected
|
throw
|
byte
|
else
|
import
|
public
|
throws
|
case
|
enum
|
instanceof
|
return
|
transient
|
catch
|
extends
|
int
|
short
|
try
|
char
|
final
|
interface
|
static
|
void
|
class
|
finally
|
long
|
strictfp
|
volatile
|
const
|
float
|
native
|
super
|
while
|
Reči true, false i null su tzv. rezervisane reči. Ni one ne mogu da se koriste kao identifikatori.
Literali
Literal je izraz koji predstavlja samog sebe. Upotrebljavaju se za predstavljanje nekih vrednosti. Pogledajmo sledeću naredbu dodele:
x = x+4
Ovde je x identifikator koji označava ime promenljive. Broj 4 je literal, dakle predstavlja sam sebe, a ne promenljivu koja se zove ’4’.
Brojevni literali
Celobrojni literali su literali koji predstavljaju brojeve. Mogu biti dekadni, oktalni i heksadekadni. Dekadni ne počinju cifrom 0, oktalni počinju cifrom 0, a heksadekadni sa 0x ili 0X. Tako će na primer, literal 063 da predstavlja broj 51 predstavljen oktalnim zapisom.
Celobrojni literali su tipa int ili long, u zavisnosti od njihove vrednosti. Tako će broj 6 biti tipa int. Ukoliko iz nekog razloga želimo da on ipak bude sačuvan kao long tip, koristimo sledeći zapis 6L (ili 6l). Više o tipovima podataka biće reči kasnije.
Evo nekoliko primera celobrojnih literala:
463, 0, 022, 0XED123, 0L, 13242442422662l, 03535353L, 0x6da533l
Realni literali se sastoje iz dva dela, celobrojnog i decimalnog. Svaki realni literal je tipa double, bez obzira na njegovu preciznost. Ukoliko želimo da bude tipa float, neophodno je na kraj broja dopisati slovo F ili f. Za realne literale moguće je koristiti i eksponencijalni zapis.
Evo nekoliko primera realnih literala:
18e5f, 1.E3, 21.3547888, .123e+7, .36e-5f
Logički literali
Logičke vrednosti se predstavljaju rezervisanim rečima true i false.
Znakovni literali
Mogu biti karakter ili neki od tzv. nevidljivih karaktera. Mogu biti predstavljeni karakterom u jednostrukim navodnicima (‘a’, ‘$’, ‘5’) ili tzv. escape sekvencama.
Evo nekoliko primera znakovnih literala:
‘t’, ‘\n’, ‘\\’, ‘\u142’
U sledećoj tabeli je prikazana lista escape sekvenci za karaktere.
Tabela 2. Escape sekvence
Oznaka
|
Značenje
|
\n
|
Line Feed
|
\t
|
Horizonatalni tab
|
\b
|
Backspace
|
\r
|
Carriage return
|
\f
|
Formfeed
|
\\
|
Kosa crta
|
\'
|
Jednostruki navodnik
|
\"
|
Dvostruki navodnik
|
\ddd
|
Oktalni zapis karaktera
|
\xdd
|
Heksadecimalni zapis karaktera
|
\udddd
|
Unicode kod karaktera
|
U Javi nije moguće koristiti kod za zvuk (u C-u ‘\a’) i vertiklani tab (‘\v’).
String literali
String je niska karaktera. U Javi ona se zapisuje unutar dvostrukih navodnika. Tako su “Java programiranje” i “” dva string literala, pri čemu ovaj drugi predstavlja prazan string. String može, sem karaktera, da sadrži i escape sekvence. Pogledajte sledeće primere string literala:
“String koji sadrzi \t horizontalni tab”
String koji sadrzi horizontalni tab
“Trenutno ucimo lekciju \”Leksicka struktura Jave\””
Trenutno ucimo lekciju ”Leksicka struktura Jave”
“Java\u2122 je delo kompanije Sun Microsystems”
Java™ je delo kompanije Sun Microsystems
Izrazi i operatori
Izrazi su najednostavnija forma naredbe u Javi kojom se nešto postiže. Svaki izraz, nakon izvršavanja, vraća neku vrednost, dok druge naredbe to ne moraju. Ova vrednost koja je dobijena nakon izračunavanja se ili dodeljuje nekoj promenljivoj ili se poredi u okviru neke druge naredbe.
Izrazi se obično grade od promenljivih, literala i operatora pomoću kojih se vrši izračunavanje. Operatori su specijalni simboli za aritmetičke operacije, različite vrste dodela, povećanje i smanjenje vrednosti i logičke operacije.
Aritmetički operatori
Java ima pet operatora za osnovne aritmetičke operacije. Prikazani su u sledećoj tabeli:
Tabela 3. Aritmetički operatori u Javi
Operator
|
Značenje
|
Primer
|
Rezultat
|
+
|
Sabiranje
|
6+4
|
10
|
-
|
Oduzimanje
|
6-4
|
2
|
*
|
Množenje
|
6*4
|
24
|
/
|
Deljenje
|
6/4
|
1
|
6.0/4
|
1.5
|
%
|
Moduo
|
6%4
|
2
|
Obratite pažnju na rezultate primera za deljenje. Deljenje celobrojnih vrednosti kao rezultat ima celobrojnu vrednost. Tako 6/4 kao rezultat ima vrednost 1, dok se decimalni deo u ovom slučaju odseca. Međutim, dovoljno je da samo jedan od operatora bude tipa float ili double, pa će u tom slučaju ceo rezultat biti takođe float ili double. Više o konverzijama tipova iz jednog u drugi možete naći na zvaničnom Java web sajtu http://java.sun.com/.
Operatori dodele
Dodeljivanje vrednosti promenljivoj takođe predstavlja izraz. Obzirom da operator dodele za rezultat ima neku vrednost, moguće je njihovo povezivanje:
x = y = z = 0
Desna strana operatora dodele se uvek prvo izračuna, pa se tek onda ta vrednost dodeljuje promenljivoj. U Javi postoji nekoliko operatora dodele, koji su uglavnom pozajmljeni iz programskog jezika C. Oni su prikazani u sledećoj tabeli:
Tabela 4. Operatori dodele
Izraz
|
Značenje
|
x += y
|
x = x + y
|
x -= y
|
x = x - y
|
x *= y
|
x = x * y
|
x /= y
|
x = x / y
|
Operatori uvećanja i smanjenja
Kao i u programskom jeziku C, operatori ++ i -- služe za povećanje ili smanjenje vrednosti promenljive za 1. Tako izrazi x++ i x=x+1 imaju isti efekat.
Ovi operatori mogu biti napisani ispred ili iza promenljive. I u jednom i u drugom slučaju promenljiva se povećava/smanjuje za jedan, ali sa jednom razlikom. U naredbama gde se ovaj operator koristi u kombinacijom sa operatorom dodele, x++ i ++x imaće različiti efekat. Pogledajte sledeće primere:
Tabela 5. Prefix i postfix operatori uvećanja
Početne vrednosti
|
Izraz
|
Rezultat izraza
|
y = 5 ; x = 3
|
y = x++
|
y = 3 ; x = 4
|
y = 5 ; x = 3
|
y = ++x
|
y = 4 ; x = 4
|
U prvom slučaju, prvo se promenljivoj y dodeljuje vrednost promenljive x, a tek onda se vrednost promenljive x uvećava za 1. U drugom slučaju situacija je obrnuta.
Operatori poređenja
Operatori poređenja prikazani su u sledećoj tabeli.
Tabela 6. Operatori poređenja
Operator
|
Značenje
|
==
|
Jednako
|
!=
|
Različito
|
<
|
Manje od
|
>
|
Veće od
|
<=
|
Manje od ili jednako
|
>=
|
Veće od ili jednako
|
Logički operatori
Izrazi koji kao rezultat imaju vrednost true ili false mogu biti kombinovani korišćenjem logičkih operatora koji predstavljaju osnovne logičke operacije. Ovi operatori su predstavljeni u sledećoj tabeli:
Tabela 7. Logički operatori
Operator
|
Značenje
|
& ; &&
|
„i“
|
| ; ||
|
„ili“
|
^
|
ekskluzivno „ili“
|
Pored do sada opisanih, u Javi postoje i drugi operatori koji neće biti razmatrani u ovom kursu. Podatke o kompletnoj listi operatora, kao i o prvenstvu njihovog izvršavanja, možete naći na adresi http://java.sun.com/docs/books/tutorial/java/nutsandbolts/operators.html.