milica Ćiri ć -...

21
Univerzitet u Nišu Građevinsko-arhitektonski fakultet Informatika 2 Informatika 2 1.Osnove programskog jezika Java Milica Ćirić

Upload: dinhdung

Post on 05-Feb-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

Univerzitet u NišuGrađevinsko -arhitektonski fakultet

Informatika 2Informatika 2

1.Osnove programskog jezikaJava

Milica Ćiri ć

Page 2: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

Elementi jezika• Beli znaci – blanko, tabulatori, novi red...

• Komentari - // i /**/

• Identifikatori – simbolička imena promenljivih, konstanti, metoda...

Literali – konkretne vrednosti i to numeričke, logičke, • Literali – konkretne vrednosti i to numeričke, logičke, znakovne i null

• Ključne reči – reči sa unapred definisanim značenjem

• Operatori – aritmetički, logički, relacioni

• Separatori – () {} [] ;

2

Page 3: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

Primitivni tipovi podataka• Numerički – celebrojni (int, long, short, byte) i

realni (float i double)

• Logički – boolean

• Znakovni – char

• Za svaki od primitivnih tipova postoji odgovarajuća wrapper klasa koja se može koristiti za očitavanje minimalnih i maksimalnih vrednosti, konvertovanje iz i u znakovni niz...

3

Page 4: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

Promenljive• Promenljiva se deklariše navođenjem tipa i imena

promenljivetip_promenljive ime_promenljive;

• Promenljva se inicijalizuje dodeljivanjem početne (inicijalne) vrednosti prilokom deklaracije(inicijalne) vrednosti prilokom deklaracije

tip_promenljive ime_promenljive = vrednost;

• Promenljive koje ne inicijalizujemo prilikom deklaracije se inicijalizuju podrazumevanom vrednošću koja zavisi od tipa podataka promenljive (0, false, ‘\0’)

4

Page 5: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

PrimeriNakon izvršenja slecećeg reda (deklaracija bezinicijalizacije):• int a; //a ima vrednost 0

• double b; //b ima vrednost 0.0

• char c; //c ima vrednost ‘\0’

• boolean d; /*d ima vrednost false*/

5

Page 6: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

PrimeriNakon izvršenja sledećeg reda (deklaracija sa inicijalizacijom):• int a=3; //a ima vrednost 3

• double b=3.2 ;//b ima vrednost 3.2

• char c=‘h’; //c ima vrednost ‘h’

• boolean d=true; /* d ima vrednosttrue */

6

Page 7: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

PrimeriMoguće su i kombinacije:• int a, e=-5; /* a ima vrednost 0, a e

-5 */

• double b=2.4, f; /* b ima vrednost2.4, a f 0.0 */

7

Page 8: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

KonstanteKonstante su izrazi fiksne vrednosti i moraju se inicijalizovati pri deklarisanju. Za deklarisanjekonstanti koristi se ključna reč final

final tip_promenljive naziv_promenljive = vrednost;

Primeri• final double PI=3.14;

• final int BROJ_SATI_U_DANU=24;

8

Page 9: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

Operatori• Dodele =• Aritmetički +,-,*,/,%,++,--• Logički !,&&,||,^• Relacioni >,<,>=,<=,==.!=• Za pristup članovima [],.

Poziva funkcije .• Poziva funkcije .• Za konverziju tipova (cast operator)• Za kreiranje novog objekta new• Za ispitivanje tipa objekta instanceof• Zarez operator ,• Ternarni uslovni operator : ?

9

Page 10: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

Primeri• a = 3; //dodela vrednosti• a = b + 3; • a = b++; //isto što i a=b; b=b+1;• a = ++b; //isto što i b=b+1; a=b;• d = (a - b)/(a%c – b);• p = !((q&&r)||(!r&&!q));

float f = ( float) 5; /* pretvaranje celobrojne• float f = ( float) 5; /* pretvaranje celobrojnevrednosti u realnu */

• prviElement = niz[0]; /*dodeljivanje vrednosti prvogelementa niza promenljivoj*/

• if (a>=b) max=a; else max=b; /*odre ñivanje maksimalne od dve vrednosti*/

• max = (a>=b) ? a : b; //isto kao i prethodno• s = Math. sin(e); /*pozivanje funkcije paketa Math za

odre ñivanje sinusa*/

10

Page 11: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

Algoritam• Konačan niz koraka kojim se rešava neki problem

• Svaki problem može imati veći broj rešenja

• Primer 1. izračunati sumu prvih N prirodnih brojeva

• Rešenje 1.1• Rešenje 1.11. Učitati (definisati) N2. Početna vrednost sume je 03. Za svako i od 1 do N

1. Dodati sumi vrednost i4. Prikazati vrednost sume

11

Page 12: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

AlgoritamPrimer 2. Izračunati sumu svih neparnih brojeva od 1

do N

Rešenje 2.11. Učitati (definisati) N

2. Početna vrednost sume je 02. Početna vrednost sume je 0

3. Za svako i od 1 do N1. Ako je i neparno

1. Dodati sumi vrednost i4. Prikazati vrednost sume

12

Page 13: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

AlgoritamRešenje 2.2

1. Učitati (definisati) N

2. Početna vrednost sume je 0

3. Početna vrednost za i je 1

4. Ako je i manje ili jednako N4. Ako je i manje ili jednako N1. Dodati sumi vrednost i

2. Povećati i za 2

3. Vratiti se na korak 4.

5. Prikazati vrednost sume

13

Page 14: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

Vizuelni prikaz algoritmaAlgoritam se vizuelno može prikazati pomoću blok

dijagrama, korišćenjem blokova sa unapreddefinisanim značenjem

Početak Kraj RačunanjePočetak Kraj

IzlazUlaz

Računanje

Odluka Odluka

Konektor

Strelica za

povezivanje

blokova14

Page 15: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

Primer• Primer 1. izračunati

sumu prvih N prirodnih brojeva

• Rešenje 1.11. Učitati (definisati) N2. Početna vrednost

P

N

S=0

2. Početna vrednost sume je 0

3. Za svako i od 1 do N1. Dodati sumi

vrednost i4. Prikazati vrednost

sumeK

S

i=1,N

S=S+i

15

Page 16: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

Primer• Primer 2. Izračunati

sumu svih neparnih brojeva od 1 do N

• Rešenje 2.11. Učitati (definisati) N2. Početna vrednost

sume je 0

P

N

i=1,N

S=0

2. Početna vrednost sume je 0

3. Za svako i od 1 do N1. Ako je i neparno

1. Dodati sumi vrednost i

4. Prikazati vrednost sume

K

S

i=1,N

S=S+ii%2=1 DA

NE

16

Page 17: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

Primer• Primer 2. Izračunati sumu

svih neparnih brojeva od1 do N

• Rešenje 2.21. Učitati (definisati) N2. Početna vrednost sume

P

N

S=0

i=12. Početna vrednost sume

je 03. Početna vrednost za i je

14. Ako je i manje ili jednako

N1. Dodati sumi vrednost i2. Povećati i za 23. Vratiti se na korak 4.

5. Prikazati vrednost sume

K

S

i<=N

DA

NE

S=S+ii=i+2

17

Page 18: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

Rešenje primera 1 u Javi//definisanje kom paketu pripada ova klasa

package vezbe;

//uvozenje biblioteka cije klase/funkcije koristimo

import java.io.*;

//svaki java program mora da bude klasa i ovde defi nisemo njeno ime

public class Cas1Zad1

{/* glavna (main) funkcija klase je ona koja se prva izvrsava kada

pokrenemo program */

public static void main(String[] args) throws Exception

{

/* deklaracija promenljivih */

int N, i, S;

/* definisanje ulaznog toka koji cemo koristiti za ucitavanje,

u ovom slucaju je to standardni ulaz, tj. tastatura */

BufferedReader ulaz = new BufferedReader( newInputStreamReader(System. in)); 18

Page 19: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

Rešenje primera 1 u Javi (nastavak)

/* stampanje poruke korisniku da unese vrednost za N */System. out.print ("Unesite vrednost za N: " );/* ucitavanje i dodela vrednosti koju je korisnik uneo */N = Integer. parseInt(ulaz.readLine());/* definisanje pocetne vrednosti sume */S = 0;/* for petlja za koju je definisano da je brojac promenljiva i

sa pocetnom vrednoscu 1 i krajnjom vrednoscu Npri cemu se u svakom prolasku vrednost i povecava za 1 */

for (i = 1; i <= N; i++){{

/* u svakom prolasku kroz petlju vrednost sume uvecamoza i */

S = S + i;}/* stampanje izracunate vrednosti sume na standardni izlaz, tj.

monitor */System. out.println( "Vrednost sume prvih " + N + " brojeva je " +

S);}

}

19

Page 20: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

Primer 2 – Rešenje 1package vezbe;

import java.io.*;

public class Cas1Zad2Res1

{public static void main(String[] args) throws Exception

{

int N, i, S;

BufferedReader ulaz = new BufferedReader( new InputStreamReader(System. in));

System. out.print( "Unesite vrednost za N: " );

N = Integer.parseInt ( ulaz.readLine ());N = Integer.parseInt ( ulaz.readLine ());

S = 0;

for (i = 1;i <= N; i++)

{

/* ako je zadovoljen uslov da je i po modulu 2 jednako 1

tj. ako je i neparan broj */

if (i % 2 == 1)

{

/* vrednost sume uvecamo za i */

S = S + i;

}}

System. out.println( "Vrednost sume neparnih brojeva od 1 do " + N + " je " + S);

}

}

20

Page 21: Milica Ćiri ć - rc5.gaf.ni.ac.rsrc5.gaf.ni.ac.rs/dec/mgocic/UvodUProgramiranje/materijal/1.Osnove... · Univerzitet u Nišu Gra đevinsko-arhitektonski fakultet Informatika 2 1.Osnove

Primer 2 – Resenje 2package vezbe;

import java.io.*;

public class Cas1Zad2Res2

{public static void main(String[] args) throws Exception

{

int N, i, S;

BufferedReader ulaz = new BufferedReader( new InputStreamReader(System. in));

System. out.print( "Unesite vrednost za N: " );

N = Integer.parseInt ( ulaz.readLine ());N = Integer.parseInt ( ulaz.readLine ());

S = 0;

/* definisemo pocetnu vrednost za i */

i = 1;

/* dokle god je ispunjen uslov da je i manje ili jednako N* /

while (i <= N)

{

/* vrednost sume uvecamo za i */

S = S + i;

/* uvecamo i za 2 */

i= i + 2;}

System. out.println( "Vrednost sume neparnih brojeva od 1 do " + N + " je " + S);

}

}21