300 likes | 628 Views
Osnove programiranja (v Javi). 25. Oktober 2005 Marko Štamcar. Gradivo: Viljan Mahnič: Prosojnice Programiranje 1. Nekaj o programiranju. Kaj je program? Zaporedje ukazov, ki naj jih izvede računalnik. Pascal. .exe. C#. C++. C. 4. PHP. Zgodovina programskih jezikov.
E N D
Osnove programiranja (v Javi) 25. Oktober 2005 Marko Štamcar Gradivo: Viljan Mahnič: Prosojnice Programiranje 1
Nekaj o programiranju • Kaj je program?Zaporedje ukazov, ki naj jih izvede računalnik Pascal .exe C# C++ C 4 PHP
Zgodovina programskih jezikov • 1. generacija: strojni jezik • 2. generacija: zbirni jezik (assembler) • 3. generacija: visokonivojski jeziki (Java, Pascal, C, C++,…) • 4. generacija: nepostopkovni jezik (opisni jezik) – npr. MySQL 01101001
Od izvorne kode do programa Preveden (izvedljiv)program Izvorna koda(niz ukazov, zapisanih v programskem jeziku) Prevajalnik (compiler) primer.java javac primer.java primer.class
Opombe glede prevajanja • Program bo deloval samo v okolju, v katerem je bil preveden. • Primer: Če nek program, napisan v jeziku C, prevedemo v Windowsih na procesorju x86, bo deloval samo v tem okolju in ne v Linuxu ter verjetno tudi ne v Windowsih na procesorju tipa ia64
Programski jezik Java • Objektni programski jezik 3. generacije • Sun Microsystems • Začetek razvoja 1990, prva uradna verzija leta 1996 • Trenutna različica:Java 2 Platform Standard Edition 5.0 (1.5.0)
Značilnosti Jave • Objektno usmerjen programski jezik • Platformna neodvisnost (zaradi uporabe vmesne kode Javanske aplikacije tečejo na vseh mogočih platformah: x86, ia64, alpha, ARM, MIPS,…) • Zaradi svojih lastnosti je primerna tudi za razvoj spletnih aplikacij (t.i. Java appleti)Primer: http://www.dataway.ch/~bennet/java/3DClock.html
Kaj je objektno usmerjeno programiranje? • Programske komponente so objekti, vsi objekti iste vrste tvorijo razred objekt:modra Razred:Barve objekt:zelena KONKRETNO ABSTRAKTNO objekt:rdeča Združuje vse barve
Objekti • Atributi (attributes) (lastnosti in trenutno stanje objekta) • Metode (methods) (operacije, ki jih objekt lahko izvaja) Primer: Objekt AudiA4 iz razreda Avtomobili Primer: Objekt Marko iz razreda Ljudje Vsi objekti, ki spadajo v isti razred, imajo enake atribute, vendar različne vrednosti le-teh.
Še enkrat: razlika med razredom in objektom • Konkretno abstraktno • Razred je abstrakten opis atributov in metod • Objekt je konkreten primerek (ang. instance) nekega razreda s točno določenimi atributi in metodami
Namestitev in priprava razvojnega okolja Java SDK za delo • http://java.sun.com/j2se/1.5.0/download.jsp • Prenesemo in namestimo: Windows Platform - J2SE(TM) Development Kit 5.0 Update 5 Windows Offline Installation, Multi-language
Nastavitev pred začetkom uporabe • Menu Start Control Panel System jeziček Advanced gumb Environment Variables • pod User variables z gumbom New dodamo: • name: PATH, value: pot do mape(C:\Program Files\Java\) jre1.5.0_05\bin • name: CLASSPATH, value: .
Urejanje programov • Program Notepad (beležnica): • Menu Start Zaženi/Run notepad enter • Pogosti znaki, ki jih bomo potrebovali: • Prevajanje programov: • Menu Start Zaženi/Run cmd/command enter • cd “c:\pot\do\nase\mape\z\izvorno\kodo” • javac program.java • java program [ ] { } ‘ “ ; ( )
Naš prvi programček • Datoteko shranimo kot “Vaja1.java” Izvorna koda programa
Razlaga izvorne kode Java razlikuje med vaja1 in Vaja1 • public class Vaja1 • public static void main (String[] args) • System.out.println(“Juhej! Deluje!”); • Zaviti oklepaji - { }: • Označujejo začetek in konec posameznih blokov (npr. oklepajo izvorno kodo posameznega razreda in metode) • Vedno nastopajo v parih razred objekt metoda
Urejanje kode • Podrejene bloke zamaknemo v desno za en tabulator (tipka TAB) • Primer: • Komentiranje kode: • nek ukaz // od tu naprej komentar • bločni komentar: /* komentar se lahko nadaljuje v več vrsticah */ predsednik župan državljan
Naše osnovno ogrodje • Z njim lahko pišemo enostavne programčke public class ImePrograma { public static void main (String[] args) { // tukaj pridejo stavki/ukazi } }
Izvajanje Javanskih aplikacij • Ukaz java imedatoteke • aplikacija (oz. njena “vmesna koda”) se izvede v okolju Java Virtual Machine • Napake • sintaktične (jih odkrije prevajalnik) • logične (se pojavijo med izvajanjem) brez pripone .class
Podatkovni tipi v Javi • Vsak podatek lahko shranimo v točno določeno vrsto podatkovnega tipa • Tip podatka določa: • zalogo vrednosti, ki jo lahko podatek zavzame • operacije, ki jih lahko izvajamo nad podatkom
Podatkovni tipi v Javi • numerični tipi: • za cela števila: • byte (-128 do 127) (8 bitov – 28) • short (-32768 do 32767) (216) • int (-2 147 483 648 do 2 147 483 647) (232) • long (-264 do 264) • za realna števila: • float • double • za logične vrednosti: • boolean • true (1) • false (0) • za znake: • char (npr. ‘a’)
Računanje s celimi in realnimi števili • Operacije: • + • - • * • / (pri celih številih je to celoštevilsko deljenje) • % (samo za cela števila: ostanek)
Pretvorbe med številskimi tipi • Pri operacijah nad dvema različnima številskima tipoma je rezultat vrste višjega številskega tipa • Pretvorba v nižji tip – type casting – na zahtevo programerja float + int = float
Logične operacije podatkovnega tipa boolean • Konjunkcija (in/AND) && • Disjunkcija (ali/OR) || • Ekskluzivna disjunkcija (eks. ali/XOR) • Negacija (NOT) ! • Ko med seboj primerjamo dve številski vrednosti, dobimo kot odgovor vrednost tipa boolean: • 5 < 7 (true) 7 < 5 (false) • 7 > 5 (true) 5 > 7 (false) • 5 <= 5 (true) 7 <= 5 (false) • 7 >= 3 (true) 3 >= 7 (false) • 5 == 5 (true) 5 == 6 (false) • 8 != 6 (true) 5 != 5 (false)
Spremenljivke • Pomnilniški naslovi, kamor shranjujemo vrednosti (podatke)
Dekleracija spremenljivk • Dekleracija se izvrši samo enkrat. Ob dekleraciji navedemo: • Tip spremenljivke • Ime spremenljivke • Vrednost (ni obvezno) • Podpičje • int Stevilo = 15;
Prirejanje vrednosti spremenljivkam • Ob dekleraciji: • Tip Ime = Izraz*; • Po dekleraciji (kasneje): • Ime = Izraz*; • Izraz je lahko: • Število / znak / besedni niz • Vsota dveh števil / konkatenacija dveh besednih nizov… • Tip izraza se mora ujemati s tipom spremenljivke
Primeri numeričnih tipov in dekleracij spremenljivk z numeričnimi tipi • int a = 5; • short b = 10; • int rezultat; • rezultat = a * b; //50 tipa int • float rezultat2; • rezultat2 = a * b; //50.0 tipa float • short rezultat3; • rezultat3 = (short) a * b //50 tipa short