Download Osnove programiranja (v Javi)

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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