Osnove programiranja (v Javi)
Download
Report
Transcript Osnove programiranja (v Javi)
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
Zgodovina programskih jezikov
1. generacija: strojni jezik 01101001
2. generacija: zbirni jezik (assembler)
3. generacija: visokonivojski jeziki
(Java, Pascal, C, C++,…)
4. generacija: nepostopkovni jezik
(opisni jezik) – npr. MySQL
Od izvorne kode do programa
Izvorna koda
Prevajalnik
(niz ukazov,
zapisanih v
programskem
jeziku)
(compiler)
primer.java
javac primer.java
Preveden
(izvedljiv)
program
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
objekt:
KONKRETNO
zelena
Razred:
Barve
ABSTRAKTNO
objekt:
rdeča
Združuje vse barve
Objekti
Atributi (attributes)
Metode (methods)
(lastnosti in trenutno stanje objekta)
(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
Izvorna
koda
programa
Datoteko shranimo kot “Vaja1.java”
Razlaga izvorne kode
Java razlikuje med vaja1 in Vaja1
public class Vaja1
public static void main (String[] args)
System.out.println(“Juhej! Deluje!”);
razred
objekt
metoda
Zaviti oklepaji - { }:
Označujejo začetek in konec posameznih
blokov (npr. oklepajo izvorno kodo posameznega
razreda in metode)
Vedno nastopajo v parih
Urejanje kode
Podrejene bloke zamaknemo v desno za en
tabulator (tipka TAB)
Primer:
predsednik
župan
državljan
Komentiranje kode:
nek ukaz // od tu naprej komentar
bločni komentar:
/* komentar se
lahko nadaljuje
v več vrsticah */
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
brez pripone .class
aplikacija (oz. njena “vmesna koda”) se
izvede v okolju Java Virtual Machine
Napake
sintaktične (jih odkrije prevajalnik)
logične (se pojavijo med izvajanjem)
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:
za realna števila:
float
double
za logične vrednosti:
boolean
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)
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
float + int = float
Pretvorba v nižji tip – type casting –
na zahtevo programerja
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;
float rezultat2;
rezultat2 = a * b;
short rezultat3;
rezultat3 = (short) a * b
//50 tipa int
//50.0 tipa float
//50 tipa short