320 likes | 468 Views
Programski jezici. proleće/leto 2008. Osnovni elementi. Tipovi podataka Elementarne konstrukcije Složene konstrukcije. Tipovi podataka. Primitivni (prosti) tipovi podataka “ugrađeni” Referencni (objektni) tipovi podataka “korisnički definisani”. Primitivni (prosti) tipovi.
E N D
Programski jezici proleće/leto 2008
Osnovni elementi • Tipovi podataka • Elementarne konstrukcije • Složene konstrukcije Programski jezici
Tipovi podataka • Primitivni (prosti) tipovi podataka • “ugrađeni” • Referencni (objektni) tipovi podataka • “korisnički definisani” Programski jezici
Primitivni (prosti) tipovi • Celobrojni tip • byte • short • int • long • Realni tip • float • double • Znakovni tip • char • Logički tip • boolean Programski jezici
Primitivni (prosti) tipovi • Svi tipovi podataka imaju strogo definisan opseg vrednosti Programski jezici
Primitivni (prosti) tipovi Programski jezici
Primitivni (prosti) tipovi Programski jezici
Primitivni (prosti) tipovi Programski jezici
Primitivni (prosti) tipovi • Nema neoznačenih (unsigned) tipova • Tip char zauzima dva bajta umesto uobičajenog jednog bajta, jerpredstavlja Unicodeznakove (Unicode standard definiše kodni raspored koji obuhvata praktično sve današnje jezike,uključujući indoevropske, dalekoistočne, itd.) • Tip voidoznačava “prazan” tip Programski jezici
Referencni (objektni) tipovi • Korisnički definisani tipovi podataka su predstavljeni klasama • Vrednosti referencnih tipova su reference (adrese) objekata odgovarajuće klase • Slično “pokazivačkom” tipu u C++ Programski jezici
Referencni (objektni) tipovi • Primer public class Kuća { private intbrojSpratova; private String boja; private String adresa; ... public void dozidajSprat(); } ... int n; boolean ok; Kuća vila; Kuća koliba; Programski jezici
Elementarne konstrukcije • Ključne reči • Identifikatori • Literali • Separatori • Operatori • Komentari • Beline Programski jezici
Službene (ključne) reči • Službene (ključne) reči imaju unapred definisano značenje Programski jezici
Identifikatori • Imena za razne elemente Java programa • Mora da počinje slovom, $ ili _ • Ostali znaci: slova, cifre, $ ili _ • Razlikuju se mala i velika slova • Dužina nije ograničena • Ne mogu da se koriste rezervisane (službene, ključne) reči Programski jezici
Identifikatori • Konvencije za imenovanje • Paketi: sva slova su mala • mojpaket • Klase: početna slova svake reči su velika slova • MojaKlasa • Metod/polje: početno slovo je malo, a naredne reči počinju sa velikim slovima • mojMetod • Konstante: sva slova su velika • MOJAKONSTANTA Programski jezici
Literali • Vrednosti koje predstavljaju sami sebe • Celobrojni literali • Realni literali • Logički literali • Znakovni literali • String literali Programski jezici
Literali • Celobrojni literali • Celi brojevi tipa int i long u dekadnom, oktalnom i heksadekadnom zapisu • Dekadni ne počinju cifrom 0: 123 • Oktalni počinje cifrom 0: 032 • Heksadekadni počinje znacima 0x ili 0X: 0x1A, 0X1A • Celobrojni literal koji se završava slovom L ili l je tipa long. (Ako se želi potencirati da je tipa int, može se zavšiti slovom I ili i.): 26L, 0L, 11100i Programski jezici
Literali • Realni literali • Realni brojevi tipa float ili double • Moraju sadržati decimalnu tačku ili eksponent • e (ili E) se koristi za eksponent • Realni brojevi koji nemaju slova ili se završavaju slovomD ili d su tipa double: 2.75, 24.5344, 25e4, .8373e-9D • Realni brojevi koji se završavaju slovomF ili f su tipa float: 2.75f, 24.5344f, 25e4f, .8373e-9f Programski jezici
Literali • Logički literali • Logičke vrednosti: true i false • Znakovni literali • Znakoviili specijalne sekvence (escape sequences) između jednostrukih navodnika: 'A', 't', '?', '\n', '\u0142' • String literali • Nizovi znakova između dvostrukih navodnika: "Zdravo narode", "Unesite broj: ", "A" Programski jezici
Separatori • ( ) { } [ ] ; , . Programski jezici
Operatori • Označavaju operacije nad podacima • Aritmetički:+- * / % • Unarni:++ --+-! • Relacioni:< > <= >=== != • Nad bitovima:&^|<< >> >>> ~ • Uslovni:&&||? : • Dodela:= op= Programski jezici
Komentari • Tri stila komentara u Java programu • C-stil: počinje sa /* i završava sa */ /* Ovo je komentar */ • Jednolinijski komentar: // int i = 1; // Inicijalizacija brojaca • Dokumentacioni komentar:počinje sa /** i završava sa */ • za automatsko generisanje dokumentacije Programski jezici
Beline (praznine) • Specijalni znaci koji se ne vide • blanko-znak, \n, \t • Služe za razdvajanje ostalih elemenata jezika i za pregledniji zapis programa Programski jezici
Složene konstrukcije • Paketi • Kolekcija klasa • Kompajlerske jedinice • Java izvorni kod sastavljen od jedne ili više klasa (ili interfejsa) • Izvorni kod svake klase se piše u posebnoj datoteci čije je ime isto kao ime klase • Ekstenzija datoteke Java izvornog koda mora biti .java Programski jezici
Složene konstrukcije • Promenljive • Izrazi • Naredbe • Metodi • Klase Programski jezici
Promenljive • Osnovna jedinica za čuvanje podataka u (Java) programu • Mesto u memoriji za zapis neke proste vrednosti ili reference na objekat • To mesto se naziva promenljiva zato što tu mogu da se smeštaju različiti podaci (istog tipa) za vreme izvršavanja programa Programski jezici
Promenljive x z y promenljive i n naredbe Programski jezici
Promenljive • Svaka promenljiva se mora deklarisati (definisati) • Deklaracija promenljive = tip + ime + (eventualno) početna vrednost • Format: tip_pr ime_pr [= poc_vrednost]; • Tip promenljive = Javin prosti tip ili ime klase • Ime promenljive = identifikator Programski jezici
Promenljive • Primeri // Deklaracija jedne promenljive int brojGodina; String mojaNiska; Knjiga x; // Vise promenljivih istog tipa float x, y, težina; Sting prvaNiska, drugaNiska, trećaNiska; // Sa inicijalizacijom int i, k, n=32; boolean ind = false; String imePrezime = “Dule Savic”; float a= 3.4, b=5.8, y=0.1234; Programski jezici
Promenljive • Primeri public class Kuća { ... } ... int n = 17; boolean ok; Kuća vila; Kuća koliba = new Kuća(...); Programski jezici
Promenljive • Izgled memorije n 17 ok vila koliba Programski jezici