Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice
Acasa » scoala » informatica » java
Programarea in Java - Limbajul Java

Programarea in Java - Limbajul Java


Programarea in Java

Curs

Referinte:

Java for Students, Second Edition, Prentice Hall, 1999

Bell D., Perr M.

Java. A Framework for Programming and Problem Solving, PWS Publishing, 1999

Lambert K. A., Osborne M.



Limbajul Java, Computer Press Agora, Tg. Mures, 1996

Rotariu E.

https://www.javasoft.com/

Introducere

Java este limbajul de programare cu evolutia cea mai rapida din lume. Companii precum IBM si SUN au adoptat Java ca fiind limbajul de dezvoltare a aplicatiilor cel mai important. In primul rand, Java este un limbaj de programare orientat obiect.

Proictantii Java au studiat trasaturile limbajelor orientate-obiect, cum ar fi SmallTalk si C++, si au reusit sa incorporeze cele mai bune proprietati. In al doilea rand, Java este sigur, robust si portabil. Adica:

permite constructia de anti-virusi, sisteme sigure (securitate)

suporta dezvoltarea de programe care nu supraincarca memoria (robustete)

permite programelor sa se execute pe diferite tipuri de calculatoare fara schimbari ale codului sursa (portabilitate).

Alte proprietati fac Java un limbaj ideal pentru dezvoltarea de aplicatii distribuite, bazate pe retele, o arie de importanta crescanda.

In al treilea rand, Java suporta folosirea de concepte de programare avansate cum ar fi threads. Un thread este un proces, care poate rula concurent cu alte procese. De exemple, o singura aplicatie Java poate avea 2 thread-uri. Un thread transfera o imagine de pe o masina catre alta in timp ce alt thread interactioneaza simultan cu utilizatorul.

In sfarsit, Java este o reasamblare superficiala a lui C++, care este limbajul de programare cel mai popular din lume. Totusi, Java este mai usor de folosit si de invatat, mai portabil si aplicabil in Internet.

Un singur dezavantaj al limbajului Java este viteza mica de executie in comparativ cu limbajele de programare moderne deoarece acesta este interpretat.

Masina virtuala Java si cod binar

De obicei, compilatoarele traduc un limbaj de nivel inalt in limbaj masina pentru un tip particular de calculator. Cu toate acestea compilatorul Java nu traduce Java in limbaj masina, ci intr-un limbaj pseudo-masina numit cod binar Java. Codul binar (byte code) este limbajul masina pentru calculatorul Java imaginar. Pentru a rula cod binar Java pe un calculator particular, trebuie sa instalam o masina virtuala Java (JVM - Java Virtual Machine) pe acel calculator.

JVM este un program care se comporta ca un calculator. Un astfel de program se numeste interpretor. Un interpretor are si avantaje si dezavantaje.

Marele dezavantaj este ca un interpretor ruleaza programele mai lent decat un calculator actual. Cu toate acestea, anumite JVM-uri pot traduce cod binar in limbaj masina imediat - asa numitele Just-In-Time compilation (JIT). De asemeni, procesoarele noi de calculatoare sunt dezvoltate pentru a implementa JVM direct in hard pentru a nu mai exista penalizari de perfomanta.

Marele avantaj al unui interpretor este ca orice calculator il poate rula. Asadar codul binar Java este foarte portabil. De exemplu multe din paginile ce se incarca de pe Web contin mici programe Java deja traduse in cod binar. Acestea se numesc applet-uri si ruleaza pe un JVM care este incorporat intr-un browser Web.

Deoarece programele Java ruleaza pe o masina virtuala se pot limita posibilitatile lor, deci nu trebuie sa ne facem griji ca un applet ne infecteaza (cu vre-un virus) calculatorul. Java are un mecanism de securitate destul de bin pus la punct.

Applet-uri

crearea fisierului Salut.java

//biblioteci Java (oarecum similare cu fisierele antet din C)

import java.awt.*; // Abstract Window Toolkit

import java.applet.Applet;

public class Salut extends Applet

}

Compilarea acestui program Java se face cu comanda:

javac Salut.java

Daca este permisa extensia de 4 caractere trebuie rulat sub Unix sau Windows 9x. Daca este necesara precizarea caii claselor atunci se poate crea un fisier cu extensia bat (batch file) de genul:

javac -g -classpath c:jdk1.2.1lib;c:jdk1.2.1jrelib;c:jdk1.2.1include Salut.java

In urma compilarii se formeaza fisierul Salut.class (fisier cod binar) byte code file.

crearea unui fisier HTML (Hyper Text Markup Language) cu numele Salut.html (sau orice alt nume) avand continutul:

<title> Applet cu numele Salut </title>

<applet code='Salut.class' width=300 height=200>

</applet>

rularea programului se face cu un applet viewer (vizualizator de applet-uri) sau un Web Browser (browser de web). Cele mai cunoscute browser-e de Web sunt Netscape Navigator sau Microsoft Internet Explorer. Un applet viewer este un program care ruleaza un applet Java fara a fi nevoie de un browser Web. Comanda in cazul exemplului nostru va fi:


appletviewer Salut.html

Programe de sine statatoare (free standing, stand-alone programs)

Editare - crearea fisierului Curs1_2.java cu textul:

public class Curs1_2

}

Compilarea acestui program Java se face cu comanda:

javac Curs1_2.java

Se formeaza fisierul Curs1_2.class.

Executia -incarcarea fiserului (cod binar) in JVM (Java Virtual Machine)

care se executa cu comanda:

java Curs1_2

La prompter-ul system va apare mesajul:

Salut Aceasta este versiunea de sine statatoare

Grafica in Java

Clasa Graphics (clasa din awt) se refera la ecranul grafic Java. Grafica Java se bazeaza pe pixeli.

x

 

y

De obicei vom seta width=300 (x) si height=200 (y)

drawString - metoda din clasa java.awt.Graphics

paint este metoda apelata de applet viewer. De aceea paint nu poate fi private. Trebuie sa fie public.

Alte motode grafice:

drawLine( Xstart, Ystart, Xsfarsit, Ysfarsit);

-functie membra a clasei Graphics ce traseaza o linie de la punctul

(Xstart, Ystart) la punctul (Xsfarsit, Ysfarsit).

drawRect( x, y, latime, lungime)

-deseneaza un dreptunghi

drawOval( x, y, latime, lungime)

-deseneaza un oval (o elipsa inscrisa in dreptunghiul dat prin valorile

din apel

drawArc( x, y, latime, lungime, UStart, UTotal)

-deseneaza un arc de elipsa (dat prin primii 4 parametri)

Arcul

UTotal


UStart


Functii de culoare

setBackground( Color.lightGray);

g.setColor(Color.red);

Este posibil sa setam culoarea fondului (background) sau culoarea desenelor. Exista 13 culori standard: black, blue, cyan, darkGray, gray, green, ligthGray, magenta, orange, pink, red, white, yellow.

Functii de 'umplere' a unei figuri (chenar):

fillRect

fillArc

fillOval

Acestea au aceeasi parametri cu echivalentele draw diferenta fiind umplerea acestora.

Exemplu

import java.awt.*;

import java.applet.Applet;

public class Curs1_3 extends Applet

}

Afisarea caracterelor se face cu functia membru drawString Sir, x, y ) unde parametrii sunt:

Sir - secventa de caractere intre ghilimele (siruri literali)

x - coordonata pe orizontala de inceput a sirului

y - coordonata pe verticala de inceput a sirului

Comentariile sunt ca in C++, adica folsind semnul //

Variabile

Variabilele si tipurile simple in Java sunt aproape ca in C standard. Exista tipurile: int, float, double. Tipul int se intinde de la -2^31 pana la 2^31-1 adica de la -2 147 483 648 pana la 2 147 483 647. Numele variabilelor sunt 'case-sensitive' (de exemplu 'a' si 'A' sunt nume distincte.

Exemplu

import java.awt.*;

import java.applet.Applet;

public class Curs1_4 extends Applet

}

Metode si paramentri

Putem defini propriile metode intr-o clasa. Acestea pot fi apelate in alte functii.

Exemplu: Dorim sa scriem o metoda pentru desenarea unui triunghi isoscel.

import java.awt.*;

import java.applet.Applet;

public class Curs1_5 extends Applet

private void deseneaza_triunghi(Graphics g,

int bottomX, int bottomY, int baza, int inaltime)

private int aria_triunghi(int baza, int inaltime)

}

Observatie: toate metodele private (definite de noi) sunt declarate si apelate in schimb functia paint este doar declarata si nu apelata Applet viewer (sau browser-ul) initializeaza applet-ul si cauta declaratia functiei paint. De aceea functie paint nu poate fi private ci public. ATENTIE ! Intr-un anume sens, main() din C este similara cu paint pentru applet-uri. O functie Java poate intoarce valori la fel ca in C.

Exercitii propuse spre implementare

1. Presupunem ca suntem in campanie electorala si dorim sa vizualizam

situatie statistica a unui sondaj electoral. Presupunem ca avem urmatoarele

6 cazuri:

-partidul P1 - 42%

-partidul P2 - 12%

-partidul P3 - 8%

-partidul P4 - 6%

-partidul P5 - 5%

-celelalte partide - 27%

Realizati un applet Java care sa puna in evidenta aceste proportii. De exemplu un cerc care sa aiba diferite culori pentru anumite sectoare de cerc reprezentate proportional cu procentele furnizate in urma sondajului electoral.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.