krijuar nga inxhinierët e kompanisë sun versioni i parë...

Post on 08-Mar-2020

7 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related