Un editor de cod este o aplicație folosită de programatori pentru a scrie, edita, compila și executa codul sursă pentru un limbaj de programare.
Editoarele performante oferă funcții avansate care ajută la creșterea productivității:
evidențierea sintaxei,
completare automată,
sugestii inteligente,
integrare cu sisteme de control al versiunilor (Git),
depanare și testare rapidă,
extensii și personalizare.
Editoare recomandate pentru Java
1. IntelliJ IDEA – Community Edition (gratuit) Este practic cel mai popular IDE profesional pentru Java (și Kotlin). Există și o versiune comercială (Ultimate), însă pentru Java simplu, ediția gratuită este excelentă. Poate fi descărcat aici: https://www.jetbrains.com/idea/download/?section=windows
2. Apache NetBeans Este un IDE open-source complet, ideal pentru dezvoltare Java SE, Java EE, JavaFX și altele. Vine cu suport integrat pentru Maven, Ant, controlul versiunilor (Git, CVS etc.) și refactorizare. Poate fi descărcat aici: https://netbeans.apache.org/front/main/download/
3. Eclipse IDE Este un IDE robust și flexibil, cu extensii numeroase din Eclipse Marketplace. Oferă completare automată, debugging, integrare cu Maven, ș.a. Poate fi descărcat aici:https://eclipseide.org/
4. Visual Studio Code (VS Code) + Java Extension Pack Este un editor ușor, cu multe extensii utile pentru Java (Language Support by Red Hat, Debugger for Java etc.). Ideal pentru proiecte mai mici sau pentru cei care preferă ceva rapid și multi-lateral. Poate fi descărcat aici:https://code.visualstudio.com/docs/java/extensions
5. BlueJ Este un IDE educațional pentru Java, excelent pentru învățare și proiecte mici. Vizualizează structura claselor în stil UML și permite interacțiune directă cu obiectele – util în predare și pentru înțelegerea conceptelor OOP. Poate fi descărcat aici:https://www.bluej.org/
Unvector,tablou, masiv unidimensional sauarrayreprezintă
un container pentru un număr de elemente de același tip, fiecare element fiind
indexat de un număr.
În limbajul Java vectorii sunt obiecte, tipul acestora
fiind referință.
Vectorii sunt de 2 tipuri:
1. cu
lungime fixă – dimensiuneavectorului este stabilită la crearea acestuia
și nu poate fi modificată ulterior. Pentru ei nu există o
clasă care se instanţiazăpentru a
obține un obiect vector.
2. cu
lungime variabilă –
dimensiunea vectorului poate fi modificată pe parcursul rulării programului.
Pentru ei există clase Java predefinite ce pot fi instanțiate (de ex.java.util.Vector,
java.util.Arrays, ș.a).
Fiecărui element dintr-un vector îi corespunde un index
numeric, cu ajutorul căruia poate fi accesat. Numerotarea elementelor începe
întotdeauna de la 0, ceea ce înseamnă că, de exemplu, cel de-al nouălea element
va fi accesat de indexul 8.
Pentru a folosi un vector este necesar să:
1. declarați o variabilă de tip vectorcare va servi drept referință către vectorul propriu-zis:
Pentru a declara o variabila de tip vector se va respecta sintaxa:
tip [] nume;
unde
tip este tipul de date al elementelor conținute de vector;
[ ] sunt simboluri speciale ce indică ca variabila respectivă este un vector;
nume este identificatorul variabilei vectorului;
Ca şi în cazul altor tipuri de variabile, declararea nu creează de fapt un vector, dar pur şi simplu anunță compilatorul că variabila respectivă va deține un vector de tipul specificat. Deci, la această etapă vectorul nu poate fi utilizat. Exemple:
byte[]unVectorDeTipByte;
short[]unVectorDeTipShort;
double[]unVectorDeTipDouble;
boolean[]unVectorDeTipBoolean;
char[]unVectorDeTipChar;
String[]unVectorDeTipString;
2.creați vectorul și stabiliți dimensiunea acestuia, adică numărul de elemente pe care le va putea conține.
Un vector poate fi creat utilizând operatorulnewprintr-o construcție de forma:
new tip_vector [dimensiune];
unde:
tip_vector reprezintă tipul elementelor stocate în vector
dimensiune este o expresie de tip întreg pozitivă ce semnifică numărul de elemente ce se vor stoca în vector.
Întreaga construcție va crea un vector de tip tip_vectorcu o dimensiune dedimensiuneelemente indexate de la0la dimensiune-1.
Dacă această instrucțiune ar lipsi, compilatorul ar afișa o eroare asemănătoare celei de mai jos și execuția programului ar eșua:
Variable anArray may not have been initialized.
De exemplu:
int [] a;// se declară variabila a ce conţine referință către un vector cu elemente întregi
a = new int[5];// se crează un vector cu 5 elemente întregi de același tip cu variabila a
3. accesați elementele vectorului, folosind variabila declarată, fie pentru a le atribui valori, fie pentru a citi valorile deja stocate.
Fiecare element distinct din vector poate fi accesat ca o variabilă separată printr-o construcție de forma:
nume [index]
unde
numereprezintă numele vectorului ce stochează elementele
indexeste o expresie de tip întreg strict pozitivă ce semnifică poziția elementului care doriți să îl accesați din vectorul dat.
Dacă vectorul conține n elemente atunci index trebuie să fie cuprins în intervalul [0, n-1], în caz contrar o excepție de execuție va fi semnalată.
De exemplu:
int [] a;// se declară variabila a ce conţine referință către un vector cu elemente întregi
a = new int[5];// se crează un vector cu 5 elemente întregi de același tip cu variabila a
a[0] = 23;// primului element din vector i se atribuie valoarea 23
a[4] = 10;// ultimului element din vector i se atribuie valoarea 10
a[5] = 9;// excepție generată! Indexul nu se află în diapazonul [0,4]
Exemplu A: Declararea, inițializarea și afișarea pe ecran a elementelor unui vector
class ExArray {
public static void main(String[] args) {
int[] anArray;
anArray = new int[10];
anArray[0] = 100;
anArray[1] = 200;
anArray[2] = 300;
anArray[3] = 400;
anArray[4] = 500;
anArray[5] = 600;
anArray[6] = 700;
anArray[7] = 800;
anArray[8] = 900;
anArray[9] = 1000;
System.out.println("Elementul cu index 0: " + anArray[0]);
System.out.println("Elementul cu index 1: " + anArray[1]);
System.out.println("Elementul cu index 2: " + anArray[2]);
System.out.println("Elementul cu index 3: " + anArray[3]);
System.out.println("Elementul cu index 4: " + anArray[4]);
System.out.println("Elementul cu index 5: " + anArray[5]);
System.out.println("Elementul cu index 6: " + anArray[6]);
System.out.println("Elementul cu index 7: " + anArray[7]);
System.out.println("Elementul cu index 8: " + anArray[8]);
System.out.println("Elementul cu index 9: " + anArray[9]);
}}
Alternativ, poate fi creat și inițializat un vector în felul următor:
În acest caz, dimensiunea vectorului este determinată automat de numărul de valori specificate între acolade și poate fi obținută prin anArray.length.
Deci, fiecare vector conține, pe lângă elemente, o variabilă de instanță publică ce nu poate fi modificată numită lengthce stochează numărul de elemente în vector.
Prin urmare accesând această variabilă putem obține lungimea unui vector.
Exemplu:
double[] v;
v = new double[5];
System.out.println(v.length);// se va afișa valoarea 5
Expresia:
double[] v;
v = new double[5];
este echivalentă cu expresia:
double[] v = new double[5];
Orice vector îndată ce a fost declarat este inițializat cu valori default după cum urmează:
pentru byte, short, int, long - valoarea default este 0;
pentru float, double - valoarea default este 0.0;
pentru boolean - valoarea default este false;
pentru obiecte - valoarea default este null;
Exemplul B Inițializarea unui vector cu valori implicite (default):
public class Main {
public static void main(String[] args) {
int[] v = new int[5];
System.out.println("Valorile implicite ale vectorului sunt:");
for (int i = 0; i < v.length; i++) {
System.out.println("v[" + i + "] = " + v[i]);
}}}
Exemplul D Citirea valorilor unui vector de la tastatură
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] v = new int[5]; // vector cu 5 elemente
for (int i = 0; i < v.length; i++) {
System.out.print("Introduceți elementul " + i + ": ");
v[i] = sc.nextInt();
}
System.out.println("Vectorul introdus este:");
for (int x : v) {
System.out.print(x + " ");
}}}
Rețineți!
for (int x : v) {
System.out.print(x + " ");
}
Acestei forme a instrucțiunii for i se mai spune în Java for-each sau forma scurtă a ciclului for. Dacă ar fi să traducem această instrucțiune în limba română ar suna cam în felul următor: pentru fiecare element x din vectorul v afișează la ecran pe x.
Această formă a instrucțiunii parcurge automat toate elementele vectorului v și la fiecare iterație, variabila x primește valoarea curentă din vector. Aici nu există de a depăși limitele vectorului, pentru că nu se lucrează cu i. Este ideal pentru citirea elementelor, afișări, calcule simple. Pe lângă aceste beneficii, sunt desigur și limitări. Nu poți modifica valorile direct în vector prin variabila x, deoarece x este doar o copie a elementului. Nu ai acces la index, deci nu-l poți folosi când ai nevoie să știi poziția unui element.
Exemplul D găsirea elementului minim dintr-un vector folosind for-each