Objektivat - · Web view Mbetja e pjestimit është shumë e nevojshme në...

Click here to load reader

  • date post

    01-Feb-2021
  • Category

    Documents

  • view

    0
  • download

    0

Embed Size (px)

Transcript of Objektivat - · Web view Mbetja e pjestimit është shumë e nevojshme në...

Leksioni 2 Algoritmikë Java I 13

Në kapitullin e mëparshëm, ju provuat si të krijoni, kompiloni, dhe ekzekutoni një program në Java. Duke filluar nga ky kapitull, ju do të mësoni si të zgjidhni probleme praktike duke programuar. Nëpërmjet këtyre problemeve, ju do të mësoni tipet primitive të Javës dhe subjekte të lidhur me to, si variablat, konstantet, tipet e të dhënave, operatorët, shprehjet, dhe hyrje dhe daljet (input & output)

Objektivat

· Të shkruhen programe në Java për të realizuar llogaritje të thjeshta.

· Të fusim të dhëna nga konsola duke përdorur klasën Scanner.

· Të përdorim identifikatorë për të emëruar variabla, konstante, metoda, dhe klasa.

· Të përdorim variabla për të rezervuar të dhëna.

· Të programojmë me statement-e dhënje vlerash dhe shprehje dhënje vlerash.

· Të përdorim konstante për të rezervuar të dhëna të përhershme.

· Të deklarojmë tipe primitive të dhënash: byte, short, int, long, float, double, dhe char.

· Të përdorim operatorët Java për të shkruar shprehje numerike.

· Të afishojmë kohën korrente.

· Të përdorim operatorët e shkurtuar.

· Konvertimi i një vlere nga një tip në tjetrin.

· Llogaritja e një pagese kredie.

· Paraqitja e karaktereve duke përdorur tipin char.

· Llogaritja e ndryshimeve monetare.

· Paraqitja e një stringu duke përdorur tipin String.

· Të familjarizohemi me dokumentacionin në Java, stilin e programimit, dhe emërtim konvencionesh.

· Të dallohen gabimet sintaksore, gabimet e ekzekutimit, dhe gabimet logjike dhe gabimet e procesit “debug”.

· (GUI), të realizojmë futje të dhënash duke përdorur kutinë e dialogut JOptionPane.

Prezantim i programimit nëpërmjet një shembulli

Llogaritja e Sipërfaqes së një Rrethi: ky program llogarit sipërfaqen e një rrethi

public class SiperfaqeRrethit {

/** metoda Main */

public static void main(String[] args) {

double rrezja;

double siperfaqja;

// Dhenje vlere rrezes

rrezja = 20;

// llogaritet siperfaqja

siperfaqja = rrezja * rrezja * 3.14159;

// afishohen rezultatet

System.out.println("Siperfaqja e rrethit me rreze " +

rrezja + " eshte " + siperfaqja);

}

}

Alokohet kujtesa për rrezja (nuk ka vlere)

Alokohet kujtesa për siperfaqja (nuk ka vlere)

jepet vlera 20 te rrezja

llogaritet dhe jepet vlera te siperfaqja

afishohet nje mesazh ne konsole

Reading Input from the Console

1. Krijoni një objekt Scanner:

Scanner input = new Scanner(System.in);

2. Përdorni metodat next(), nextByte(), nextShort(), nextInt(), nextLong(), nextFloat(), nextDouble(), or nextBoolean() për të marrë një vlerë string, byte, short, int, long, float, double, ose bool. Për shembull,

System.out.print("fusni një vlerë double: ");

Scanner input = new Scanner(System.in);

Një identifikator është një sekuencë karakteresh që konsiston nga gërmat, shifrat, underscore-t (_), dhe shenja e dollarit.

Një identifikator duhet të fillojë me një germë, një underscore (_), ose një shenjë dollari($). Nuk mund të fillojë me një shifër.

Një identifikator nuk mund të jetë një fjalë e rezervuar. (shih tabelën e mëposhtme të fjalëve të rezervuara në Java).

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

synchronized

this

throw

Throws

transient

true

try

void

volatile

While

Një identifikator nuk mund të jetë true, false, ose null.

Një identifikator mund të ketë një gjatësi të ҫfarëdoshme.

Variablat

// llogarit siperfaqen e pare

rrezja = 1.0;

siperfaqja = rrezja * rrezja * 3.14159;

System.out.println("Siperfaqja eshte " + siperfaqja + " per rrezen "+rrezja);

// llogarit siperfaqen e dyte

rrezja = 2.0;

siperfaqja = rrezja * rrezja * 3.14159;

System.out.println("Siperfaqja eshte " + siperfaqja + " per rrezen "+rrezja);

Deklarimi i Variablave

int x; // Deklarohet x si nje variabel, variabel i plote;

double radius; // Deklarohet rrezja si nje variabël double;

char a; // Deklarohet a si nje variabel karakter;

Statement-et e dhënjes së vlerave variablave

x = 1; // i jepet vlera 1 x-it;

radius = 1.0; // i jepet vlera 1.0 rrezes;

a = 'A'; // i jepet vlera 'A' a-se;

Deklarim dhe inicializim në një hap

int x = 1;

double d = 1.4;

Konstantet

Forma e përgjithëshme e deklarimit të konstanteve:

final datatype CONSTANTNAME = VALUE;

për shembull:

final double PI = 3.14159;

final int SIZE = 3;

Tipet Numerikë të të Dhënave

( float Intervali negativ : 32-bit IEEE 754 -3.4028235E+38 to -1.4E-45 intervali pozitiv : 1.4E-45 to 3.4028235E+38 ) ( double Intervali negativ : 64-bit IEEE 754 -1.7976931348623157E+308 to -4.9E-324 intervali pozitiv : 4.9E-324 to 1.7976931348623157E+308 ) ( long –2 63 to 2 63 –1 64-bit me shenje (i.e., -9223372036854775808 to 9223372036854775807 ) ) ( int –2 31 (-2147483648) to 2 31 –1 (2147483647) 32-bit me shenje ) ( short –2 15 (-32768) to 2 15 –1 (32767) 16-bit me shenje ) ( byte –2 7 (-128) to 2 7 –1 (127) 8-bit me shenje ) ( Emri Intervali I vlerave kujtesa e rezeruar )

Operatorët Numerikë

( + mbledhje 34 + 1 35 - zbritje 34.0 – 0.1 33.9 * shumezim 300 * 30 9000 / pjestim 1.0 / 2.0 0.5 % mbetje pjestimi 20 % 3 2 ) ( Emri Kuptimi Shembull Rezultati )

Pjestimi i Plotë

5 / 2 jep numrin e plotë 2.

5.0 / 2 jep vlerën double 2.5

5 % 2 jep 1 (mbetja e pjestimit)

Operatori i mbetjes së pjestimit

Mbetja e pjestimit është shumë e nevojshme në programim. Për shembull, një numur ҫift % 2 është gjithmonë 0 dhe një numur tek % 2 është gjithmonë 1. Kështu ju mund të përdorni këtë cilësi ne se numrat janë ҫift ose tek. Supozojmë se sot është e Shtunë dhe ju dhe miku juaj do të takoheni në pas dhjetë ditësh. Ҫfarë dite është pas 10 ditësh? Ju mund të gjeni që dita është e Martë duke përdorur shprehjen e mëposhtme:

( Dita e dyte e javes eshte e Marte ) ( Nje jave ka 7 dite ) ( E Shtuna eshte dita e 6-të e jav es ) ( Pas 10 diteve ) ( (6 + 10) % 7 is 2 )

Problem: Afisho kohën

Të shkruhet një program që nxjerr orët, dhe minutet nga sekondat.

SHENIM

Llogaritjet që përfshijnë numrat me pike notuese janë të përafërt mbasi këta numra nuk rezervohen me preҫizion të plotë. Për shembull,

System.out.println(1.0 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1);

afishon 0.5000000000000001, jo 0.5, dhe

System.out.println(1.0 - 0.9);

afishon 0.09999999999999998, jo 0.1. Numrat e plotë rezervohen me preҫizion të plotë. Si rrjedhim, llogaritjet me numra të plotë japin një rezultat të saktë të plotë.

Literalë Numra

Një literal është një vlerë konstante që afishohet direkt në program. Për shembull, 34, 1,000,000, dhe 5.0 janë literalë në statementet që vijojnë:

 

int i = 34;

long x = 1000000;

double d = 5.0;

Literalët e Plotë

Një literal i plotë mund ti jepet si vlerë një variabli integer kur vlera pranohet nga hapësira që variabli zë. Një gabim kompilatori ndodh kur konstantja është shumë e gjërë për tu pranuar nga variabli. Për shembull, statement-i byte b = 1000 do të shkaktonte një gabim kompilimi, mbasi 1000 nuk mund të rezervohet në një variabël të tipit byte.

Një literal i plotë supozohet të jetë i tipit int, vlerat e të cilit janë midis -231 (-2147483648) dhe 231–1 (2147483647). Për të paraqitur një literal të gjatë të plotë, i shtohet një gërmë L ose l. L preferohet se l (gërma e vogël e L) mund të ngatërohet me 1 (shifra një).

Literalët me Presje Notuese

Literalët me presje notuese shkruhen me pikë dhjetore. Apriori, një literal me pikë notuese trajtohet si një vlerë e tipit double. Për shembull, 5.0 konsiderohet një vlerë double, jo një float. Ju mund ta ktheni një numur në float duke shtuar gërmën f ose F, dhe e bëni një numur double duke shtuar gërmën d ose D. për shembull, ju mund të përdorni 100.2f ose 100.2F për një numur float, dhe 100.2d ose 100.2D për një numur double.

Paraqitja Shkencore

Literalët me pike notuese mundet gjithashtu të specifikohen me një paraqitje shkencore, për shembull, 1.23456e+2, ose 1.23456e2, është ekuivalent me 123.456, dhe 1.23456e-2 është ekuivalent me 0.012345