Primul program

Un program java este format dintr-o colectie de clase aflate in unul sau mai multe fisiere sura avand extensia .java .

Programele sunt compilate (cu ajutorul utilitarului javac) si este generat codul intermediar (bye code) astfel incat pentru fiecare clasa definite in fisierele sursa va fi construit cate un fisier cu extensia .class. Fisierele compilate contin instructiuni JVM. Pentru executarea programului este nevoie de o masina virtuala java ce interpreteaza codul intermediar in conformitate cu platforma (Sistemul de Operare) pe care se ruleaza.

În listingul următor este prezentat cel mai simplu program java care afişează un text şi data curentă.

import java.util.*;
 
    public class Hello {
        public static void main(String[] args) {
        System.out.println("Hello, the current date is: ");
        Date data = new Date();
        System.out.println(data);
    }
}

Presupunand ca avem instalat JSE, pentru a rula programul de mai sus vom realiza urmatorii pasi:

  1. Deschidem un editor text si introducem condul de mai sus;
  2. Salvam fisierul cu denumirea Hello.java (observati ca numele fisierului este identic cu numele clasei publice - este obligatoriu sa respectati aceasta conventie pentru toate clasele ce contin functia main si au declaratia public in fata numelui clasei);
  3. Deschidem o consola, si navigam in directorul unde am salvat fisierul;
  4. Compilam programul cu instructiunea : “javac Hello.java”. In urma compilarii va fi generat un fisier Hello.class;
  5. Rulam programul cu instructiunea: java Hello

Pasii de mai sus sunt valabil in cazul in care nu dormi sa folosim un mediu de dezvoltare integrat (MDI). Un astfel de mediu, usureaza munca programatorului oferind facilitati care cresc productivitatea acestuia. Desi, dupa cum am vazut mai sus, pentru a scrie un program java este suficient sa avem instalat JSE si sa utilizam un editor de text simplu, este recomandat sa utilizam un MDI.

Descrierea programului

În cazul în care în cadrul programului urmează să se folosească clase din cadrul unor pachete atunci acestea vor trebui specificate prin intermediul declaraţiei import. Nici această declaraţie nu este obligatorie. In cazul nostru am importat pachetul java.util, deoarece in acesta este declarata clasa Date.

Orice clasa java importa in mod implicit(si nu trebuie declarat in mod explicit printr-o declaratie de import) clasele din pachetul java.lang. Vom reveni ulterior si vom analiza cateva dintre clasele cele mai importante din cadrul acestui pachet.

Cea mai simplă aplicaţie java trebuie să conţină cel puţin o definiţie de clasă. Spre deosebire de alte limbaje de programare limbajul Java nu permite definirea de metode sau argumente care sa nu aparţină nici unei clase.

Declararea unei clase java se face cu declaraţia: public class Hello, unde cuvântul cheie public este un specificator de acces ce defineşte gradul de acces al clasei (se va reveni ulterior la aceşti specificatori), iar cuvântul cheie class este folosit pentru a declara o nouă clasă.

Important: In java se recomandă ca în cadrul unui fişier sursă se se definească cel mult o singură clasă. Numele fişierului sursă trebuie să fie acelaşi cu numele clasei (adăugând extensia .java). În cazul în care se doreşte ca într-un fişier sursă să fie definite mai multe clase, atunci în acel fişier nu poate exista mai mult de o clasă publica, iar numele fişierului trebuie să fie identic cu numele clasei publice.

Un program java standard trebuie să conţină în una din clasele sale publice metoda main a cărei semnătură este următoarea:

    public static void main(String[] args) 

Această metoda este punctul de start al oricărei aplicaţii standard java. În momentul lansării în execuţie a unui program java instrucţiunile din cadrul acestei funcţii sunt executate.

Important: Este obligatoriu ca semnătura funcţie să fie exact în forma prezentată mai sus. În cazul în care lipseşte oricare dintre cuvintele cheie atunci maşina virtuala java nu va recunoaşte această metodă ca punct de start al programului.

Cuvântul cheie public specifica faptul că metoda main este accesibilă din exterior şi poate fi apelată de către “oricine”. Cuvântul cheie static specifică faptul că metoda main poate fi apeltă fără a fi nevoie să se construiască o instanţă (un obiect) de tipul clasei Hello. Argumentul args de tip vector de şiruri de caractere este folosit pentru a prelua parametrii din linia de comandă atunci când aceştia există. Chiar dacă nu dorim să specificăm parametri în linia de comandă, acest argument nu trebuie să lipsească.