Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
1
Krijuar nga inxhinierët e kompanisë Sun Microsystems
Versioni i parë është vënë në përdorim në vitin 1995
2
Karakteristikat themelore të gjuhës: ◦ E orinetuar në objekte ◦ E pavarur nga hardueri dhe sotueri (cross platform) Kodi i kompajluari Java mund të ekzekutohet në cilëndo
platformë (harduer +sistem operativ) në të cilën është e instaluar Java (JRE), p.sh. Kodi i kompajluarnë platformën Windows mund të ekzekutohet në platofrmën Linux dhe anasjelltas.
◦ write once, run anywhere.
Ka një bibliotekë të gjerë (Librari) (*.java) ◦ Përpos të tjerave, mundëson programim të lehtë në rrjetë dhe
programimi të interfejsit grafik. Fuqia e gjuhës qëndron pikërisht në këto biblioteka, të cilat i ofrojnë programuesit një produktivitet të lartë.
Mundëson përdorim të thjeshtë të funksionaliteteve të sistemit operativ
E sigurt nga ndërhyrjet e jashtme Open Source
3
Zbatimi i gjuhës:
Gjuhë me qëllim të përgjithshëm
Aplikimi më i rëndësishme – programimi në Internet
Gjuha në Android
Pavarësia nga platforma e gjuhës JAVA, mundëson krijimin e fajllit ekzekutiv në një platformë kompjuterike dhe ekzekutimi i tij në një platformë tjetër
4
Veglat për zhvillim të softuerëve (ang. Software Development Kit - SDK) janë programe specifike që i mundësojnë zhvilluesve të programeve të shkruajnë programe kompjuterike dhe t’i testojnë ato
Zhvilluesit me përvojë kryesisht përdorin “Integrated Development Environment – IDE”, por mund të përdoren edhe editorë të thjeshtë për të kompajluar/ekzekutuar (interpretuar) programin
P.sh. ◦ IDE: Netbeans IDE, Eclipse, etj
◦ Editorë: Notepad, Notepad++, etj
5
Java Standard Edition SE
Java Enterprise Edition EE
Java Micro Edition ME
6
JDK (Java Development Kit) ◦ Compiler
◦ JRE (Java Runtime Environment)
JVM (Java Virtual Machine) – Intepreter
Core Library
7
Google Java Se Development Kit 8 (ose 12 qe eshte verzioni i funbdit)
Kliko linkun e parë.
Download (and Accept License Agreement) që ju përshtatet sistemit të juaj operativ, p.sh Windows x64
Për të verifikuar që e keni instaluar ne cmd shkruani:
java –version
Në rast të instalimit të sukseshëm do ju shfaqet diqka e tillë:
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Right click My Computer - Properties. Ne dritaren e hapur ne kendin e siperm te majte klikoni Advanced System Settings. Ne dritaren e re te hapur ne tabin advanced klikoni Enviorment Variables. Hapet dritarja e re, ne pjesen System Variables gjeni dhe selektoni rreshtin Path. Pasi te selektoni klikoni Edit. E shtoni nje fushe te re permes butonit New. Ne rreshtin e rri qe ju shfaqet kopjoni pahtin ku eshte instaluar javac :p.sh ◦ Per verzionin 8 C:\Program Files\Java\jdk1.8.0_101\bin
◦ Per verzionin e fundit: C:\Program Files\Java\jdk-12.0.2
Klikoni ok per secilen dritare te hapur.
11
Janë dy lloje dominuese të “user interface”-ëve: ◦ Command Line Interface (CLI)
◦ Graphical User Interface (GUI)
Si zhvillues të softuerit ju duhet të jeni në gjendje të shkruani programe për dy llojet e “user interface”-ëve
12
Command Line Interface (CLI) ◦ Në monitor paraqitet kërkesa që shfrytëzuesi të fut
ndonjë të dhënë.
◦ Shfrytëzuesi i fut të dhënat e kërkuara, ndërsa programi e proceson inputin e shfrytëzuesit.
◦ Ky është një lloj i vjetër i “user interface”-ëve ende i përdorur në disa aplikacione dhe sisteme operative
◦ Nuk është i përshtatshëm për shfrytëzim (ang. not User Friendly)
◦ P.sh. Në DOS C:\> type test.txt (shfaq përmbajtjen e dokumentit)
13
Graphical User Interface (GUI) ◦ Në monitor paraqitet dritarja me tekst dhe simbole
grafike duke i ofruar shfrytëzuesit opsione të ndryshme
◦ Shfrytëzuesi përdor “mouse”-in dhe tastierën, të bënë zgjidhje nga opsionet e ofruara si dhe për të shkruan tekst
◦ Tani përdoret më shumë për shkak se komponentët për procesim kompjuterik kushtojnë tani më lirë
◦ Është më i përshtatshëm për shfrytëzim (ang. User Friendly)
◦ P.sh. Microsoft Windows, Microsoft Office, etj.
14
15
Shkruhet Java kodi në ndonjë editor. File-i ruhet me të njëjtin emër si emri i klasës dhe me extension .java. P.sh nëse e kemi klasën HelloWorld atëherë ruhet në file-in me emër HelloWorld.java
Në DOS: ◦ C:\>javac HelloWorld.java (krijohet një file-i i ri me
prapashtesë .class, në këtë rast HelloWorld.class)
◦ C:\>java HelloWorld (interpretohet programi) dhe dërgohet output-i në konsolë
16
Modeli klasik “Waterfall”
17
Edito dhe ruaj kodin burimor
Ndërto kodin e
programit
Ekzekuto programin dhe shih rezultatin
Eroret
Eroret
Gjatë ndërtimit të një programi mund të paraqiten 3 lloje të eroreve: ◦ Compile-time error – që paraqet gabim në sintaksën
e programit dhe që vërehet gjatë kohës së kompilimit dhe nuk krijohet file-i me extension .class
◦ Run-time error – që paraqitet gjatë ekzekutimit/interpretimit të programit, p.sh. Pjesëtimi me zero e detyron programin të ndërpritet në mënyrë jonormale
◦ Logical error – që do të thotë që programi ekzekutohet normalisht mirëpo rezultati nuk është ai i prituri
18
Kompajleri i Java-së bënë përkthimin e Java kodit në një reprezentim specifik të njohur si Java bytecode të ruajtur në një file me prapashtesën .class
Java bytecode nuk është gjuhë e makinës për asnjë CPU specifike
Një softuer tjetër i njohur si interpreter-i (në rastin tonë JVM - Java Virtual Machine) e interpreton bytecode-in
Java njihet si gjuhë neutrale sa i përket arkitekturës së kompjuterëve
Java nuk lidhet me ndonjë makinë specifike
JVM mund të implementohet në çdo lloj të makinës
19
20
Në gjuhën programuese Java:
◦ Programi ndërtohet nga një ose më shumë klasë
◦ Një klasë ka një apo më shumë atribute
◦ Një klasë ka një apo më shumë metoda
◦ Metoda përmban shprehje të programit (ang. program statements)
Këto terme do të hulumtohen dhe do të shpjegohen më në detal gjatë ligjëratave të ardhshme
Çdo klasë e veçantë ruhet në një file me emrin e njëjtë si emri i klasës por me prapashtesën .java
Një Java aplikacion fillon nga klasa e cila ka metodën main(…) (shih shembullin MyProgram.java)
21
22
1. /”” First Program
2. Text-printing program. */
3. public class Welcome1
4. {
5. // main method begins execution of Java application
6. public static void main(String[] args)
7. {
8. System.out.println("Welcome to Java Programming!");
9. } // end method main
10. } // end class Welcome1
23
Komentet brenda kodit njihen si “inline documentation”
Ato futen në kod për të dhënë shpjegime rreth kodit atyre që e lexojnë kodin
Nuk e afektojnë si punon programi, pasi që ato injorohen nga kompajleri
Ekzistojnë 3 lloje të komenteve:
// Ky koment vlen vetëm për këtë rresht
/** Ky koment vlen për krejt bllokun dhe vlen deri sa të gjendet simboli terminues dhe mund të shkoj në disa rreshta */
24
Identifikuesit janë fjalët/simbolet që i përdor programeri në një program.
Një identifikues mund të ndërtohet nga shkronjat, numrat, shenja (_) (ang. underscore) si dhe nga shenja e dollarit $
Identifikuesi nuk mund të filloj me numër
Java është “case-sensitive” që d.m.th – fjalët Total, total dhe TOTAL trajtohen si identifikues të ndryshëm
Ligj i pashkruar por i përvetësuar nga programerët që shkruajnë programe në Java, përdorin këtë formë të shkrimit së kodit: ◦ Për emra të klasave përdoret TitleCase: p.sh HelloWorld
◦ Emrat e atributeve dhe metodave fillojnë me shkronja të vogla: p.sh. printName
◦ Emrat e konstanteve me të madhe: p.sh. MAXIMUM
25
Ndonjëherë ne i zgjedhim identifikuesit tanë, si në shembullin më lart Welcome1
Ndonjëherë i përdorim identifikuesit të cilët i kanë zgjedh programerët e tjerë, p.sh. println
Shpesh përdorim identifikues të cilët njihen si të rezervuar dhe që kanë kuptim të veçantë në Java, p.sh. int
Një identifikues i rezervuar nuk mund të përdoret për asgjë tjetër pos për çka është i definuar
26
abstract assert boolean break byte case
catch char class const* continue default
double do else enum extends false
final finally float for goto* if
implements import instanceof int interface long
native new null package private protected
public return short static strictfp super
switch synchronize
d this throw throws transient
true try void volatile while
Në ueb faqen më poshtë e gjeni shpjegimin për secilin identifikues tërezervuara ne Java. Zëvendësoni fjalën identifikuese me identifikues nga tabela më lartë, p.sh.
http://en.wikibooks.org/wiki/Java_Programming/Keywords/public
Cili nga këto identifikues është në rregull të
përdoret si emër i klasës:
Input Field
34Wlecome
Well4Fun
Input_Field
My-FirstClass
helloWorld
27
Hapësirat, reshtat e zbrazët dhe TAB njihen si “white space”
Këto hapësira përdoren për t’i ndarë fjalët dhe simbolet në program si dhe për ta strukturuar programin që të jetë më i lexueshëm
Sa i përket kompajlerit këto hapësira injorohen
Sa i përket lexueshmërisë së kodit, ekzistojnë disa mënyra se si të formatohet programi në Java
Programet formatohen duke përdorë hapësira dhe “indentation”
28
Qëllimi i një programi kompjuterik është zgjidhja e ndonjë problemi të veçantë
Zgjidhja e një problemi të veçantë konsiston nga një numër i aktiviteteve: ◦ Duhet të kuptohet mirë problemi
◦ Konsiderohen mirë të gjitha alternativat
◦ Të dizajnohet zgjidhja
◦ Të implementohet zgjidhja
◦ Testohet zgjidhjen
Këto aktivitet nuk janë lineare por ato mbulohen nga njëra tjetra dhe bashkëveprojnë
29
Çelësi i zgjidhjes së problemit është zbërthimi i problemit në pjesë më të menaxhueshme
Ndërtimi i një softueri nënkupton zbërthimin dhe dizajnimin e pjesëve të veçanta
Programimi i bazuar në objekte (ang. Object-oriented programming) është shumë i përshtatshëm për këtë lloj të zbërthimit
Ne gjithmonë do ta zbërthejmë zgjidhjen tonë në pjesë, të njohura si klasë dhe objekte
30
Java është gjuhë programuese e bazuar në objekte
Siç nënkuptohet nga ky term objekti është entiteti bazë i një Java programi
Java objektet mund të përdoren në mënyrë efektive që të reprezentojnë objektet në botën reale
P.sh. Një objekt i Java-s mund të reprezentoj një llogari bankare
Çdo llogari bankare menaxhon me të dhënat që kanë të bëjnë me atë llogari bankare si dhe me pjesën për procesimin e këtyre të dhënave
31
Një objekt ka: ◦ Gjendjen e tij (ang. state) – karakteristikat përshkruese
◦ Sjelljet e tij (ang. behaviour) – çka mund të bëjë apo lejon t’i bëhet
Gjendja e llogarisë bankare përfshinë p.sh. Emrin, Bilancin, etj
Sjelljet që kanë të bëjnë me llogarinë bankare janë, shfletimi i gjendjes, depozitimi i mjeteve si dhe tërheqja e mjeteve
Siç shihet nga lart disa sjellje të këtij objekti ndryshojnë gjendjen e tij, p.sh. deponimi apo tërheqja e mjeteve ndryshojnë bilancin e llogarisë bankare
32
Një objekt definohet nga një klasë që reprezenton një koncept të veçantë
Klasa definon modelin e çdo instance të objektit
Shumë objekte mund të krijohen nga një klasë
Klasa ka atributet/fushat që definojnë gjendjen e një objekti
Klasa ka metodat që definojnë sjelljen e një objekti
Klasa që ka metodën main() paraqet pikën fillestare të një programi në Java
Java programet kryesisht përbëhen nga më shumë klasë se vetëm klasa që ka metodën main()
33
34
Krijimi i programit duke përdorur një grumbull të objekteve të cilët shkëmbejnë mesazhe në mes vete
35
Objektet në botën e vërtetë (biçikletë, makinë,telefoni celular, kompjuter, qen, pemë, ...)
Secili objekt i ka dy karakteristika:
Gjendja (state) ◦ (biçikleta : shpejtësia aktuale, numri i rrotullimeve
të petaleve, numri i shpejtësisë etj.)
Sjellja (behavior) ◦ (biçikleta :përshpejtimi, frenimi, ndryshimi i
shpejtësisë, kthimi etj.)
36
Objektet në ambientin softuerik
Entiteti softuerik që përbëhet nga variablat (ndryshoret, atributet) dhe metodat përkatëse
Modeli nga objektet reale (biçikletë, makinë,etj) apo abstrakte (ndodhi, gabim, etj.)
Variablat, vetit (variables,properties) –gjendja e objekteve
Metodat (methods) –sjellja e objekteve (funksionet karakteristike për një objekt të caktuar)
37
38
Objektet në ambientin softuerik Mund të mendohen si qeliza që kanë bërthamën të
përbërë nga variablat dhe shtresën e jashtme të përbërë nga metodat, të cilat paraqesin një interfejs/ndërfaqe në mes të variablave të objektit dhe rrethinës së jashtme të tij.
Mekanizimi i komunikimit (nderveprimit) të objekteve
Objekti A i dërgon mesazh objektit B nëse dëshiron që të ekzekutoj/thërras njërën nga metodat e tij
39
Pjesët përbërse të mesazhit:
Objekti të cilit i adresohet mesazhi (biçikleta e juaj)
Emri i metodës që duhet të thirret (changeGears)
Parametrat që i jepen metodës (lowergear)
40
Plani (drafti) apo prototipi i cili definon variablat dhe metodat e përbashkëta për objektet e llojit të caktuar.
Biçikleta e juaj është instancë e klasës së objekteve të biçikletave.
Biçikletat e kanë gjendjen (shpejtësia momentale, numri i rrotullimeve për minutë rpm, dy rrota) dhe mënyrën e sjelljes (ndërrimi i shpejtësisë, frenimi) të cilat janë përbashkët për të gjitha biçikletat
Megjithatë, çdo objekt i biçikletës ka një gjendje unike në një moment të caktuar
41
42
Variabla të klasës përmbajnë informacione të cilat janë të përbashkëta për të gjitha instancat e klasës
Metoda e klasës është një metodë që mund të thirret pa ekzistencën e objektit, thirrja nga klasa
43
44
Programuesit i shkruajnë programet kryesisht në gjuha të larta programuese, ndërsa kompjuteri ekzekutimin e udhëzimeve e bënë në gjuhën e makinës
Çka mendoni? Çka bënë kompjuteri me programet e shkruara në gjuhë të larta programuese?
45
Gjuhët programuese “tradicionale”:
Më së shpeshti programi përkthehet përmes përpiluesit, përkthyesit (compiler) (p.sh. C, C++, Fortran)
Kompajleri= Një program i veçantë që përkthen programin nga një gjuhë e lartë programuese drejt e në gjuhën e makinës, e cila është specifike për një sistem operativ dhe harduer. Sistemi operativ i makinës i dërgon udhëzimet për të ekzekutuar në CPU.
Për ta ekzekutuar programin në kompjuter tjetër, është e nevojshme që sërish të kompajlohet programi me kompjaler tjetër, në gjuhen përkatëse të makinës së kompjuterit tjetër
46
Gjuhët programuese “tradicionale”:
Në vend të përdorimit të kompajlerit, i cili përkthen programin si tërësi, është e mundur të përdoret interpretuesi, i cili përkthen instruksionet një nga një gjatë kohës së ekzekutimit të tyre
Ekzekutimi i programeve përmes kompajlimit është më i shpejtë se sa ekzekutimi i programeve përmes interpretimit
47
Programet në Java krijohen përmes përdorimit të ndonjë editoritë tekstit (p.sh. Notepad, ConTEX) apo ndonjë ambienti të integruar për zhvillim IDE (p.sh. NetBeans, Eclipse) dhe ruhen me ekstensionin java, p.sh. Programi.java
Programet në Java përkthehen në gjuhën e makinës (kompajlohen), mirëpo në një gjuhë të makinës e cila në fakt nuk ekziston, dhe quhet Java Virtual Machine(JVM)
Gjuha e makinës për JVM quhet Java bytecode
Programi i kompajluar ka ekstensionin class, p.sh. Programi.class
48
JVM në fakt nuk ekziston –është e nevojshme të bëhet simulimi i saj. Simulimi bëhet përmes interpretuesit (java.exe), i cili lexon bytecode-in dhe sigurohet që instruksionet të mund të ekzekutohen
Interpretuesi i Java-se është i nevojshëm për çdo lloje të platformave (Windows, Linux, Solaris, MacOSetj)
Bytecode-i Java-se mund të ekzekutohet në cilindo kompjuter në të cilin është i instaluar interpretuesi i Java-se
49
50
51
Programming principles in Java architectures and interfaces ◦ Chapter 2: Simple Java Applications
Java A Beguinners Guide ◦ Chapter 1 : Java Fundamentals
52