Documente Academic
Documente Profesional
Documente Cultură
1. Java Introduction
Java este un limbaj de programare popular, creat în 1995, este deținut de Oracle și peste 3
miliarde de dispozitive rulează pe Java.
Se folosește pentru:
Sa incepem !
Dacă Java este instalat, veți vedea ceva de genul (în funcție de versiune):
Exemplu explicat
Fiecare linie de cod care rulează în Java trebuie să se afle în interiorul unei clase. În exemplul
nostru, am numit clasa MyClass. O clasă ar trebui să înceapă întotdeauna cu majuscule.
Notă: Java este sensibil la majuscule și minuscule: „MyClass” și „myclass” au semnificații
diferite.
Numele fișierului java trebuie să corespundă cu numele clasei. Când salvați fișierul, salvați-l
folosind numele clasei și adăugați „.java” la sfârșitul numelui fișierului. Pentru a rula exemplul
de mai sus pe computerul dvs., asigurați-vă că Java este instalat corespunzător: Accesați
capitolul Noțiuni introductive despre cum să instalați Java.
Output-ul ar trebui sa fie :
Orice cod din metoda main () va fi executat. Nu trebuie să înțelegeți cuvintele cheie înainte și
după main.Veți ajunge să le cunoașteți putin câte putin în timp ce citiți acest tutorial.
Deocamdată, amintiți-vă doar că fiecare program Java are un nume de clasă care trebuie să se
potrivească cu numele de fișier și că fiecare program trebuie să conțină metoda main().
3.3 System.out.println()
În cadrul metodei main (), putem folosi metoda println () pentru a imprima pe ecran o linie de
text:
Acest exemplu utilizează un comentariu cu o singură linie la sfârșitul unei linii de cod:
Acest exemplu utilizează un comentariu cu mai multe linii (un bloc de comentarii) pentru a
explica codul:
În cazul în care tipul este unul dintre tipurile Java (cum ar fi int sau String) și variabilă este
numele variabilei (cum ar fi x sau nume). Semnul egal este utilizat pentru a atribui valori
variabilei.
Pentru a crea o variabilă care ar trebui să stocheze text, uitați-vă la următorul exemplu:
Ex :
Puteți, de asemenea, să declarați o variabilă fără a atribui valoarea și a atribui valoarea mai
târziu:
x stochează valoarea 5
y stochează valoarea 6
Apoi folosim metoda println () pentru a afișa valoarea x + y, care este 11
Regulile generale pentru construirea de nume pentru variabile (identificatori unici) sunt:
Așa cum am explicat în capitolul precedent, o variabilă în Java trebuie să ii fie specificat tipul de
date.
Un tip de date primitiv specifică dimensiunea și tipul valorilor variabile și nu are metode
suplimentare.
Există opt tipuri de date primitive în Java:
Integer Types stochează numere întregi, pozitive sau negative (cum ar fi 123 sau -456),
fără zecimale. Tipurile valide sunt byte, short, int și long. Tipul pe care ar trebui să il
folosești, depinde de valoarea numerică.
Floating point types reprezintă numere cu o parte fracționată, care conține unul sau mai
multe zecimale. Există două tipuri: float si double.
! Chiar dacă există mai multe tipuri numerice în Java, cele mai utilizate pentru numere sunt int
(pentru numere întregi) și duble (pentru numere în virgule plutitoare). Cu toate acestea, le vom
descrie pe toate în timp ce continuați să citiți.
6.4.1 Byte
Tipul de date byte poate stoca numere întregi între -128 și 127. Acesta poate fi utilizat în loc de
int sau alte tipuri întregi pentru a salva memorie când sunteți sigur că valoarea va fi cuprinsă
între -128 și 127:
6.4.2 Short
6.4.3 Int
Tipul de date int poate stoca numere întregi de la -2147483648 la 2147483647. În general, tipul
de date int este tipul de date preferat atunci când creăm variabile cu o valoare numerică.
10
Ar trebui să utilizați un tip de virgule mobila ori de câte ori aveți nevoie de un număr cu o
zecimală, cum ar fi 9.99 sau 3.14515.
6.5.1 Float
Tipul de date float poate stoca numere fracționale de la 3.4e − 038 la 3.4e + 038. Rețineți că ar
trebui să închei valoarea cu o "f":
6.5.2 Double
Tipul de date double poate stoca numere fracționale de la 1,7e − 308 la 1,7e + 308. Rețineți că
ar trebui să închei valoarea cu o „d”:
Precizia unei valori in virgule mobile indică câte cifre poate avea valoarea după punctul zecimal.
Precizia unu float este de doar șase sau șapte cifre zecimale, în timp ce variabilele double au o
precizie de aproximativ 15 cifre. Prin urmare, este mai sigur să folosiți double pentru majoritatea
calculelor.
11
Un număr cu virgula mobila poate fi, de asemenea, un număr științific cu un "e" pentru a indica
puterea de 10:
6.6 Booleans
Un tip de date boolean este declarat cu cuvântul cheie boolean și poate lua valorile true sau
false:
Valorile booleane sunt utilizate mai ales pentru testarea condiționată, despre care veți afla mai
multe despre un capitol ulterior.
6.7 Characters
Tipul de date char este utilizat pentru a stoca un singur caracter. Caracterul trebuie să fie
înconjurat de ghilimele unice, simple ar fi ‘A’ sau ‘c’:
În mod alternativ, puteți utiliza valori ASCII pentru a afișa anumite caractere:
12
Tipul de date String este utilizat pentru a stoca o secvență de caractere (text). Valorile șirului
trebuie să fie înconjurate de ghilimele duble:
Tipul String este atât de folosit și integrat în Java, încât unii îl numesc „tipul special nou”.
Un String în Java este de fapt un tip de date non-primitiv, deoarece se referă la un obiect.
Obiectul String are metode care sunt utilizate pentru a efectua anumite operații cu string-uri.
Nu vă faceți griji dacă nu înțelegeți încă termenul „obiect”. Vom afla mai multe despre string-uri
și obiecte într-un capitol ulterior.
Tipurile de date non-primitive sunt numite tipuri de referință, deoarece se referă la obiecte.
Tipurile primitive sunt predefinite (deja definite) în Java. Tipurile non-primitive sunt
create de programator și nu sunt definite de Java (cu excepția lui String)..
Tipurile non-primitive pot fi utilizate pentru a apela metode, pentru a efectua anumite
operatii, în timp ce tipurile primitive nu pot.
Un tip primitiv are întotdeauna o valoare, în timp ce tipurile non-primitive pot fi null.
Un tip primitiv începe cu o literă mica, în timp ce tipurile non-primitive începe cu litera
mare.
Dimensiunea unui tip primitiv depinde de tipul de date, în timp ce tipurile non-primitive
au toate aceeași dimensiune.
13
14
În exemplul de mai jos, numerele 100 și 50 sunt operanzi, iar semnul + este operator.
Deși operatorul + este adesea folosit pentru a adăuga împreună două valori, ca în exemplul de
mai sus, poate fi de asemenea utilizat pentru a adăuga împreună o variabilă și o valoare, sau o
variabilă și o altă variabilă:
15
// output 8
- Scadere Scade o
valoare
din alta
//output 2
* Multiplicar Multiplica
e doua
valori
//output 15
/ Diviziune Imparte o
valoare la
alta
//output 4
% Coeficient Returneaz
a resutul
diviziunii
//output 1
16
//output 6
-- Descrestere Descreste
valoarea
unei
variabile
cu 1
//output 4
!!! Atentie
1. Ex
int x = 34 ;
int y = ++x; // output x = 35 ; y = 35
2. Ex :
int x = 34 ;
int y = x++; // output x = 35 ; y = 34
17
// output 15 ( x = x + 5 )
// output 5
+= x += 3 x=x+3
//output 8
18
//output 2
*= x *= 3 x=x*3
//output 15
/= x /= 3 x=x/3
//output 1.6666666666666667
%= x %= 3 x=x%3
//output 2
&= x &= 3 x=x&3
//output 1
19
//output 7
^= x ^= 3 x=x^3
//output 6
>>= x >>= 3 x = x >> 3
//output 0
<<= x <<= 3 x = x << 3
//output 40
20
// output false
!= Nu este x != y
egal
// output true
> Mai x>y
mare ca
//output true
< Mai mic x<y
ca
//output false
>= Mai x>=y
mare
sau egal
//output true
<= Mai mic x < = y
sau egal
false
21
Operatorii logici sunt folosiți pentru a determina logica între variabile sau valori:
22
//output 26
9.3 More String Methods
Există multe metode String disponibile, de exemplu toUpperCase () și toLowerCase ():
23
!!! Java numără pozițiile de la zero. 0 este prima poziție într-un String, 1 este a doua, 2 este
a treia ...
!!! Rețineți că am adăugat un text gol (" ") pentru a crea un spațiu între firstname și lastname la
tipărire.
Puteți utiliza, de asemenea, metoda concat () pentru a concatena două string-uri:
24
25
//Hello
World !
\r Carriage
Return
//Hello
World !
\t Tab
//Hello World !
\b Backspace
//Helo World !
\f Form
Feed
26
27
// output 10
10.2 Math.min(x,y)
Metoda Math.min (x, y) poate fi utilizată pentru a găsi cea mai mica valoare dintre x și y:
// output 5
10.3 Math.sqrt(x)
.
// output 8.0
28
//output 4.7
10.5 Math.random()
Metoda Math.random () returnează un număr aleatoriu între 0 (inclusiv) și 1 (exclusiv):
//output 0.34315422412581986
29
Cu toate acestea, este mai comună returnarea valorilor booleane din expresiile booleane, pentru
testarea condiționată (vezi mai jos).
30
Valoarea booleană a unei expresii stă la baza tuturor comparațiilor și condițiilor Java.
Veți afla mai multe despre condiții în capitolul următor.
31
Puteți utiliza aceste condiții pentru a efectua diferite acțiuni pentru decizii diferite.
Utilizați IF pentru a specifica un bloc de cod care trebuie executat, dacă o condiție
specificată este adevărată
Utilizați ELSE pentru a specifica un bloc de cod care trebuie executat, dacă aceeași
condiție este falsă
Utilizați ELSE IF pentru a specifica o nouă condiție de testat, dacă prima condiție este
falsă
Utilizați SWITCH pentru a specifica multe blocuri alternative de cod care urmează să fie
executate
32
!!! Retineti ca instructiunea if se scrie cu litere mici. Literele mari ( If sau IF ) vor genera eroare.
În exemplul de mai jos, testăm două valori pentru a afla dacă 20 este mai mare decât 18. Dacă
condiția este adevărată, imprimați un text:
Exemplu explicat
În exemplul de mai sus folosim două variabile ( x și y ) pentru a testa dacă x este mai mare decât
y (folosind operator >). Cum x este 20 și y este 18 și știm că 20 este mai mare decât 18,
imprimăm pe ecran că „x este mai mare decât y”.
33
Exemplu :
Exemplu explicat
În exemplul de mai sus, time (20) este mai mare decât 18, deci condiția este falsă. Din această
cauză, trecem in conditia de else și printam pe ecran “Good evening”. Dacă time era mai mic de
18, programul ar fi printat „Good day”.
34
Exemplu :
Exemplu explicat :
În exemplul de mai sus, time (22) este mai mare de 10, deci prima condiție este falsă.
Următoarea condiție, în instructiunea else if, este de asemenea falsă, așa că trecem la condiția
else, deoarece condiția1 și condiția2 sunt ambele false - și imprimăm pe ecran “Good evening”.
Cu toate acestea, dacă time era 14, programul nostru ar fi imprimat “Good day”.
35
In loc sa se scrie :
36
Asa functioneaza:
37
Exemplu :
// output : Thursday
!!! Un break poate economisi mult timp de execuție, deoarece “ignoră” restul de cod din
blocul switch.
38
!!! Retineti ca daca instructiunea default este folosita ca ultima instructiune intr-un bloc
switch, nu este nevoie de break;
39
În exemplul de mai jos, codul din loop va rula, de mai multe ori, atât timp cât o variabilă (i) este
mai mică de 5:
// output :
0
1
2
3
4
!!! Nu uitați să mariti variabila utilizata în condiție, altfel bucla nu se va termina niciodată!
40
Exemplul de mai jos folosește o buclă do / while. Bucla va fi întotdeauna executată cel puțin o
dată, chiar dacă condiția este falsă, deoarece blocul de cod este executat înainte de testarea
condiției:
// output :
0
1
2
3
4
!!! Nu uitați să mariti variabila utilizata în condiție, altfel bucla nu se va termina niciodată!
41
// output :
0
1
2
3
4
Exemplu Explicat
42
// output :
0
2
4
6
8
10
Următorul exemplu scoate toate elementele din array-ul cars, utilizand bucla “for-each” :
43
// output :
Volvo
BMW
Ford
Mazda
Notă: Nu vă faceți griji dacă nu înțelegeți exemplul de mai sus. Veți afla mai multe despre
Arrayuri în capitolul Arrayuri Java.
44
//output : 0 1 2 3
//output : 0 1 2 3 5 6 7 8 9
Exemplu Break :
//output : 0 1 2 3
Exemplu Continue :
//output : 0 1 2 3 5 6 7 8 9
46
Am declarat o variabilă care contine un array de string-uri. Pentru a insera valori, putem folosi
un array literal - așezați valorile într-o listă separată de virgule, în interiorul acoladelor :
Exemplu :
// output : Volvo
!!! Nota : Indicii Array-ului incep cu 0 : [0] este primul element, [1] este al doilea element.
47
// output : Opel
//output : 4
48
Următorul exemplu afiseaza toate elementele din array-ul cars, folosind o buclă "for-each":
//output :
Volvo
BMW
Ford
Mazda
49
//output : 7
Putem folosi, de asemenea, o buclă for în interiorul altei bucle for pentru a obține elementele
unui array bidimensional (mai trebuie să indicăm cei doi indexi):
// output : 1 2 3 4 5 6 7
50
51
18.3 Finally
Declaratia finally va permite sa executati cod, dupa try…catch, indiferent de rezultat.
//output :
52
!!! Tipul de excepție este adesea utilizat împreună cu o metodă personalizată. Nu vă faceți griji
dacă nu înțelegeți exemplul de mai jos, veți afla mai multe despre metodele din capitolul
următor:
Exemplu :
Aruncați o excepție dacă vârsta este sub 18 ani (imprimați “Access denied”). Dacă vârsta are 18
ani sau mai mare, imprimați “Access granted”:
// output:
53
Exemplu explicat :
myMethod ( ) este numele metodei.
static înseamnă că metoda aparține clasei MyClass și nu unui obiect al clasei MyClass.
Veți afla mai multe despre obiecte și cum să accesați metodele prin intermediul
obiectelor mai târziu în acest tutorial.
void inseamna ca aceasta metoda nu are valoare de retur. Veți afla mai multe despre
valorile de retur ulterior în acest capitol
54
// Outputs :
55
//output :
Liam Refsnes
Jenny Refsnes
Anja Refsnes
Exemplu :
//output : 8
//output : 8
57
Capitolul II
58
Exemplu :
// output : 5
20.2 Multiple Objects
Puteți crea mai multe obiecte dintr-o clasă:
59
//output :
5
5
20.3 Using Multiple Classes
Puteți crea, de asemenea, un obiect al unei clase și accesați-l într-o altă clasă. Aceasta este adesea
folosită pentru o mai bună organizare a claselor (o clasă are toate atributele și metodele, în timp
ce cealaltă clasă deține metoda main () (codul care trebuie executat)).
Nu uitați că numele fișierului java ar trebui să se potrivească cu numele clasei. În acest exemplu,
am creat două fișiere în același director / folder:
MyClass.java
OtherClass.java
60
// Output – ul o sa fie :
Veți afla mult mai multe despre clase și obiecte în capitolele următoare.
61
Exemplu :
Creati un obiect pe nume “myObj” si printati valoarea lui x :
// output : 5
62
//output : 40
Sau sa inlocuiti valorile existente :
//output : 25
Daca nu vreti abilitatea de a inlocuii valoarea existent, declarati atributul ca final :
Exemplu :
63
Cuvântul cheie final este util atunci când doriți ca o variabilă să stocheze întotdeauna aceeași
valoare, cum ar fi PI (3.14159 ...).
Cuvântul cheie final se numește „modificator”. Veți afla mai multe despre acestea în capitolul
modificatori Java.
//output :
5
25
64
// output :
!!! Capitolul următor vă va învăța cum să creați metode de clasă și cum să le accesați cu
obiecte.
65
Exemplu :
myMethod() tipareste un text (actiunea), cand este apelata. Pentru a apela o metodă, scrieți
numele metodei urmată de două paranteze () impreuna cu punct si virgula ;
Exemplu :
66
Exemplu :
//output :
Notă: Veți afla mai multe despre aceste cuvinte cheie (numite modificatori) în capitolul
Modificatori Java.
67
// output :
Exemplu explicat :
68
Sa nu uiti asta..
Car.java
OtherClass.java
Car.java
69
//output :
70
Un constructor în Java este o metodă specială care este folosită pentru inițializarea obiectelor.
Constructorul este apelat atunci când este creat un obiect al unei clase. Poate fi utilizat pentru a
seta valori inițiale pentru atributele obiectului:
Exemplu :
Creati un contructor :
//output : 5
!!! ATENTIE
71
//output : 5
72
24.1 Modifiers
Acum, sunteți destul de familiar cu cuvântul cheie public care apare în aproape toate exemplele
noastre:
Cuvântul cheie public este un modificator de acces, ceea ce înseamnă că seteaza un nivel de
aceess pentru clase, atribute, metode și constructori.
Impartim modificatorii in doua grupe :
// output
Hello World
default Clasa este accesibilă
numai de clase din
același pachet. Acest
lucru este utilizat
atunci când nu
specificați un
modificator. Veți afla // output
mai multe despre Hello World
pachete în capitolul
pachete
73
//output :
C:\Users\Name\java MyClass
Name: John Doe
Email: john@doe.com
Age: 24
//output :
Name: John Doe
Email: john@doe.com
Age: 24
74
//output :
Name: John Doe
Email: john@doe.com
Age: 24
Graduation Year: 2018
75
// output
Hello World
abstract Clasa nu
poate fi
folosită
pentru a
crea
obiecte
(Pentru a
accesa o
clasă
abstractă,
aceasta
trebuie
moștenită
de la o
altă
clasă.)
76
Modificator Descriere
final Atributele si metodele nu pot fi suprascrire / modificate
static Atributele și metodele aparțin clasei, mai degrabă decât unui obiect
abstract Poate fi utilizat doar într-o clasă abstractă și poate fi utilizat numai pe
metode. Metoda nu are corp, de exemplu abstract void run ();Corpul este
furnizat de subclase (moștenit de la). Veți afla mai multe despre moștenire
în capitolul Moștenire
transient Atributele si metodele sunt omise cand serializam obiectul care le contine.
synchronized Metodele pot fi accesate de un singur fir la timp
volatile Valoarea unui atribut nu este plasată în cache în mod local și este
întotdeauna citită din „memoria principală”
24.4 Final
Dacă nu doriți abilitatea de a suprascrie valorile atributelor existente, declarați atributele ca final:
// output :
77
Exemplu :
Un exemplu pentru a demonstra diferențele dintre metodele statice și cele publice:
//output :
78
25.1 Encapsulation
Sensul încapsulării este să vă asigurați că datele “sensibile” sunt ascunse utilizatorilor. Pentru a
realiza acest lucru, trebuie sa :
declarați variabile / atribute de clasă ca private (accesibile doar în cadrul aceleiași clase)
furnizați metode setter și getter publice pentru a accesa și actualiza valoarea unei
variabile private
Exemplu :
79
//output :
80
// output :
C:\Users\Name\java MyClass
John
81
82
Sintaxa
In exemplu de mai sus, java.util este pachetul, in timp ce Scanner este clasa din pachetul
java.util
Pentru a utiliza clasa Scanner, creați un obiect al clasei și utilizați oricare dintre metodele
disponibile găsite în documentația clasei Scanner. În exemplul nostru, vom folosi metoda
nextLine (), care este folosită pentru a citi o linie completă:
83
// output :
84
Exemplu :
Exemplu :
85
//output
This is my package!
Acest lucru obligă compilatorul să creeze pachetul „mypack”. Cuvântul cheie -d specifică
destinația unde să salveze fișierul de clasă. Puteți utiliza orice nume de director, cum ar fi
C: / user (Windows) sau, dacă doriți să păstrați pachetul în același director, puteți utiliza semnul
punct ".", Ca în exemplul de mai sus.
Notă: Numele pachetului trebuie scris cu minuscule pentru a evita conflictul cu numele de clasă.
Când am compilat pachetul din exemplul de mai sus, a fost creat un nou folder, numit „mypack”.
Output-ul o sa fie :
86
Exemplu :
//output :
Tuut, tuut!
Ford Mustang
87
Am setat atributul brand in clasa Vehicle ca modificator de acess protected. Daca era setat ca
private, clasa Car nu era disponibila sa il aceseze.
Este util pentru reutilizarea codului: reutilizarea atributelor și metodelor unei clase existente
atunci când creați o clasă nouă.
88
Exemplu :
!!! Amintiți-vă de la capitolul Moștenire că folosim cuvântul cheie extends pentru a moșteni o
clasă.
Acum putem crea obiectele Pig si Dog si sa apelam metoda animalSound() pe ambele :
89
//output :
Este util pentru reutilizarea codului: reutilizarea atributelor și metodelor unei clase existente
atunci când creați o clasă nouă.
90
Pentru a acesa o clasa inner, create un obiect in alta clasa, si apoi creati un obiect in clasa inner :
Exemplu :
//output : 15 ( 5 + 10 )
91
Dacă încercați să accesați o clasă private inner dintr-o clasă exterioară (MyMainClass), apare o
eroare:
// output :
MyMainClass.java:12: error: OuterClass.InnerClass has private access in OuterClass
OuterClass.InnerClass myInner = myOuter.new InnerClass();
^
92
Exemple :
//output : 5
Notă: la fel ca atributele și metodele statice, o clasă inner static nu are acces la membrii clasei
exterioare.
93
Exemplu :
//output : 10
94
Din exemplul de mai sus, nu este posibil să se creeze un obiect din clasa Animal:
95
// output :
Pentru a obține securitatea - ascundeți anumite detalii și arătați doar detaliile importante ale unui
obiect.
96
Exemplu :
97
La fel ca clasele abstracte, interfețele nu pot fi utilizate pentru a crea obiecte (în
exemplul de mai sus, nu este posibil să se creeze un obiect „Animal” în MyMainClass)
Metodele de interfață nu au un corp - corpul este furnizat prin “implementarea” clasei
La implementarea unei interfețe, trebuie să suprascrieti toate metodele sale
Metodele de interfață sunt în mod implicit abtract și public
Atributele interfeței sunt implicit public, static și final
interfață nu poate conține un constructor (deoarece nu poate fi utilizată pentru a crea
obiecte)
1. Pentru a obține securitatea - ascundeți anumite detalii și afișați doar detaliile importante
ale unui obiect (interfață).
2. Java nu acceptă „moștenirea multiplă” (o clasă se ccpoate moșteni doar de la o
superclasă).
Cu toate acestea, se poate realiza cu interfețe, deoarece clasa poate implementa mai multe
interfețe. Notă: Pentru a implementa mai multe interfețe, separați-le cu virgulă (a se
vedea exemplul de mai jos).
98
// output :
Some text...
Some other text...
99
Exemplu :
Enum este o scurtatura pentru „enumerare”, ceea ce înseamnă „listat în mod specific”.
100
Exemplu :
// output :
MEDIUM
101
//output :
Medium level
102
//output :
LOW
MEDIUM
HIGH
Folosiți enumere atunci când aveți valori despre care știți că nu se vor schimba, cum ar fi zilele,
lunile, culorile, puntea de cărți etc.
103
// output
Enter username
Alex
Username is : alex
Dacă nu știți ce este un pachet, citiți tutorialul nostru pentru pachete Java.
104
Metoda Descriere
nextBoolean() Citeste valorile boolene de la user
nextByte() Citeste valorile Byte de la user
nextDouble() Citeste valorile Double de la user
nextFloat() Citeste valorile Float de la user
nextInt() Citeste valorile Int de la user
nextLine() Citeste valorile String de la user
nextLong() Citeste valorile long de la user
nextShort() Citeste valorile Short de la user
În exemplul de mai jos, folosim diferite metode pentru a citi date de diferite tipuri:
Exemplu :
105
Clasa Descriere
LocalDate Reprezinta data (year,month,day(yyyy-mm-dd))
LocalTime Reprezinta timpul (hour,minute,second si miliseconds (HH-mm-ss-zzz))
LocalDateTime Reprezinta abmele data si timpul (yyyy-MM-dd-HH-mm-ss.zzz)
DateTimeFormatter Formatator pentru afișarea și analizarea obiectelor de dată
106
//output
13:37:14.353174
34.4 Display Current Date and Time
Pentru a afișa data și ora curente, importați clasa java.time.LocalDateTime și folosiți metoda
now() :
//output :
2019-09-28T14:56:55.858447
107
//output :
Before Formatting: 2019-09-28T15:03:14.072683
After Formatting: 28-09-2019 15:03:14
Metoda ofPattern() acceptă tot felul de valori, dacă doriți să afișați data și ora într-un format
diferit. De exemplu:
Valoare Exemplu
yyyy-MM-dd “1988-09-29”
dd/MM/yyyy “29/09/1988”
dd-MMM-yyyy “29-Sep-1988”
E, MMM dd yyyy “Thu, Sep 29 1988”
Aici am ramas
108
Exemplu :
Creati un obiect ArrayList denumit cars care va stoca string-uri :
// output :
[Volvo, BMW, Ford, Mazda]
109
// output :
Volvo
Amintiți-vă: idexi Array încep cu 0: [0] este primul element. [1] este al doilea element etc.
35.4 Change an Item
Pentru a modifica un element, utilizati metoda set() referinduva la numarul de intex
110
// output : [ ]
111
// output : 4
35.7 Loop through an ArrayList
Buclati prin elementele unui ArrayList cu o bucla for, si utilizand metoda size() pentru a
specifica de cate ori ar trebui sa ruleze bucla :
// output :
112
// output :
113
// output :
114
// output :
115
În capitolul anterior, ați aflat despre clasa ArrayList. Clasa LinkedList este aproape identică cu
ArrayList
// output :
116
- Utilizați lista doar prin parcurgerea acesteia în loc să accesați elemente aleatorii
- Trebuie frecvent să adăugați și să eliminați elemente de la începutul, mijlocul sau
sfârșitul fișierului listă
// output :
117
// output :
// output :
118
// output :
// output :
119
// output :
120
Exemplu
Creaza un obiect HashMap numit capitalCities care va stoca String key și String values
// output :
121
// output :
// output :
// output :
123
// output :
// output :
124
// output :
Exemplu :
125
// output :
126
// output :
În exemplul de mai sus, chiar dacă BMW este adăugat de două ori, apare doar o dată în set,
deoarece fiecare articol dintr-un set trebuie să fie unic.
127
// output :
// output :
128
// output :
129
// output :
Exemplu :
130
131
Un Iterator este un obiect care poate fi folosit pentru a parcurge colecții, cum ar fi ArrayList și
HashSet.
Se numește „iterator”, deoarece „iterare” este termenul tehnic pentru looping.
Pentru a utiliza un Iterator, trebuie să-l importați din pachetul java.util.
// output :
132
// output :
Exemplu :
133
Încercarea de a elimina elemente folosind for loop sau for-each loop nu ar funcționa corect,
deoarece colecția schimbă dimensiunea în același timp în care codul încearcă sa foloseasca loop.
134
Uneori trebuie să utilizați clase wrapper, de exemplu atunci când lucrați cu obiecte de colecție,
cum ar fi ArrayList, unde tipurile primitive nu pot fi utilizate (lista poate stoca numai obiecte):
135
// output :
Deoarece acum lucrați cu obiecte, puteți utiliza anumite metode pentru a obține informații despre
obiectul specific.
De exemplu, următoarele metode sunt utilizate pentru a obține valoarea asociată cu obiectul
wrapper corespunzător: intValue (), byteValue (), shortValue (), longValue (), floatValue (),
doubleValue (), charValue (), booleanValue () .
Urmatorul exemplu va produce același rezultat ca exemplul de mai sus:
136
O altă metodă utilă este metoda toString (), care este utilizată pentru a converti obiecte wrapper
în Stringuri.
În exemplul următor, convertim un Integer într-un String și folosim metoda length () a clasei
String pentru a genera lungimea „Stringului” :
// output :
137
Sintaxa
138
// output :
41.3 Finally
Cuvantul finally te lasa sa executi codul, dupa try…catch, indiferent de resultat
// output :
Exemplu :
Aruncați o excepție dacă vârsta este mai mică de 18 ani (tipăriți „Acces refuzat”). Dacă vârsta
este mai mare de 18 ani, tipăriți „Acces acordat”:
// output :
// output :
140
Java nu are o clasă de expresie regulată încorporată, dar putem importa pachetul java.util.regex
pentru a funcționa cu expresii regulate.
141