Professional Documents
Culture Documents
}
}
Prvi program
Primer izvravanja programa:
System.out.println("Hello ");
System.out.println("World ");
Izlaz:
Hello
World
Klasa System
Funkcionalna razlika izmeu print() i
println()?
print.ln() pomera kursor na poetak
sledeeg reda
Problem ispisivanje brojeva je ponekad
u formatu koji nije pregledan
Metoda za formatiranje podataka printf()
Klasa System
Broj opcija metoda printf() je veoma veliki
Moe imati jedan ili vie argumenata
odvojenih zarezima
Prvi argument odreuje format
Ostali argumenti predstavljaju vrednosti
koje se prikazuju
Klasa System
double kamatnaStopa = 20.0 / 12; // kamatnaStopa =
1.666...
System.out.println("Mesecna kamata: " + kamatnaStopa);
Rezultat
Mesecna kamata: 1.6666666666666667
Rezultat
Mesecna kamata: 1.67
Klasa System
Ukljuivanje brojeva u print funkcije:
public class PrintBrojeva {
}
Klasa System
Izlaz:
7
34
34
10 43
Rezultat: 34
Rezultat: 7
Klasa Math
Za mnoge matematike funkcije u Javi
postoje metode koje izraunavaju i vraaju
odgovarajuu vrednost
Te metode su grupisane u klasi Math, kao
statiki lanovi
Klasa Math
Math.sqrt(x)
Math.abs(x)
Math.sin(x), Math.cos(x)
Math.exp(x)
Math.pow(x,y)
Math.random()
Klasa Math
Na primer, za izraunavanje kvadratnog
korena nekog broja slui metoda sqrt()
Rezultat metode Math.sqrt(x) je vrednost
tipa double
Moe se koristiti na svakom mestu u
programu gde je dozvoljeno koristiti
vrednost tipa double
Klasa Math
public class Koren {
i = 5;
r = Math.sqrt(i);
System.out.println("Kvadratni koren od " + i + " je " + r +
".");
}
}
Klasa Math
Izlaz programa
Kvadratni koren od 2 je
1.4142135623730951.
Kvadratni koren od 5 je
2.23606797749979.
Klasa Math
U svim metodima, parametar u zagradi
moe biti bilo kog numerikog tipa
Osim za Math.abs(x) i Math.round(x),
vraena vrednost je tipa double
Math.abs (x) je istog tipa kao parametar x
Math.round(x) je celobrojni tip long
Math.random() kao rezultat daje sluajni
realni broj iz intervala [0,1)
Klasa Math
Primer: Pitagorina teorema
import java.util.Scanner;
double c;
//c = sqrt (a^2 + n^2)
c = Math.sqrt(Math.pow(a, 2) + Math.pow(b,2));
System.out.println ("Stranica c = " + c);
}
}
Klasa Math
Pitagorina teorema izlaz
Unesite stranice trougla a i b:
3 4
Stranica c = 5.0
Klasa String
Vrednosti klase String su objekti koji se
nazivaju stringovi
Objekat klase String sadri niz znakova
koji ine string
Takoe sadri metode kojima se moe
manipulisati stringovima
Klasa String
Primer:
String s = "Pera Peri";
s.length() onzaava poziv metoda length() primenjenog
na string na koji ukazuje promenljiva s
Rezultat poziva je ceo broj 10 (duina stringa s)
Optije reeno, za svaku promenljivu s tipa String,
rezultat poziva s.length() je ceo broj tipa in jednak broju
znakova u stringu s
Klasa String
s.toUpperCase() kao rezultat daje novi string
koji je jednak originalnom stringu, samo to su
sva mala slova pretvorena u velika
s.toLowerCase() analogno, pretvara velika slova
u mala
s.charAt(n), gde je n ceo broj, kao rezultat vraa
znak tipa char koji se nalazi na n-toj poziciji
stringa. Pozicije niza znakova su numerisane od
0.
Klasa String
Primer
public class PrimerString {
public static void main (String[] args){
String poruka = "Dobar dan svima!";
int duzina = poruka.length();
System.out.println("Duzina poruke je: " + duzina);
// konkatenacija
poruka += " Danas je lep dan! ";
System.out.println (poruka);
// podstring
String poruka2 = poruka.substring(0, 5);
System.out.println (poruka2);
}
}
Klasa String
Izlaz programa
c = 5*(f - 32)/9;
int i = 17;
double x = 0.0;
Naredba dodele
Izvravanje naredbe dodele
1. Izraunava se izraz na desnoj strani
znaka =
2. Izraunata vrednost izraza se
dodeljuje promenljivoj na levoj strani
znaka =
Naredba dodele
Drugi format:
promenljiva += izraz;
Ekvivalentno sa:
promenljiva = promenljiva + izraz;
Analogno za *=, /=, %= ...
Primeri:
x += 2; x = x + 2;
a /= b + c; a = a / (b + c);
m %= n; m = m % n;
Blok naredbi
Niz naredbi izmeu para zagrada { i }
Format:
{
naredba1;
naredba2;
naredbaN;
}
Blok naredbi
Izvravanje bloka naredbi
Pojedinane naredbe unutar bloka se
sekvencijalno izvravaju
Blok naredbi
Smatra se jednom sloenom naredbom
Blok naredbi se moe pisati na svakom
mestu u programu gde se moe koristiti
obina naredba
Kada se naie na { , sve naredbe u nizu
koje slede iza toga se izvravaju jedna za
drugom, dok se ne naie na }
Blok naredbi
Do sada je blok naredbi korien u main()
metodi svakog programa
Niz naredbi od kojih se sastoji telo main()
metode se nalazi unutar { i }
Analogno, i za sve druge metode vai isto
Blok naredbi
Primer:
{
int x, y;
{
int i = 5;
x = (i++) - 3;
y = i + 4;
}
}
Blok naredbi
Oblast vaenja (domet) neke promenljive
definisane u bloku je od take definicije te
promenljive do kraja bloka
Lokalne promenljive se ne mogu koristiti u
okolnim blokovima
Naredbe u bloku mogu koristiti promenljive
iz okolnih blokova
Oblast vaenja promenljivih
{
int x, y;
{
int i = 5;
x = (i++) - 3;
y = i + 4;
}
i = 0; // greka
}
Oblast vaenja promenljivih
Oblast vaenja promenljivih
Promenljiva koja je definisana unutar
bloka je nedostupna van tog bloka
Unitava se nakon izvrenja bloka
Na taj nain se malo tedi u memoriji
Spreavaju se ozbiljniji problemi
nenamerne upotrebe iste promenljive za
druge svrhe
Naziva se lokalna promenljiva za taj blok,
odnosno taj blok je njena oblast vaenja