Se afișează postările cu eticheta clase. Afișați toate postările
Se afișează postările cu eticheta clase. Afișați toate postările

duminică, 7 septembrie 2025

Clase și obiecte. Sintaxă și semantică

Clasa stă de fapt la baza programării orientate e obiecte, pe ea este construit întregul limbaj Java, deoarece clasa definește obiectul.


O clasă reprezintă un șablon sau un tip de bază pentru crearea obiectelor. Este un tip abstract de date definit de programator. Atunci când definim o clasă nouă creăm un nou tip de date.

O clasă descrie un set de caracteristici (date, atribute sau variabile de instanță) și comportamente (funcționalitate, metode sau funcții) pe care obiectele create din acea clasă le vor avea. Clasa în POO întrunește toate obiectele de una şi aceeași natură, ceea ce înseamnă că obiectele care aparțin uneia și aceleiași clase au una şi aceeași structură şi comportament.

Sintaxa de definire a unei clase este: 

Prima parte din declarația unei clase o constituie modificatorii de acces care sunt opționali. După numele clasei putem specifica, dacă este cazul, faptul că respectiva clasă este subclasă a unei alte clase cu numele nume_super_clasă, sau/şi că implementează una sau mai multe interfeţe ale căror nume trebuie separate prin virgulă.


Corpul unei clase este cuprins între { } şi are ca conţinut:
  • declararea şi inițializarea variabilelor de instanţă şi de clasă;
  • declararea şi implementarea constructorilor;
  • declararea şi implementarea metodelor de instanţă şi de clasă;
  • declararea unor clase interne.
Reţineţi!
  • într-un fișier Java pot fi definite mai multe clase;
  • într-un fișier Java numai o clasă poate avea modificatorul public;
  • fișierul Java ce conține o clasă publică trebuie să fie cu același nume ca și clasa publică.
O clasă poate avea unul din următoarele cuvinte rezervate în declarația acestora:

Exemplu de declarație de clasă: 


În Java orice clasă conţine 2 tipuri de elemente : atribute (variabilele) şi metode






luni, 1 septembrie 2025

Citirea datelor de intrare de la consolă

  

Java folosește System.out pentru a se referi la un dispozitiv standard de ieșire a datelor, care este monitorul,  și System.in pentru dispozitiv standard de intrare a datelor, care este tastatura.

Pentru a afișa valori de tip String sau primitive în consolă se va utiliza metoda println().

În Java, System.out se referă la dispozitivul standard de ieșire (monitorul), iar System.in la dispozitivul standard de intrare (tastatura).

Pentru a afișa valori de tip String sau tipuri primitive în consolă, se folosește metoda println().

Java nu oferă direct posibilitatea de a citi date de la tastatură, dar acest lucru se poate realiza prin clasa Scanner. Crearea unui obiect Scanner se face astfel:

Scanner input = new Scanner(System.in);

Sintaxa new Scanner(System.in) crează un obiect de tip Scanner, iar sintaxa Scanner input declară că input este o variabilă de tip Scanner. Întreaga linie Scanner input = new Scanner(System.in); crează un obiect de tip Scanner căruia îi atribuie o referință la variabila input. Obiectul input  va putea invoca toate metodele clasei Scanner pentru a citi valori de diverse tipuri:

Metodă

Descriere

nextByte()

Citește un întreg de tip byte

nextShort()

Citește un întreg de tip short

nextInt()

Citește un întreg de tip int

nextLong()

Citește un întreg de tip long

nextFloat()

Citește un număr de tip float

nextDouble()

Citește un număr de tip double

next()

Citește un șir de caractere care finisează pînă la spațiu

nextLine()

Citește o linie de text, adică un șir de caractere care finisează cu tasta Enter.

 

Clasa Scanner se află în pachetul java.util, de aceea trebuie importată înainte de a fi utilizată într-o clasă:

import java.util.Scanner;

Pe lângă citirea datelor de la tastatură, clasa Scanner permite și citirea datelor din fișiere – aspect pe care îl vom detalia într-o lecție ulterioară.

La instanțiere, obiectul Scanner creează un flux de intrare a datelor. Acest flux rămâne deschis și folosește resursele sistemului până când se apelează metoda close(). Dacă aplicația Java este închisă, toate fluxurile deschise sunt închise automat.


Exemplu fără utilizarea clasei Scanner

Exemplu cu utilizarea clasei Scanner

 

public class exeggyhjj {

 public static void main(String[] args) {

       double nr1 = 11;

       double nr2 = 12;

       double nr3 = 13;    

       double medie = (nr1 + nr2 + nr3)/3;

       System.out.println("Media numerelor " + nr1 + " " + nr2 + " " + nr3 + " = " + medie);

 }

}

import java.util.*;

public class exeggyhjj {

 public static void main(String[] args) {

Scanner citeste = new Scanner(System.in);

System.out.print("Introduceti 3 numere:");

       double nr1 = citeste.nextDouble();

       double nr2 = citeste.nextDouble();

       double nr3 = citeste.nextDouble();

      double medie = (nr1 + nr2 + nr3)/3;

       System.out.println("Media numerelor " + nr1 + " " + nr2 + " " + nr3 + " = " + medie);

citeste.close();

 }

}

 

 

 

 

 

 

În următorul meu video educațional explic acest mod de a citi date de la tastatură în limbajul Java: 



Să aveți o zi deosebită! 

💝

luni, 4 februarie 2019

Structura programelor Java.

    Limbajul de programare Java este un limbaj complet orientat spre obiecte.
Codul sursă este editat doar în interiorul unei clase, nu există cod în exteriorul claselor. Structura completă a unei clase Java vom examina în una din temele viitoare. Vorbind despre structura programelor Java, este necesar de menționat metoda main(...) esențială în testarea claselor create.
    O aplicație Java poate fi alcătuită din o singură clasă sau mai multe clase, însă pentru toate există o singură metodă main(...) în care se vor instanția clasele create și se vor testa metodele programate. De obicei această metodă este încadrată într-o clasă specială de testare, însă se poate afla în clasa de bază.
Deci la general structura unui program Java este următoarea:


Elementele ce alcătuiesc semnătura metodei au următoarea semnificație:
public – este un modificator de acces. În cazul dat specifică că JMV poate accesa metoda de oriunde.
static – este un modificator de tip, specifică că metoda aparține clasei și pentru ca această să fie apelată nu este nevoie de crearea unei instanțe. Vom studia acest modificator în următoarele teme.
void – este tipul de return al metodei. Metoda nu returnează nimic.
main – denumirea metodei configurată în JVM. 

String [] args – lista de parametri a metodei. 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ă. Dar, chiar și în cazul în care nu se dorește preluarea argumentelor în acest mod, acest argument nu trebuie să lipsească, este obligatoriu. 

Rețineți! 

1. Într-un fișier *.java se pot afla orice număr de clase , însă doar un poate fi publică.
2. Daca într-un fișier *.java se află o clasă publică atunci numele fișierului trebuie să coincidă cu numele clasei publice.
3. În cazul în care o clasă nu conține metoda main() se va crea o clasă test ce conține metoda main() pentru această.
4. Compilatorul recunoaște următoarele semnături ale metodei main():
public static void main(String a[])

public static void main(String[] a) 
public static void main(String... a)
static public void main(String a[])
static public void main(String[] a)
static public void main(String... a)
public static void main(final String[] args)
public final static void main(String[] args)
public synchronized static void main(String[] args)
public strictfp static void main(String[] args)
5. Semnătura metodei main() nu poate fi modificată după bunul plac al oricărui programator, orice modificare va crea eroare de execuție.
6. Programatorul poate crea metodă denumită main() cu o altă semnătură. Eroare de compilare nu va fi afișată. Însă în cazul în care aceasta va fi executată se va obține eroare de execuție, asemănătoare cu cea prezentată mai jos, în care vom fi atenționați că programul nu poate fi executat pentru că lipsește metoda main(): 
Error: Main method not found in class PrimulProgram, please define the main method as: public static void main(String[] args)