Cum se configurează smartphone-uri și PC-uri. Portal informativ

Scopul și caracteristicile limbajului de programare Java. limbaj de programare Java (Java)

Un fișier sursă Java este un fișier text care conține una sau mai multe definiții de clasă. Traducătorul Java presupune

că codul sursă al programelor este stocat în fișiere cu extensii Java. Codul obținut în timpul procesului de traducere pentru fiecare clasă este scris într-un fișier de ieșire separat, cu un nume care se potrivește cu numele clasei și cu clasa de extensie.

În primul rând, în acest capitol vom scrie, difuza și rula programul canonic „Hello World”. După aceea, ne vom uita la toate elementele lexicale esențiale înțelese de traducătorul Java: spații albe, comentarii, cuvinte cheie, identificatori, literali, operatori și delimitatori. Până la sfârșitul capitolului, veți avea suficiente informații pentru a naviga pe cont propriu într-un program Java bun.

Deci, iată primul tău program Java

:

clasa HelloWorld(

Sistem. afară. println("Bună lume");

Pentru a lucra cu exemplele date în carte, trebuie să obțineți și să instalați Java Developers Kit prin rețea de la Sun Microsystems - un pachet pentru dezvoltarea aplicațiilor Java (

http://java.sun.com/products/jdk ). Descrierea completă a utilităților pachetului JDK - în Anexa 1 .

Limbajul Java necesită ca tot codul programului să fie conținut în clasele numite. Exemplul de text de mai sus ar trebui să fie scris în fișierul HelloWorld.java. Asigurați-vă că verificați dacă majusculele din numele fișierului se potrivesc cu cele din numele clasei pe care o conține. Pentru a traduce acest exemplu, trebuie să rulați traducătorul Java - javac, specificând numele fișierului cu textul sursă ca parametru:

\> javac HelloWorld.Java

Traducătorul va crea un fișier HelloWorld.class cu bytecode independent de procesor din exemplul nostru. Pentru a executa codul rezultat, trebuie să aveți un mediu de rulare Java (în cazul nostru, acesta este programul java), în care trebuie să încărcați o nouă clasă pentru execuție. Subliniem că este indicat numele clasei, și nu numele fișierului în care este conținută această clasă.

>java HelloWorld

Nu s-au făcut prea multe lucrări utile, dar am verificat că traducătorul Java instalat și mediul de rulare funcționează.

Pas cu pas

HelloWorld este un exemplu banal. Cu toate acestea, chiar și un program atât de simplu pentru un începător în limbăJava poate părea intimidant de complex, deoarece vă prezintă o mulțime de concepte noi și detalii ale sintaxei limbajului Să aruncăm o privire mai atentă la fiecare rând din primul nostru exemplu, analizând elementele care alcătuiesc un program Java.

clasa HelloWorld(

Această linie folosește un cuvânt rezervat

clasă. Îi spune traducătorului că vom defini o nouă clasă.Definiția completă a clasei apare între acolada de deschidere de pe linia 1 și acolada de închidere care se potrivește pe linia 5. Acoladele dinJava este folosit exact în același mod ca în limbajele C și C++.

public static void main (Argumente șir) (

Acest șir de exemplu aparent prea complex este o consecință a unei cerințe importante atunci când a fost proiectat limbajul Java. Ideea este că în

Java nu are funcții globale. Deoarece linii similare vor apărea în majoritatea exemplelor din prima parte a cărții, să aruncăm o privire mai atentă la fiecare element din a doua linie.

Rupând acest șir în jetoane separate, întâlnim imediat cuvântul cheie

public Acest - modificator de acces, care permite programatorului să controleze vizibilitatea oricărei metode și a oricărei variabile. În acest caz, modificatorul de accespublic înseamnă metodamain este vizibilă și accesibilă oricărei clase. Mai sunt 2 indicatori de nivel de acces - privat și protejat, pe care îl vom cunoaște mai detaliat încapitolul 8 .

Următorul cuvânt cheie este

static. Acest cuvânt este folosit pentru a declara metodele de clasă și variabilele utilizate pentru a lucra cu clasa ca întreg. Metodele care folosesc cuvântul cheie static în declarația lor pot funcționa direct doar cu variabilele locale și statice.

Veți avea nevoie adesea de metode care returnează o valoare de un tip sau altul: de exemplu,

int pentru valori întregi, float - pentru cele reale sau numele clasei pentru tipurile de date definite de programator. În cazul nostru, trebuie doar să afișăm un șir și să returnăm valoarea din metodăprincipal nu este necesar. De aceea a fost folosit modificatorulgol. Această problemă este discutată mai detaliat încapitolul 4 .

În cele din urmă ajungem la numele metodei

principal. Nu este nimic neobișnuit aici, doar că toate implementările existente ale interpreților Java, după ce au primit comanda de a interpreta o clasă, își încep munca apelând metoda principal. Un traducător Java poate traduce o clasă care nu are o metodă principală. Dar interpretul Java rulează clase fără o metodă principal nu poate.

Toți parametrii care trebuie să fie transferați metodei sunt specificați într-o pereche de paranteze ca o listă de elemente separate prin caractere ";". (punct şi virgulă). Fiecare element al listei de parametri constă dintr-un tip și un identificator separate printr-un spațiu. Chiar dacă o metodă nu are parametri, tot trebuie să puneți o pereche de paranteze după numele ei. În exemplul pe care îl discutăm acum, metoda

main are un singur parametru, deși de tip destul de complex.Şir args declară un parametru numitargs, care este o matrice de obiecte - reprezentanți ai claseiŞir. Notați parantezele drepte după identificatorul args. Ele indică faptul că avem de-a face cu o matrice, și nu cu un singur element de tipul specificat. Vom reveni la o discuție despre matrice în capitolul următor, dar deocamdată să remarcăm că tipulșir - aceasta este clasa. Vom vorbi despre șiruri mai detaliat înCapitolul 9 .

Sistem. afară. prlntln("Bună lume!");

Această linie execută metoda

println a obiectului out. Un obiect out este declarat în clasăOutputStream și este inițializat static în clasa System.ÎN capitolele 9Și 13 veți avea șansa de a vă familiariza cu nuanțele modului în care funcționează cursurile String și OutputStream.

Acolada de închidere de pe linia 4 încheie declarația metodei

main, iar aceeași paranteză de pe linia 5 încheie declarația clasei HelloWorld.

Bazele lexicale

Acum că ne-am uitat la clasa minimă Java în detaliu, să ne întoarcem și să ne uităm la sintaxa generală a limbajului. Programe pentru

Java - este o colecție de spații, comentarii, cuvinte cheie, identificatori, constante literale, operatori și delimitatori.un limbaj care permite formatarea arbitrară a textului programului. Pentru ca programul să funcționeze corect, nu este nevoie să-i aliniați textul într-un mod special. De exemplu, clasaHelloWorld poate fi scris în două rânduri sau în orice alt mod doriți. Și va funcționa exact la fel, cu condiția să existe cel puțin un spațiu, caracter de tabulație sau caracter de nouă linie între jetoanele individuale (între care nu există operatori sau separatori).

Comentarii

Deși comentariile nu au niciun efect asupra codului executabil al programului,

atunci când sunt utilizate corect, ele se dovedesc a fi o parte foarte semnificativă a textului sursă. Există trei tipuri de comentarii: comentarii pe o singură linie, comentarii pe mai multe rânduri și, în final, comentarii de documentare. Comentariile pe o singură linie încep cu caractere // și se termină la sfârșitul rândului. Acest stil de comentare este util pentru a oferi scurte explicații ale liniilor individuale de cod:

a = 42; // Dacă

42 - răspunsul, atunci care a fost întrebarea?

Pentru explicații mai detaliate, puteți folosi comentarii plasate pe mai multe rânduri, începând textul comentariului cu caracterele /* și terminând cu caracterele */ În acest caz, tot textul dintre aceste perechi de caractere va fi considerat un comentariu și traducătorul îl va ignora.

* Acest cod este un pic complicat...

*Voi încerca să explic:

A treia formă specială de comentarii este destinată programului de servicii

javadoccare utilizează componente Java translator pentru a genera automat documentația pentru interfețele de clasă. Convenția folosită pentru acest tip de comentariu este de a plasa un comentariu de documentare înainte de declararea unei clase, metode sau variabile publice., trebuie să începeți cu caracterele /** (slash și două asteriscuri). Un astfel de comentariu se termină la fel ca un comentariu obișnuit - cu simbolurile */. Programul javadoc poate recunoaște în comentariile documentare unele variabile speciale ale căror nume încep cu simbolul @. Iată un exemplu de astfel de comentariu:

* Această clasă poate face lucruri uimitoare. Îl recomandăm oricui

* vrea să scrie o clasă și mai avansată, ia-o ca

* de bază.

* @vedeți Java. applet. Applet

* ©autor Patrick Naughton

clasa CoolApplet extinde Applet ( /**

* Această metodă are doi parametri:

cheia este numele parametrului.este valoarea parametrului numitcheie.

*/ void put (cheie șir, valoare obiect) (

Cuvinte cheie rezervate

Cuvintele cheie rezervate sunt identificatori speciali ca limba

Java este folosit pentru a identifica tipurile încorporate, modificatorii și controalele de execuție a programelor. Astăzi în limbă J ava are 59 de cuvinte rezervate (vezi Tabelul 2). Aceste cuvinte cheie, împreună cu sintaxa operatorilor și delimitatorilor, sunt incluse în descrierea limbiiJava. Ele pot fi utilizate numai în scopul propus și nu pot fi utilizate ca identificatori pentru nume de variabile, clase sau metode.

masa 2

Cuvinte rezervate Java

Rețineți că cuvintele

byvalue, turnare, const, viitor, generic, goto, interior, operator, exterior, rest, varrezervat in Java, dar încă nefolosit În plus, în Java există nume de metode rezervate (aceste metode sunt moștenite de fiecare clasă și nu pot fi utilizate decât în ​​cazurile de suprascrie explicită a metodelor de clasă Obiect).

Tabelul 3

Nume de metode rezervate

Java

Identificatori

Identificatorii sunt folosiți pentru a denumi clase, metode și variabile. Identificatorul poate fi orice succesiune de litere mici și mari, numere și simbolurile _ (subliniere) și $ (dolar). Identificatorii nu trebuie să înceapă cu un număr, astfel încât traducătorul să nu le confunde cu constante numerice literale, care vor fi descrise mai jos.

Java - limbaj sensibil la majuscule. Aceasta înseamnă că, de exemplu, Valoare și VALUE - diverși identificatori.

Literale

Constante în

Java sunt date de reprezentarea lor literală. Numerele întregi, virgulele, booleanele, caracterele și șirurile de caractere pot fi plasate oriunde în codul sursă. Tipurile vor fi discutate încapitolul 4 .

Literale întregi

Numerele întregi sunt tipul cel mai frecvent utilizat în programele obișnuite. Orice valoare întreagă, cum ar fi 1, 2, 3, 42, este un literal întreg. Acest exemplu prezintă numere zecimale, adică numere cu baza 10 – exact cele pe care le folosim zilnic în afara lumii computerelor. Pe lângă zecimală, numerele cu baza 8 și 16 - octale și hexazecimale - pot fi, de asemenea, folosite ca literale întregi. Java recunoaște numerele octale după zero. Numerele zecimale normale nu pot începe cu zero, așa că utilizarea numărului 09 valid extern într-un program va avea ca rezultat un mesaj de eroare de traducere, deoarece 9 nu este în intervalul 0..

7, valabil pentru cifre octale. O constantă hexazecimală se distinge prin caracterele zero-x de început (0x sau 0X). Intervalul valorilor cifrelor hexazecimale este 0..15 și ca numere pentru valorile 10..Sunt folosite 15 litere de la A la F (sau de la a la f). Cu numerele hexazecimale puteți exprima valori ușor de calculator într-un mod concis și clar, de exemplu prin scriere Oxffff în loc de 65535.

Literale întregi sunt valori de tip

int, care este în Java este stocat într-un cuvânt de 32 de biți. Dacă aveți nevoie de o valoare mai mare de aproximativ 2 miliarde, trebuie să utilizați o constantă likelung. În acest caz, numărul va fi stocat într-un cuvânt de 64 de biți. Pentru numerele cu oricare dintre bazele menționate mai sus, puteți aloca o literă mică sau majusculă în dreaptaL, indicând astfel că numărul dat este de tipullung. De exemplu, Ox7ffffffffffffffL sau9223372036854775807L este cea mai mare valoare pentru un număr de tipuri lung.

Literale în virgulă mobilă

Numerele cu virgulă mobilă reprezintă valori zecimale care au o parte fracționară. Ele pot fi scrise fie în formate obișnuite, fie în formate exponențiale. În formatul obișnuit, un număr este format dintr-un număr de cifre zecimale, urmate de un punct zecimal și următoarele cifre zecimale ale părții fracționale. De exemplu, 2.0, 3.14159 și .6667 sunt valori valide pentru numerele în virgulă mobilă scrise în format standard. În format exponențial, după elementele enumerate, este indicată suplimentar ordinea zecimală. Ordinea este determinată de numărul zecimal pozitiv sau negativ după simbolul E sau e. Exemple de numere în format exponențial: 6.022e23, 314159E-05, 2e+100. ÎN

Java floats sunt tratate implicit ca duble. Dacă aveți nevoie de o constantă de tipfloat, simbolul F sau f trebuie adăugat la dreapta literalului. Dacă sunteți un fan al definițiilor redundante, puteți adăuga literalmente precum caracter dublu D sau d. Valori implicite de tipdouble sunt stocate într-un cuvânt de 64 de biți, valori de tip mai puțin precise float - pe 32 de biți.

Literale booleene

O variabilă booleană poate avea doar două valori -

adevărat şi fals (fals). Valori booleene adevărat şi false nu sunt convertite în nicio reprezentare numerică. Cuvânt cheie true în Java nu este egal cu 1, iar false nu este egal cu 0. În În Java, aceste valori pot fi atribuite numai variabilelor booleene sau utilizate în expresii cu operatori logici.

Litere de caractere

Simboluri în

Java - aceștia sunt indicii din tabelul cu simboluriUNICODE. Sunt valori pe 16 biți care pot fi convertite în numere întregi și cărora li se pot aplica operatori aritmetici cu numere întregi, cum ar fi adunarea și scăderea. Literele de caractere sunt plasate în interiorul unei perechi de apostrofe (" "). Toate simbolurile vizibile ale tabeluluiASCII poate fi introdus direct în interiorul unei perechi de apostrofe: -„a”, „z”, „@”. Sunt furnizate mai multe secvențe de escape pentru caracterele care nu pot fi introduse direct.

Tabelul 3.

2. Secvențe de evacuare

Secvență de control

Descriere

Caracter octal

(ddd)

Caracter hexazecimal

UNICODE (xxxx)

Apostrof

Backslash

Retur transport

Line feed (line feed, linie nouă)

Traducerea paginii

(aliment de formulare)

Tabulare orizontală

(fila)

Întoarce-te cu un pas

(backspace)

Literale șiruri

Literale șiruri în

Java arată exact la fel ca în multe alte limbi - este un text arbitrar închis între ghilimele duble (""). Deși literalele minuscule înJava sunt implementate într-un mod foarte unic(Java creează un obiect pentru fiecare linie), acesta nu apare extern. Exemple de literale de șir:"Buna ziua Lume!"; „două\șiruri de caractere; \Și aceasta este între ghilimele\””. Toate secvențele de escape și notațiile octale/hexazecimale care sunt definite pentru caractere literale funcționează exact la fel în șiruri. Literale șiruri înCodurile Java trebuie să înceapă și să se termine pe aceeași linie de cod sursă. În acest limbaj, spre deosebire de multe altele, nu există o secvență de escape pentru continuarea unui șir literal pe o nouă linie.

Operatori

Un operator este ceva care efectuează o acțiune pe unul sau două argumente și produce un rezultat. Sintactic, operatorii sunt cel mai adesea plasați între identificatori și literali. Operatorii vor fi discutați în detaliu în

capitolul 5 , lista acestora este dată în tabelul 3. 3.

Tabelul 3.

3. Operatori lingvistici Java

Separatoare

Doar câteva grupuri de caractere care pot apărea într-un program Java corect din punct de vedere sintactic rămân încă nenumite. Acestea sunt simple separatoare care afectează aspectul și funcționalitatea codului programului.

Nume

La ce sunt folosite?

paranteze rotunde

Aceștia evidențiază liste de parametri într-o declarație și apel de metodă, de asemenea, sunt utilizați pentru a seta prioritatea operațiilor în expresii, evidențiază expresii în instrucțiunile de control al execuției programului și în operatorii de tip casting.

bretele

paranteza patrata

Folosit în declarațiile de matrice și la accesarea elementelor individuale ale matricei.

punct şi virgulă

Separă operatorii.

Separă identificatorii în declarațiile de variabile, utilizate și pentru a lega instrucțiunile dintr-un antet de buclă

pentru.

Separă numele pachetelor de numele subpachetelor și ale claselor și este, de asemenea, utilizat pentru a separa o variabilă sau un nume de metodă de un nume de variabilă.

Variabile

O variabilă este elementul principal de stocare a informațiilor într-un program Java. O variabilă este caracterizată printr-o combinație de identificator, tip și domeniu. În funcție de locul în care declarați variabila, aceasta poate fi locală, cum ar fi codul din interiorul unei bucle for, sau poate fi o variabilă de instanță a clasei care este disponibilă pentru toate metodele din acea clasă. Domeniile locale sunt declarate folosind acolade.

Declarație variabilă

Forma de bază a unei declarații variabile este:

identificator de tip [ = valoare] [, identificator [ = valoare

7...];

Un tip este unul dintre tipurile încorporate, adică

octet, scurt, int, lung, char, float, dublu,boolean sau numele unei clase sau al unei interfețe. Vom discuta în detaliu toate aceste tipuri înCapitolul următor . Mai jos sunt câteva exemple de declarare a variabilelor de diferite tipuri. Rețineți că unele exemple implică inițializarea unei valori inițiale. Variabilele pentru care nu sunt specificate valori inițiale sunt inițializate automat la zero.

Exemplul de mai jos creează trei variabile corespunzătoare laturilor unui triunghi dreptunghic și apoi

c Folosind teorema lui Pitagora se calculează lungimea ipotenuzei, în acest caz numărul 5, mărimea ipotenuzei unui triunghi dreptunghic clasic cu laturile 3-4-5.

Variabile de clasă (

public static void main (Argumente șir) (

= Math.sqrt(a* a + b* b);

System.out.println("c = "+ c);

Primul tău pas

Am realizat deja multe: mai întâi am scris un mic program în limbă

Java și a analizat în detaliu în ce constă (blocuri de cod, comentarii). Ni s-a prezentat o listă de cuvinte cheie și operatori al căror scop va fi explicat în detaliu în capitolele următoare. Acum puteți distinge în mod independent părțile principale ale oricărui program Java și sunteți gata să începeți să citițicapitolul 4 , care acoperă în detaliu tipuri simple de date.

Programarea înseamnă scrierea codului sursă al unui program într-unul dintre limbajele de programare. Există multe limbaje de programare diferite, datorită cărora sunt create tot felul de programe care rezolvă o anumită gamă de probleme. Un limbaj de programare este un set de cuvinte rezervate cu care este scris codul sursă al unui program. Sistemele informatice nu sunt (încă) capabile să înțeleagă limbajul uman, cu atât mai puțin logica umană (în special logica feminină), așa că toate programele sunt scrise în limbaje de programare, care sunt ulterior traduse în limbaj de calculator sau cod mașină. Sistemele care traduc codul sursă al programului în cod mașină sunt foarte complexe și, de regulă, sunt create pe parcursul a zeci de luni și zeci de programatori. Astfel de sisteme sunt numite medii sau instrumente integrate de programare a aplicațiilor.

Un sistem de programare este un mediu vizual imens, bine gândit, în care puteți scrie codul sursă al unui program, îl puteți traduce în cod de mașină, îl puteți testa, îl puteți depana și multe altele. În plus, există programe care vă permit să efectuați acțiunile de mai sus folosind linia de comandă.

Probabil că ați auzit de mai multe ori termenul „un program este scris pentru Windows sau Linux sau Unix”. Faptul este că mediile de programare atunci când traduc un limbaj de programare în codul mașinii pot fi de două tipuri - compilatoare și interpreți. Compilarea sau interpretarea unui program specifică modul în care programul va continua să fie executat pe dispozitiv. Programele scrise în Java funcționează întotdeauna pe baza interpretării, în timp ce programele scrise în C/C++ sunt compilate. Care este diferența dintre aceste două metode?

Compilatorul, după ce a scris codul sursă în momentul compilării, citește întregul cod sursă al programului deodată și îl traduce în codul mașinii. După care programul există ca un întreg și poate fi executat doar în sistemul de operare în care a fost scris. Prin urmare, programele scrise pentru Windows nu pot funcționa într-un mediu Linux și invers. Interpretul execută programul pas cu pas sau linie cu linie de fiecare dată când este executat. În timpul interpretării, nu se creează cod executabil, ci cod virtual, care este executat ulterior de mașina virtuală Java. Prin urmare, pe orice platformă - Windows sau Linux, programele Java pot fi executate în mod egal dacă există o mașină Java virtuală în sistem, care este numită și Runtime System.

Programare orientată pe obiecte

Programarea orientată pe obiecte este construită pe baza obiectelor, care este oarecum asemănătoare cu lumea noastră. Dacă te uiți în jurul tău, poți găsi cu siguranță ceva care te va ajuta să înțelegi mai clar modelul unei astfel de programe. De exemplu, acum stau la birou și tastez acest capitol pe un computer, care constă dintr-un monitor, unitate de sistem, tastatură, mouse, difuzoare și așa mai departe. Toate aceste părți sunt obiectele care alcătuiesc un computer. Știind acest lucru, este foarte ușor să formulezi un fel de model generalizat de funcționare a întregului computer. Dacă nu înțelegeți complexitatea proprietăților software și hardware ale unui computer, atunci putem spune că obiectul Unitate de sistem efectuează anumite acțiuni care sunt afișate de obiectul Monitor. La rândul său, obiectul Keyboard poate ajusta sau chiar seta acțiuni pentru obiectul System Unit, care afectează funcționarea obiectului Monitor. Procesul prezentat caracterizează foarte bine întregul sistem de programare orientată pe obiecte.

Imaginați-vă un produs software puternic care conține sute de mii de linii de cod. Întregul program este executat linie cu linie, linie cu linie, iar în principiu fiecare dintre liniile de cod ulterioare va fi neapărat conectată la linia anterioară de cod. Dacă nu utilizați programarea orientată pe obiecte și atunci când trebuie să schimbați acest cod de program, de exemplu, dacă trebuie să îmbunătățiți unele elemente, atunci va trebui să lucrați mult cu întregul cod sursă al acestui program.

În programarea orientată pe obiecte totul este mult mai simplu, să revenim la exemplul unui sistem informatic. Să presupunem că nu mai ești mulțumit de un monitor de șaptesprezece inchi. Îl poți schimba cu ușurință cu un monitor de douăzeci de inci, desigur, dacă ai anumite resurse financiare. Procesul de schimb în sine nu va implica probleme uriașe, cu excepția cazului în care trebuie să schimbați driverul, să ștergeți praful de sub vechiul monitor și gata. Programarea orientată pe obiecte se bazează aproximativ pe acest principiu de funcționare, unde o anumită parte a codului poate reprezenta o clasă de obiecte omogene care pot fi ușor actualizate sau înlocuite.

Programarea orientată pe obiecte reflectă foarte ușor și clar esența problemei care se rezolvă și, cel mai important, face posibilă eliminarea obiectelor inutile fără a deteriora întregul program, înlocuind aceste obiecte cu altele mai noi. În consecință, lizibilitatea generală a codului sursă al întregului program devine mult mai ușoară. De asemenea, este important ca același cod să poată fi folosit în programe complet diferite.

Clase

Nucleul tuturor programelor Java sunt clasele, pe care se bazează programarea orientată pe obiecte. În esență, știți deja ce sunt cursurile, dar încă nu vă dați seama. În secțiunea anterioară am vorbit despre obiecte, folosind ca exemplu structura unui întreg computer. Fiecare obiect din care este asamblat un computer este un reprezentant al clasei sale. De exemplu, clasa Monitor unește toate monitoarele, indiferent de tipurile, dimensiunile și capacitățile acestora, iar un anumit monitor care stă pe biroul tău este un obiect al clasei de monitor.

Această abordare facilitează modelarea tuturor tipurilor de procese de programare, facilitând rezolvarea problemelor. De exemplu, există patru obiecte din patru clase diferite: monitor, unitate de sistem, tastatură și difuzoare. Pentru a reda un fișier de sunet, trebuie să dați o comandă unității de sistem folosind tastatura, veți observa însăși acțiunea de a da comanda vizual pe monitor și, ca urmare, difuzoarele vor reda fișierul de sunet. Adică, orice obiect face parte dintr-o anumită clasă și conține toate instrumentele și capabilitățile disponibile acestei clase. Pot exista atâtea obiecte dintr-o clasă cât este necesar pentru a rezolva problema.

Metode

Când s-a dat un exemplu de redare a unui fișier de sunet, s-a menționat că a fost dat o comandă sau un mesaj, pe baza căruia s-au efectuat anumite acțiuni. Sarcina de a efectua acțiuni este rezolvată folosind metodele pe care le are fiecare obiect. Metodele sunt un set de comenzi care pot fi folosite pentru a efectua anumite acțiuni cu un obiect.

Fiecare obiect are propriul său scop și este conceput pentru a rezolva o anumită gamă de probleme folosind metode. La ce ar fi bun un obiect Keyboard, de exemplu, dacă nu ai putea apăsa tastele și totuși nu ai putea emite comenzi? Obiectul Keyboard are un anumit număr de taste cu ajutorul cărora utilizatorul obține controlul asupra dispozitivului de intrare și poate emite comenzile necesare. Astfel de comenzi sunt procesate folosind metode.

De exemplu, apăsați tasta Esc pentru a anula orice acțiune și, prin urmare, dați o comandă metodei atribuite acestei taste, care rezolvă această sarcină la nivel de program. Apare imediat întrebarea cu privire la numărul de metode ale obiectului Keyboard, dar poate exista o implementare diferită - de la definirea metodelor pentru fiecare dintre taste (ceea ce, în general, este neînțelept) și până la crearea unei singure metode care va monitoriza starea generală a tastaturii. Adică, această metodă monitorizează dacă o tastă a fost apăsată și apoi, în funcție de ce tastă este activată, decide ce să facă.

Așadar, vedem că fiecare dintre obiecte poate avea la dispoziție un set de metode de rezolvare a diverselor probleme. Și deoarece fiecare obiect este un obiect al unei anumite clase, se dovedește că clasa conține un set de metode care sunt utilizate de diferite obiecte din aceeași clasă. În Java, toate metodele pe care le creați trebuie să aparțină sau să facă parte dintr-o anumită clasă.

Sintaxa și semantica limbajului Java

Pentru a vorbi și a citi orice limbă străină, trebuie să înveți alfabetul și gramatica acelei limbi. O condiție similară se observă la studierea limbajelor de programare, cu singura diferență, mi se pare, că acest proces este oarecum mai ușor. Dar înainte de a începe să scrieți codul sursă al programului, trebuie mai întâi să rezolvați problema care ți-a fost atribuită în orice formă convenabilă pentru tine.

Să creăm o clasă responsabilă, de exemplu, de un telefon, care va avea doar două metode: pornirea și oprirea acestui telefon. Deoarece în prezent nu cunoaștem sintaxa limbajului Java, vom scrie clasa Phone într-un limbaj abstract.

Telefon de clasă
{
Metoda Enable().
{
// operațiuni de pornire a telefonului
}
Metoda Disable().
{
// operațiuni de oprire a telefonului
}
}

Clasa de telefon ar putea arăta cam așa. Rețineți că acolade indică începutul și sfârșitul corpului unei clase, metode sau, respectiv, orice secvență de date. Adică, parantezele indică apartenența la o metodă sau clasă. Pentru fiecare paranteză de deschidere trebuie să existe o paranteză de închidere. Pentru a evita confuzia, acestea sunt de obicei plasate la același nivel în cod.

Acum să scriem aceeași clasă numai în Java.

Telefon de clasă
{
nul pe ()
{
// corpul metodei on().
}
anulează ()
{
// corpul metodei off().
}
}

Cuvântul cheie clasă în limbajul Java declară o clasă, urmată de numele clasei în sine. În cazul nostru, acesta este Telefon. Câteva cuvinte despre registrul de înregistrare. În aproape toate limbajele de programare, este important să salvați numele în registrul în care au fost scrise. Dacă ați scris Telefon, atunci o ortografie precum telefon sau TELefoN va genera o eroare în timpul compilării. Așa cum am scris inițial, așa ar trebui să scriem în continuare.

Cuvintele rezervate sau cheie sunt scrise în cazul lor specific și nu le puteți utiliza denumindu-le în metode, clase, obiecte și așa mai departe. Spațiile dintre cuvinte nu contează, deoarece compilatorul pur și simplu le ignoră, dar sunt importante pentru citirea codului.

În corpul clasei Telefon există două metode: on() - pornește telefonul și metoda off() - oprește telefonul. Ambele metode au propriul lor corp și, teoretic, ar trebui să conțină un cod sursă care să descrie acțiunile necesare ambelor metode. Pentru noi acum nu contează cum sunt implementate aceste metode, principalul lucru este sintaxa limbajului Java.

Ambele metode au paranteze on() în care se pot scrie parametri, cum ar fi on(int time) sau on(int time, int time1). Cu ajutorul parametrilor, există un fel de legătură între metode și lumea exterioară. Se spune că metoda on(int time) ia un parametru de timp. Pentru ce este? De exemplu, doriți ca telefonul să pornească la o anumită oră. Apoi valoarea întreagă din parametrul de timp va fi transmisă în corpul metodei și, pe baza datelor primite, telefonul va fi pornit. Dacă parantezele sunt goale, atunci metoda nu acceptă niciun parametru.

Comentarii

În clasa Telefon, în corpurile ambelor metode există o intrare după două bare oblice: //. Această intrare denotă comentarii care vor fi ignorate de compilator, dar sunt necesare pentru citirea codului. Cu cât comentezi mai multe informații în timp ce scrii programul, cu atât vei avea mai multe șanse să-ți amintești peste un an la ce ai lucrat în tot acest timp.

Comentariile în Java pot fi de trei tipuri:

//, /*…*/ Și /**…*/

Comentariile scrise folosind operatorul // trebuie să apară pe un singur rând:

// O linie
!!! Eroare! Nu o poți împacheta pe a doua linie!
// Prima linie
// A doua linie
// …
// Ultima linie

Comentariile care utilizează operatorii /*…*/ se pot întinde pe mai multe linii. La începutul comentariului tău, pune /*, iar la sfârșit, când termini de comentat codul, pune operatorul */. Ultimul tip de comentariu /**…*/ este folosit la documentarea codului și poate fi, de asemenea, localizat pe orice număr de rânduri.

Tipuri de date Java

Pentru a seta o valoare arbitrară, Java are tipuri de date. În clasa Telefon am creat două metode. Ambele metode nu aveau parametri, dar când a fost dat exemplul metodei on(int time) cu un parametru de timp, s-a vorbit despre trecerea unei valori metodei. Această valoare a indicat ora la care se presupune că ar trebui să pornească telefonul. Specificatorul int determină tipul valorii de timp. Există șase tipuri de date în Java 2 ME.

Byte – valoare întreagă mică de la –128 la 128;
short – valoare întreagă scurtă în intervalul de la –32768 la 32767;
int – conține orice valoare întreagă de la –2147483648 la 2147483647;
lung – valoare întreagă foarte mare, de la –922337203685475808 la 9223372036854775807;
char este o constantă de caractere Unicode. Intervalul acestui format este de la 0 la 65536, care este egal cu 256 de caractere. Orice caracter de acest tip trebuie scris între ghilimele simple, de exemplu: „G”;
boolean este un tip logic care are doar două valori: false și adevărat. Acest tip este adesea folosit în bucle, care vor fi discutate mai târziu. Sensul este foarte simplu - dacă ai bani în buzunar, se presupune că este adevărat, iar dacă nu, atunci este fals. Astfel, dacă avem bani, mergem la magazin după pâine sau bere (subliniați ce este potrivit), dacă nu sunt bani, stăm acasă. Adică, aceasta este o valoare logică care contribuie la alegerea acțiunilor ulterioare ale programului tău.

Pentru a declara o valoare necesară, utilizați următoarea intrare:

Timp int;
BigTime lung;
cuvânt char;

Operatorul punct și virgulă este necesar după intrări și este plasat la sfârșitul rândului. Puteți combina mai multe declarații de același tip, separate prin virgule:

Mt timp, timp1, timp2;

Acum să ne îmbunătățim clasa Telefon adăugându-i câteva valori. Nu mai avem nevoie de metodele on() și off() să adăugăm metode noi care pot rezolva de fapt anumite probleme.

Telefon de clasă
{
//S – zona de afișare
//w – lățimea afișajului
//h – înălțimea afișajului
int w, h, S;
//metoda care calculează aria de afișare
zona vord()
{
S = l*h;
}
}

Deci, avem trei variabile S, w și h, care sunt responsabile, respectiv, pentru suprafața, lățimea și înălțimea afișajului în pixeli. Metoda Area() calculează aria ecranului telefonului în pixeli. Operația este inutilă, dar foarte ilustrativă și ușor de înțeles. Corpul metodei Area() s-a găsit și are forma S = w*h. În această metodă, pur și simplu înmulțim lățimea cu înălțimea și atribuim sau, după cum se spune, stocăm rezultatul în variabila S. Această variabilă va conține valorile zonei de afișare a acestui telefon. .

Acum ne-am apropiat de operatorii limbajului Java, cu ajutorul cărora puteți efectua tot felul de operațiuni. Operatorii limbajului Java, precum și alte limbaje de programare, au propriile lor scopuri. Deci există operatori aritmetici, operatori de creștere și decreștere, operatori logici și operatori relaționali. Să ne uităm la fiecare dintre operatorii de mai sus.

Operatori aritmetici

Toți operatorii aritmetici sunt foarte simpli și similari cu operatorii de înmulțire „*”, împărțire „/”, adunare „+” și scădere „-” utilizați în matematică. Există un operator de divizare modulo „%” și o situație ușor confuză la prima vedere cu operatorul egal „=”. Operatorul egal este numit operator de atribuire în limbaje de programare:

Aici atribuiți valoarea 3 variabilei x Iar operatorul „egal” în limbaje de programare corespunde cu scrierea a doi operatori „egali” consecutivi: „==”. Să ne uităm la un exemplu de ceea ce pot face diferiți operatori aritmetici.

Int x, y, z;
x = 5;
y = 3;
z = 0;
z = x + y;

În acest caz, z va avea valoarea sumei lui x și y, adică 8.

Variabila x avea valoarea 5, dar după această înregistrare se pierde valoarea anterioară și se scrie produsul z*x (8*5), care este egal cu 40. Acum, dacă ne continuăm codul mai departe, variabilele vor arăta ca aceasta:

// x = 40;
// y = 3;
// z = 8;

Operatorii de adunare și scădere au aceleași scopuri ca și în matematică. Numerele negative sunt, de asemenea, legate.

Operatorii de decrement „––” și de creștere „++” sunt foarte specifici, dar foarte simpli. În programare, există adesea momente în care trebuie să creșteți sau să micșorați o valoare cu una. Acest lucru se întâmplă adesea în cicluri. Operația de creștere mărește o variabilă cu una.

Int x = 5;
x++;
// Aici x este deja egal cu 6

Operația de decrementare scade o variabilă cu unu.

Int x = 5;
X--;
// x este egal cu 4

Operațiile de creștere și decreștere pot fi post și prefix:

Int x = 5;
int y = 0;
y = x++;

În ultima linie de cod, valoarea x este mai întâi atribuită lui y, care este valoarea 5, și abia apoi variabila x este incrementată cu unu. Se pare că:

Incrementul de prefix are forma:

Int x = 3;
int y = 0;
y = ++x;

Și în acest caz, mai întâi variabila x este mărită cu unu, apoi îi atribuie lui y valoarea deja crescută.

Operatori relaționali

Operatorii relaționali vă permit să testați dacă ambele părți ale unei expresii sunt egale. Există un operator de egalitate „==", operatori mai mici decât „<» и больше «>", mai mic sau egal"<=» и больше или равно «>=”, precum și operatorul de negație „!=”.
9 == 10;

Această expresie nu este adevărată, nouă nu este egală cu zece, deci valoarea acestei expresii este falsă.

Aici, dimpotrivă, operatorul de negație indică inegalitatea expresiei, iar valoarea va fi adevărată. Operatorii mai mari decât, mai mici decât, mai mari sau egali cu și mai mici decât sau egali cu sunt similari cu operatorii corespunzători din matematică.

Operatori logici

Există doi operatori logici. Operatorul „ȘI”, notat cu simbolurile „&&” și operatorul „SAU”, notat cu două bare oblice „||”. De exemplu, există o expresie:

A*B && B*C;

Dacă numai ambele părți ale unei expresii sunt adevărate, valoarea expresiei este considerată adevărată. Dacă una dintre părți este falsă, atunci valoarea întregii expresii va fi falsă.
Spre deosebire de operatorul „&&”, există operatorul „||”, care nu este fără motiv numit „SAU”.

A*B || B*C;

Dacă orice parte a unei expresii este adevărată, atunci întreaga expresie este adevărată. Ambii operatori pot fi combinați într-o singură expresie, de exemplu:

A*B || B*C && C*D || B*A;

Cu ajutorul acestei expresii te-am introdus, mi se pare, în dificultate, nu-i așa? Cert este că în Java, ca și în matematică, există o prioritate sau o așa-numită ierarhie a operatorilor, cu ajutorul căreia se determină care dintre operatori este mai important și, prin urmare, se verifică primul. Să luăm în considerare utilizarea unei liste cu prioritatea tuturor operatorilor de limbaj Java disponibili:

, ., (),
!, ~, ++, – –, + (unar), – (unar), nou,
*, /, %,
+, –,
<<, >>, >>>,
<, <=, >, >=,
= =, !=,
&, ^, |,
&&,
||,
?:,
=, +=, –=, *=, /=, %=, |=, ^=, <<=, >>=, >>>=.

Asociativitatea operatorilor din listă urmează de la stânga la dreapta și de sus în jos. Adică tot ceea ce este în stânga și deasupra este senior ca rang și mai important.

Un scurt curs de istoria limbajului Java

Această secțiune descrie pe scurt istoria limbajului Java. Această secțiune se bazează pe diverse materiale publicate (în principal interviuri cu creatorii limbajului Java în numărul din iulie 1995 al revistei SunWorld).

Istoria Java datează din 1991, când un grup de ingineri de la Sun, condus de Patrick Naughton și membrul consiliului de administrație (și vrăjitorul de computere) James Gosling, și-au propus să dezvolte un limbaj mic care ar putea fi folosit pentru a programa dispozitivele de zi cu zi , de exemplu, controlere pentru comutarea canalelor de televiziune prin cablu (cutii de comutare TV prin cablu).

Deoarece astfel de dispozitive nu consumă multă energie și nu au cipuri mari de memorie, a trebuit să fiu mic și să generez programe foarte compacte. În plus, deoarece diferiți producători pot alege diferite unități centrale de procesor (CPU), a fost important să nu vă blocați de nicio arhitectură de computer. Proiectul a primit numele de cod „Verde”.

Într-un efort de a inventa cod mic, compact și independent de mașină, dezvoltatorii au reînviat modelul folosit pentru implementarea primelor versiuni ale limbajului Pascal în zorii erei computerelor personale. Niklaus Wirth, creatorul limbajului Pascal, a dezvoltat odată un limbaj independent de mașină care generează cod intermediar pentru o anumită mașină ipotetică. Acest limbaj a devenit un produs comercial sub numele UCSD Pascal. (Asemenea mașini ipotetice sunt adesea numite mașini virtuale - de exemplu, mașina virtuală Java sau JVM.)
Acest cod intermediar poate fi executat pe orice mașină care are un interpret adecvat. Inginerii care lucrează la Project Green au folosit și o mașină virtuală, care le-a rezolvat principala problemă.

Cu toate acestea, majoritatea angajaților Sun aveau experiență cu sistemul de operare UNIX, așa că limbajul pe care l-au dezvoltat era bazat pe C++, nu pe Pascal. În special, au făcut ca limbajul să fie orientat mai degrabă pe obiect decât pe procedură.

După cum a spus Gosling în interviul său: „ Limba este întotdeauna un mijloc, nu un scop„La început, Gosling a decis să-i spună „Stejar.” (Poate pentru că îi plăcea să se uite la stejarul care crește chiar în afara ferestrelor biroului său de la Sun.) Apoi, angajații Sun au aflat că cuvântul Stejar era deja folosit ca numele unui limbaj de programare creat anterior și a schimbat numele Java.

În 1992, primele produse au fost lansate ca parte a proiectului Green, numit
„*7”. A fost un mijloc de telecomandă extrem de inteligentă. (Avea puterea unei stații de lucru SPARK, dar se potrivea într-o cutie de 6x4x4 inci.) Din păcate, nicio companie de electronice nu a fost interesată de această invenție.

Grupul a început apoi să dezvolte un dispozitiv de televiziune prin cablu care ar putea oferi noi tipuri de servicii, cum ar fi video la cerere. Și din nou nu au primit niciun contract. (Este amuzant că una dintre companiile care a refuzat să semneze un contract cu ei a fost condusă de Jim Clark, fondatorul Netscape, care mai târziu a făcut multe pentru succesul limbajului Java.)

Pe parcursul anului 1993 și jumătate a anului 1994, a continuat o căutare nereușită a cumpărătorilor de produse dezvoltate în cadrul proiectului Green (sub noul nume „First Person, Inc.”). (Patrick Naughton, unul dintre fondatorii grupului care mai târziu a lucrat în principal în marketing, a zburat peste 300.000 de mile în total încercând să vândă tehnologia.) First Person, Inc. a fost întreruptă în 1994.

Între timp, World Wide Web era în creștere în cadrul internetului. Cheia acestei rețele este browserul, care transformă hipertextul într-o imagine pe ecran.
În 1994, majoritatea oamenilor foloseau browserul Mosaic, un browser web non-profit dezvoltat la Centrul de Supercomputing al Universității din Illinois în 1993. (Acest browser a fost scris parțial de Mark Andreessen pentru 6,85 USD pe oră. În acel moment, Mark absolvea facultatea și browserul era teza lui. Apoi a devenit unul dintre fondatorii și programatorul șef al Netscape, iar faima i-a venit și bogatie.)

Într-un interviu acordat revistei Sun World, Gosling a spus că la mijlocul anului 1994, dezvoltatorii limbii și-au dat seama: „Trebuie să creăm un browser cu adevărat cool. Un astfel de browser ar trebui să fie una dintre puținele aplicații ale tehnologiei de lux client-server, unde exact. ceea ce este vital ar fi ceea ce am făcut noi: independență arhitecturală, execuție în timp real, fiabilitate, securitate - probleme care nu erau extrem de importante pentru stațiile de lucru Și am creat un astfel de browser.”

De fapt, browserul a fost dezvoltat de Patrick Naughton și Jonathan Payne. Ulterior a evoluat în browserul modern HotJava. Acest browser a fost scris în Java pentru a-și demonstra puterea deplină. Cu toate acestea, dezvoltatorii nu au uitat de instrumentele puternice numite acum appleturi, oferind browserului lor capacitatea de a executa cod în paginile Web. „Demo-ul de tehnologie” a fost prezentat la Sun World '95 pe 23 mai 1995 și a stârnit o nebunie Java care continuă până în zilele noastre.

Sun a lansat prima versiune a limbajului Java la începutul anului 1996. La câteva luni după aceasta, a apărut versiunea Java 1.02. Oamenii și-au dat seama rapid că Java 1.02 nu era potrivit pentru dezvoltarea serioasă de aplicații. Desigur, această versiune poate fi folosită pentru a dezvolta pagini Web cu bărbați dansatori, dar în Java 1.02 nici măcar nu poți imprima nimic.

Ca să fiu sincer, Java 1.02 era încă brut. Succesorul său, Java 1.1, a umplut majoritatea golurilor prin îmbunătățirea semnificativă a capacităților de reflectare și prin adăugarea unui nou model de evenimente pentru programarea GUI. În ciuda acestui fapt, a fost încă destul de limitat.

Lansarea Java 1.2 a fost principala știre la conferința JavaOne din 1998. Noua versiune înlocuiește instrumentele slabe pentru crearea de interfețe grafice cu utilizatorul și aplicații grafice cu instrumente complexe și extinse. Acesta a fost un pas înainte spre implementarea sloganului „Scrie o dată, alergă oriunde”™, prezentat în timpul dezvoltării versiunilor anterioare.

În decembrie 1998, la trei zile (!) de la lansare, numele noii versiuni a fost schimbat în expresia greoaie Java 2 Standard Edition Software Development Kit Version 1.2 (Ediția standard a unui pachet de instrumente pentru dezvoltarea de software în limbajul Java 2). , versiunea 1.2).

Pe lângă ediția standard a pachetului ("Standard Edition"), au mai fost oferite două opțiuni: o "micro edition" ("Micro Edition") pentru dispozitive portabile, de exemplu, pentru telefoane mobile etc. „Industrial Edition” („Enterprise Edition”) pentru crearea de aplicații bazate pe server. Cartea noastră se concentrează pe ediția standard.

Versiunile 1.3 și 1.4 ale ediției standard a setului de instrumente sunt mult mai avansate decât versiunea originală a limbajului Java 2. Au caracteristici noi și, desigur, conțin mai puține erori. În tabel Figura 1 1 arată creșterea rapidă a bibliotecii API pe măsură ce devin disponibile noi versiuni ale SDK-ului ediției standard.

Tabelul 1.1. Creșterea bibliotecii API din pachetul Java Standard Edition

Numărul de clase și interfețe

Numărul de metode și câmpuri

Concepții greșite comune despre limbajul Java

Această secțiune listează și comentează unele dintre concepțiile greșite comune despre Java.

Limbajul Java este o extensie a limbajului HTML.

Java este un limbaj de programare, iar HTML este o modalitate de a descrie structura paginilor Web. Nu există nimic în comun între ele, cu excepția extensiilor la limbajul HTML care permit plasarea appleturilor scrise în Java pe paginile Web.

Lucrez în XML, așa că nu am nevoie de Java.

Java este un limbaj de programare, iar XML este pur și simplu o modalitate de a descrie datele. Datele descrise folosind XML pot fi procesate de programe scrise în orice limbaj de programare, dar numai biblioteca Java API oferă suport excelent pentru procesarea acestor date. În plus, Java implementează multe dintre caracteristicile XML. Ele sunt descrise mai detaliat în al doilea volum.

Limbajul Java este ușor de învățat.

Nu există un limbaj de programare la fel de puternic ca Java care să poată fi învățat cu ușurință. Este ușor să scrii programe de jucărie, dar să faci o muncă serioasă este întotdeauna dificil. De asemenea, rețineți că această carte consacră doar patru capitole discutării limbajului Java în sine. Capitolele rămase explică modul de lucru cu bibliotecile sale, care conțin mii de clase și interfețe, precum și multe mii de funcții. Din fericire, nu trebuie să le cunoști pe fiecare, dar realizarea unui proiect real necesită o cantitate surprinzătoare de cunoștințe din partea utilizatorului.

Java este ușor de programat.

SDK-ul Java nu este ușor de utilizat pentru nimeni, cu excepția programatorilor obișnuiți cu linia de comandă. Există medii de programare integrate care includ editori de text, compilatoare și instrumente de creare a formularelor cu drag-and-drop, dar par prea complexe și intimidante pentru un începător. În plus, generează adesea programe formate din sute de linii. Ni se pare că a începe să înveți limbajul Java folosind programe lungi, generate automat și completate cu comentarii de genul „NU ȚI ȚI MÂINILE!” nu este o idee foarte bună. Credem că cel mai bun mod de a învăța Java este să folosești editorul de text preferat. Este exact ceea ce vom face.

Limbajul Java va deveni în cele din urmă un limbaj de programare universal pentru toate platformele.

Teoretic acest lucru este posibil. La asta visează toți producătorii de software, cu excepția Microsoft. Cu toate acestea, există multe aplicații care funcționează excelent pe computerele personale, care nu vor funcționa la fel de bine pe alte dispozitive sau browsere. În plus, aceste aplicații sunt scrise pentru a profita la maximum de procesoare și biblioteci dependente de mașină. În orice caz, acestea au fost deja portate pe toate platformele importante. Astfel de aplicații includ editori de text și grafice, precum și browsere web. De obicei, aceste aplicații sunt scrise în C sau C++, iar utilizatorul nu va câștiga nimic prin rescrierea lor în Java. În plus, rescrierea lor în Java va face aceste programe mai lente și mai puțin eficiente, cel puțin în viitorul apropiat.

Limbajul Java este doar un alt limbaj de programare.

Java este un limbaj de programare minunat. Mulți programatori îl preferă față de limbajele C sau C++. Cu toate acestea, există sute de limbaje de programare grozave în întreaga lume care nu au atins niciodată o adoptare pe scară largă, în timp ce limbaje cu deficiențe evidente, cum ar fi C++ și Visual Basic, au obținut un succes uimitor.

De ce? Succesul oricărui limbaj de programare este determinat în primul rând de caracterul practic al sistemului său de suport, mai degrabă decât de eleganța sintaxei sale. Există biblioteci utile, convenabile și standard care vă permit să faceți exact ceea ce are nevoie un programator? A fost dezvoltat un mediu convenabil pentru crearea și depanarea programelor? Sunt limbajul și instrumentele sale integrate în infrastructura informatică? Limbajul Java a făcut progrese în aplicațiile server, deoarece bibliotecile sale de clasă facilitează realizarea unor lucruri care anterior erau dificile, cum ar fi crearea de rețele și multithreading. Faptul că Java a redus numărul de erori de tip pointer este, de asemenea, în favoarea sa. Datorită acestui fapt, productivitatea programatorilor a crescut. Cu toate acestea, nu acesta este motivul succesului său.

Programele Java sunt interpretate, ceea ce înseamnă că aplicațiile serioase vor rula prea încet pe o anumită platformă.

Multe programe își petrec cea mai mare parte a timpului interacționând cu interfața cu utilizatorul sau așteptând date din rețea. Toate programele, indiferent de limba în care sunt scrise, trebuie să răspundă la un clic de mouse într-un anumit timp. Bineînțeles, nu ar trebui să efectuați sarcini care necesită mult CPU folosind interpretul Java. Cu toate acestea, pe platformele care permit compilarea sincronă, trebuie doar să rulați bytecodes-urile pentru execuție, iar majoritatea problemelor vor dispărea pur și simplu.

La urma urmei, Java este excelent pentru dezvoltarea programelor de rețea. Experiența arată că menține cu ușurință rate ridicate de transfer în rețea chiar și în timpul calculelor intensive, cum ar fi criptarea. Deoarece Java este mai rapid decât viteza internetului, nu contează că programele C++ pot rula și mai repede. Java este mai ușor de programat, iar programele scrise în el sunt independente de mașină.

Toate programele Java rulează în browsere web.

Toate applet-urile scrise în Java rulează de fapt sub controlul browserelor Web. De fapt, aceasta este definiția unui applet - un program executat de un browser Web. Cu toate acestea, este pe deplin posibil și adecvat să se creeze programe Java de sine stătătoare care rulează independent de browserul web.

Aceste programe (denumite de obicei aplicații) sunt complet independente de mașină. Doar luați programul și rulați-l pe o altă mașină! Deoarece Java este mai ușor de utilizat și mai puțin predispus la erori decât C++, este o alegere bună. Atunci când este combinat cu instrumente de acces la baze de date, cum ar fi pachetul Java Database Connectivity, limbajul Java devine irezistibil. Este deosebit de convenabil să-l înveți ca prim limbaj de programare.
Majoritatea programelor din această carte sunt complet autonome. Desigur, appleturile sunt foarte distractive. Cu toate acestea, aplicațiile Java sunt mai importante și mai utile în practică.

Appleturile Java reprezintă o mare amenințare pentru sistemele de securitate.

Mai multe rapoarte de erori de securitate au fost publicate în limbajul Java. Cele mai multe dintre ele au vizat implementarea limbajului Java folosind un browser specific. Cercetătorii au considerat acest lucru ca pe o provocare și au început să caute lacune de securitate în limbajul Java pentru a depăși puterea și complexitatea modelului de securitate pentru applet. Erorile tehnice descoperite au fost corectate în curând și, din câte știm, niciun sistem real nu a fost vreodată compromis. Pentru a aprecia importanța acestui fapt, amintiți-vă de milioanele de viruși de pe fișierele executabile ale sistemului de operare Windows și de macrocomenzile procesorului de text Word, care într-adevăr au provocat multe necazuri, și de critica surprinzător de fără dinți a punctelor slabe ale platformei atacate. . În plus, mecanismul ActiveX din browserul Internet Explorer ar putea provoca multe critici, dar metodele de hacking sunt atât de evidente încât doar câțiva experți s-au obosit să-și publice cercetările.

Unii administratori de sistem au început chiar să dezactiveze protecția limbajului Java în browserele lor, astfel încât utilizatorii să poată continua să descarce fișiere executabile, controale ActiveX și documente create folosind procesorul de text Word. Este amuzant că în prezent probabilitatea de a depăși sistemul de securitate al applet-urilor Java este comparabilă cu probabilitatea de a muri într-un accident de avion, în timp ce riscul de a infecta un computer prin deschiderea unui document creat de un procesor de text Word este comparabil cu riscul de a muri sub roțile unei mașini în timp ce alerga peste drum într-o oră de vârf.

Limbajul JavaScript este o versiune simplificată a limbajului Java.

JavaScript este un limbaj de scripting care poate fi folosit în paginile Web. A fost dezvoltat de Netscape și a fost numit pentru prima dată LiveScript. Sintaxa limbajului JavaScript este similară cu sintaxa limbajului Java, dar aici se termină asemănările (cu excepția numelui, desigur). Un subset al limbajului JavaScript a fost standardizat sub numele ECMA-262, dar extensiile sale necesare pentru munca reală nu au fost standardizate.

Java - un limbaj de la microsistemele Sun. A fost dezvoltat inițial ca limbaj pentru programarea dispozitivelor electronice, dar mai târziu a început să fie folosit pentru scrierea aplicațiilor software pentru server. Programele Java sunt multiplatforme, adică pot rula pe orice sistem de operare.

Bazele programarii Java

Java, ca limbaj orientat pe obiecte, urmează principiile de bază ale OOP:

  • moştenire;
  • polimorfism;
  • încapsulare.

În centrul Java, ca și în alte OYA, se află un obiect și o clasă cu constructori și proprietăți. Este mai bine să începeți să învățați limbajul de programare Java nu din resurse oficiale, ci din manuale pentru începători. Astfel de manuale descriu capabilitățile în detaliu și oferă exemple de cod. Cărți precum „Limbajul de programare Java pentru începători” explică în detaliu principiile și caracteristicile de bază ale limbajului numit.

Particularități

Codul limbajului de programare Java este tradus în bytecode și apoi executat pe JVM. Conversia în bytecode se realizează în Javac, Jikes, Espresso, GCJ. Există compilatoare care traduc limbajul C în bytecode Java. Astfel, o aplicație C poate rula pe orice platformă.

Sintaxa Java este caracterizată prin următoarele:

  1. Numele claselor trebuie să înceapă cu o literă mare. Dacă numele constă din mai multe cuvinte, atunci al doilea trebuie să înceapă cu litere mari.
  2. Dacă sunt folosite mai multe cuvinte pentru a forma o metodă, atunci al doilea dintre ele trebuie să înceapă cu o literă mare.
  3. Procesarea începe cu metoda main() - face parte din fiecare program.

Tipuri

Limbajul de programare Java are 8 tipuri primitive. Ele sunt prezentate mai jos.

  • Boolean este un tip boolean care acceptă doar două valori: adevărat și fals.
  • Byte este cel mai mic tip întreg, măsoară 1 octet. Este folosit atunci când lucrați cu fișiere sau date binare brute. Are un interval de la -128 la 127.
  • Short are un interval de la -32768 la 32767 și este folosit pentru a reprezenta numere. Dimensiunea variabilelor de acest tip este de 2 octeți.
  • Int înseamnă și numere, dar dimensiunea sa este de 4 octeți. Cel mai adesea este folosit pentru a lucra cu date întregi, iar byte și short sunt uneori promovate la int.
  • Long sunt folosite pentru numere întregi mari. Valorile posibile variază de la -9223372036854775808 la 9223372036854775807.
  • Float și double sunt folosite pentru a desemna valori fracționale. Diferența lor este că flotarea este convenabilă atunci când nu este necesară o precizie ridicată în partea fracțională a unui număr.
  • Double afișează toate caracterele după separatorul „, în timp ce float le afișează numai pe primele.
  • String este tipul primitiv cel mai frecvent utilizat pentru a defini șiruri.

Clase și obiecte

Clasele și obiectele joacă un rol important în învățarea limbajului de programare Java pentru începători.

O clasă definește un șablon pentru un obiect are în mod necesar atribute și metode. Pentru a-l crea, utilizați cuvântul cheie Class. Dacă este creat într-un fișier separat, atunci numele clasei și al fișierului trebuie să fie același. Numele în sine este format din două părți: numele și extensia.Java.

În Java, puteți crea o subclasă care va moșteni metodele părintelui. Cuvântul extinde este folosit pentru aceasta:

  • clasa class_name extinde superclass_name();

Un constructor este o componentă a oricărei clase, chiar dacă nu este specificat în mod explicit. În acest caz, compilatorul îl creează independent:

  • public class Class( public Class())( ) public Class(Nume șir)( ))

Numele constructorului este același cu numele clasei în mod implicit, are un singur parametru:

  • Puppy public (nume șir)

Obiectul este creat dintr-o clasă folosind operatorul new():

  • Punctul p = Punct nou ()

Primește toate metodele și proprietățile clasei, cu ajutorul cărora interacționează cu alte obiecte. Un obiect poate fi folosit de mai multe ori sub diferite variabile.

    Punctul p = Punct nou ()

    clasa TwoPoints (

    public static void main(Argumente șir) (

    Punctul p1 = Punct nou();

    Punctul p2 = Punct nou();

    Variabilele obiect și obiectele sunt entități complet diferite. Variabilele obiect sunt referințe. Ele pot indica orice variabilă de tip non-primitiv. Spre deosebire de C++, conversia tipului lor este strict reglementată.

    Domenii și Metode

    Câmpurile sunt toate variabilele asociate cu o clasă sau un obiect. În mod implicit, acestea sunt locale și nu pot fi folosite în alte clase. Pentru a accesa câmpuri, utilizați operatorul „.”

    • classname.variable

    Puteți defini câmpuri statice folosind cuvântul cheie static. Astfel de câmpuri sunt singura modalitate de a stoca variabile globale. Acest lucru se datorează faptului că Java pur și simplu nu are variabile globale.

    Am implementat capacitatea de a importa variabile pentru a obține acces din alte pachete:

    • import static classname;

    Metoda este o subrutină pentru clasele în care este declarată. Descrise la același nivel cu variabilele. Este specificat ca o funcție și poate fi de orice tip, inclusiv void:

    • clasa Point(int x, y;

      void init(int a, int b) (

    În exemplul de mai sus, clasa Point are un întreg x și y, o metodă init(). Metodele, precum variabilele, sunt accesate folosind operatorul "."

    • Point.init();

    Proprietatea init nu returnează nimic, deci este de tip void.

    Variabile

    În tutorialul limbajului de programare Java, variabilele ocupă un loc special. Toate variabilele au un tip specific, determină locația necesară pentru stocarea valorilor, intervalul de valori posibile și lista de operații. Înainte ca valorile să poată fi manipulate, variabilele sunt declarate.

    Mai multe variabile pot fi declarate în același timp. Se folosește o virgulă pentru a le enumera:

    • int a, b, c;

    Inițializarea are loc după sau în timpul declarației:

    int a = 10, b = 10;

    Există mai multe tipuri:

    • variabile locale (locale);
    • variabile de instanta
    • variabile statice (statice).

    Variabilele locale sunt declarate în metode și constructori, acestea sunt create atunci când aceștia din urmă sunt executați și distruși la finalizare. Pentru ei, este interzisă specificarea modificatorilor de acces și controlul nivelului de disponibilitate. Nu sunt vizibile în afara blocului declarat. În Java, variabilele nu au o valoare inițială, așa că este necesar să fie atribuite înainte de prima utilizare.

    Variabilele de instanță trebuie declarate în interiorul clasei. Sunt folosite ca metode, dar pot fi accesate numai după ce obiectul a fost creat. Variabila este distrusă atunci când obiectul este distrus. Variabilele de instanță, spre deosebire de cele locale, au valori implicite:

    • numere - 0;
    • logica - fals;
    • link-urile sunt nule.

    Variabilele statice sunt numite variabile de clasă. Numele lor încep cu un caracter majuscul și sunt specificate de modificatorul static. Ele sunt utilizate ca constante în consecință, un specificator din listă este adăugat la ele:

    • final;
    • privat;
    • public

    Sunt lansate la începutul programului și distruse după oprirea execuției. La fel ca variabilele de instanță, ele au valori standard care sunt atribuite variabilelor goale. Numerele au valoarea 0, variabilele booleene au valoarea falsă, iar referințele la obiecte sunt inițial nule. Variabilele statice sunt numite după cum urmează:

    • ClassName.VariableName.

    Colector de gunoi

    În tutorialul „Limbajul de programare Java pentru începători”, secțiunea despre colectarea automată a gunoiului este cea mai interesantă.

    În Java, spre deosebire de limbajul C, este imposibil să eliminați manual un obiect din memorie. În acest scop, a fost implementată o metodă de îndepărtare automată - un colector de gunoi. Cu ștergerea tradițională prin null, doar referința la obiect este eliminată, iar obiectul în sine este șters. Există metode de a forța colectarea gunoiului, deși nu sunt recomandate pentru utilizare în munca normală.

    Modulul pentru eliminarea automată a obiectelor neutilizate funcționează în fundal și este lansat când programul este inactiv. Pentru a șterge obiectele din memorie, programul se oprește după eliberarea memoriei, operația întreruptă este reluată.

    Modificatori

    Există diferite tipuri de modificatori. Pe lângă cele care determină metoda de acces, există modificatori de metode, variabile și clase. Metodele declarate private sunt disponibile numai în clasa declarată. Astfel de variabile nu pot fi utilizate în alte clase și funcții. Public permite accesul la orice clasă. Dacă trebuie să obțineți o clasă Publică dintr-un alt pachet, trebuie mai întâi să o importați.

    Modificatorul protejat este similar ca efect cu public - deschide accesul la câmpurile clasei. În ambele cazuri, variabilele pot fi utilizate în alte clase. Dar modificatorul public este disponibil pentru absolut toată lumea, iar modificatorul protejat este disponibil numai pentru clasele moștenite.

    Modificatorul care este folosit la crearea metodelor este static. Aceasta înseamnă că metoda creată există independent de instanțe ale clasei. Modificatorul final nu controlează accesul, ci indică mai degrabă imposibilitatea manipulării ulterioare a valorilor obiectului. Interzice schimbarea elementului pentru care este specificat.

    Final pentru câmpuri face imposibilă modificarea primei valori a variabilei:

      metoda public static void (Argumente șir) (

      final int Nume = 1;

      int Nume = 2;// va arunca o eroare

    Variabilele cu modificatorul final sunt constante. De obicei, acestea sunt scrise doar cu majuscule. CamelStyle și alte metode nu funcționează.

    Final pentru metode indică o interdicție privind schimbarea unei metode într-o clasă moștenită:

      final void myMethod() (

      System.out.printIn(„Bună lume”);

    Final pentru clase înseamnă că nu puteți crea descendenți de clasă:

      clasă finală publică (

    Abstract - modificator pentru crearea claselor abstracte. Orice clasă abstractă și metode abstracte sunt destinate să fie extinse în continuare în alte clase și blocuri. Modificator tranzitoriu îi spune mașinii virtuale să nu proceseze variabila dată. În acest caz, pur și simplu nu va fi salvat. De exemplu, transient int Name = 100 nu va fi salvat, dar int b va fi salvat.

    Platforme și versiuni

    Familiile existente ale limbajului de programare Java:

    • Editie Standard.
    • Enterprise Edition.
    • Micro Edition.
    • Card.

    1. SE este cel principal, utilizat pe scară largă pentru crearea de aplicații personalizate pentru uz individual.
    2. EE este un set de specificații pentru dezvoltarea de software pentru întreprinderi. Conține mai multe caracteristici decât SE, așa că este utilizat la scară comercială în întreprinderile mari și mijlocii.
    3. ME - concepute pentru dispozitive cu putere și memorie limitate, au de obicei o dimensiune mică de afișare. Astfel de dispozitive sunt smartphone-urile și PDA-urile, receptoarele de televiziune digitală.
    4. Card - conceput pentru dispozitive cu resurse de calcul extrem de limitate, cum ar fi carduri inteligente, carduri SIM, bancomate. În aceste scopuri, codul octet, cerințele platformei și componentele bibliotecii au fost modificate.

    Aplicație

    Programele scrise în limbajul de programare Java tind să fie mai lente și să ocupe mai multă memorie RAM. O analiză comparativă a limbajelor Java și C a arătat că C este puțin mai productiv. După numeroase modificări și optimizări ale mașinii virtuale Java, aceasta și-a îmbunătățit performanța.

    Folosit activ pentru aplicațiile Android. Programul este compilat în bytecode non-standard și executat pe mașina virtuală ART. Android Studio este folosit pentru compilare. Acest IDE de la Google este cel oficial pentru dezvoltarea Android.

    Microsoft a dezvoltat propria sa implementare a mașinii virtuale Java MSJVM. A avut diferențe care au rupt conceptul fundamental de cross-platform - nu exista suport pentru unele tehnologii și metode, existau extensii non-standard care funcționau doar pe platforma Windows. Microsoft a lansat limbajul J#, a cărui sintaxă și funcționarea generală este foarte asemănătoare cu Java. Nu s-a conformat cu specificația oficială și a fost în cele din urmă eliminat din setul de instrumente standard pentru dezvoltatori Microsoft Visual Studio.

    Limbajul și mediul de programare Java

    Dezvoltarea software-ului se realizează în următoarele IDE-uri:

    1. NetBeans IDE.
    2. Eclipse IDE.
    3. IntelliJ IDEA.
    4. JDeveloper.
    5. Java pentru iOS.
    6. Geany.

    JDK-ul este distribuit de Oracle ca kit de dezvoltare Java. Include un compilator, biblioteci standard, utilitare și un sistem executiv. Mediile moderne de dezvoltare integrate se bazează pe JDK.

    Este convenabil să scrieți cod în limbajul de programare Java în Netbeans și Eclipse IDE. Acestea sunt medii de dezvoltare integrate gratuite, sunt potrivite pentru toate platformele Java. Folosit și pentru programare în Python, PHP, JavaScript, C++.

    IntelliJ IDE de la Jetbrains este distribuit în două versiuni: gratuită și comercială. Suportă scrierea codului în multe limbaje de programare, există pluginuri terțe de la dezvoltatori care implementează și mai multe limbaje.

    JDeveloper este o altă dezvoltare de la Oracle. Complet scris în Java, așa că funcționează pe toate sistemele de operare.

În acest ghid, vom acoperi tot ce trebuie să știți înainte de a începe să studiați. programare in Java. Veți afla despre capacitățile platformei, despre aplicația acesteia și despre cum să începeți să învățați corect Java.

Ce este limbajul de programare Java?

În 1991, „Green Team”, o divizie a Sun Microsystems, condusă de James Gosling, a creat un limbaj pentru programarea dispozitivelor electronice de larg consum. La acea vreme se numea Stejar („Stejar”). De ce "Stejar"? Pur și simplu pentru că acest copac a crescut în afara ferestrei biroului lui Gosling.

Echipa Verde a demonstrat utilizarea stejarului într-un televizor interactiv. Dar pentru televiziunea digitală prin cablu din acei ani, această tehnologie era prea avansată. În același timp, Internetul câștiga popularitate, pentru care noul limbaj de programare era cel mai potrivit.

După ceva timp, noua limbă a fost redenumită Green, iar după aceea - Java, în cinstea cafelei din insula Java. De aceea, logo-ul Java prezintă o cană de cafea.

În timpul dezvoltării Java, C/C++ a fost popular, așa că Gosling a făcut sintaxa limbajului similară cu C/C++ și a implementat " scrie o dată - rulează oriunde" În 1995, Sun Microsystems a lansat prima versiune oficială a Java. Și, în același timp, a fost anunțat că Java va fi inclus în browserul Netscape Navigator.

În 2010, Sun Microsystems, împreună cu limbajul de programare Java, a fost achiziționat de Oracle Corporation.

Istoricul versiunilor Java

  1. Iunie 1991 – începerea proiectului de dezvoltare limbaj de programare Java.
  2. JDK 1.0 – ianuarie 1996.
  3. JDK 1.1 – februarie 1997.
  4. J2SE 1.2 – decembrie 1998.
  5. J2SE 1.3 – mai 2000.
  6. J2SE 1.4 – februarie 2002.
  7. J2SE 5.0 – septembrie 2004.
  8. Java SE 6 - decembrie 2006.
  9. Java SE 7 – iulie 2011.
  10. Java SE 8 – 18 martie 2014.
  11. Java SE 9 – 21 septembrie 2017.

Caracteristicile limbajului de programare Java

Java este un limbaj multiplatform

Cod Java scris pe o singură platformă ( adică sistemul de operare), poate fi rulat fără modificări pe alte platforme.

Java este folosit pentru a rula Java ( Mașină virtuală Java, JVM). JVM-ul procesează codul de octet, după care procesorul procesează codul primit de la JVM. Toate mașinile virtuale funcționează în mod similar, astfel încât același cod rulează la fel pe toate sistemele de operare, ceea ce face din Java un limbaj de programare multiplatformă.

Limbajul de programare orientat pe obiecte

Există diferite stiluri de programare, iar unul dintre cele mai populare este programarea orientată pe obiecte. Cu această abordare, o problemă complexă este împărțită în altele mai mici prin crearea de obiecte. Datorită acestui lucru, codul poate fi reutilizat.

Funcțiile orientate pe obiecte se găsesc în multe limbaje de programare, inclusiv Java, Python și C++. Dacă sunteți serios să învățați să programați, o abordare orientată pe obiect merită încorporată în planul dvs. de învățare.

Java este rapid

Versiuni timpurii limbaj de programare Java a fost adesea criticat pentru că este lent. Dar astăzi situația s-a schimbat dramatic. Noile versiuni ale JVM rulează mult mai repede, iar procesoarele care le interpretează devin din ce în ce mai rapide.

Astăzi, Java este unul dintre cele mai rapide limbaje de programare. Codul Java bine optimizat rulează aproape la fel de repede ca limbajele de programare de nivel scăzut, cum ar fi C/C++ și mult mai rapid decât Python, PHP etc.

Java este o platformă sigură

Java este:

  • o platformă sigură pentru dezvoltarea și lansarea aplicațiilor;
  • oferă instrumente pentru gestionarea automată a memoriei, care reduce vulnerabilitatea codului;
  • asigură transferul securizat de date.

Bibliotecă de bază extinsă

Unul dintre motivele pentru care Java este atât de răspândit este imensa sa bibliotecă standard. Conține sute de clase și metode din diverse pachete care fac viața mai ușoară dezvoltatorilor. De exemplu,

java.lang este funcții avansate pentru șiruri, matrice etc.

java.util – bibliotecă pentru lucrul cu structuri de date, expresii regulate, data și ora etc.

kava.io - bibliotecă pentru introducerea/ieșirea fișierelor, gestionarea excepțiilor etc.

Aplicația platformei Java

Înainte de a învăța Java programare de la zero, trebuie să știți că peste 3 miliarde de dispozitive din întreaga lume funcționează pe această platformă. La ce poate fi folosit mai exact:

  1. Aplicații Android - Pentru a dezvolta aplicații Android, limbajul de programare Java este adesea folosit în combinație cu Android SDK ( din engleză software development kit - kit de dezvoltare software).
  2. Aplicații web - Java este folosit pentru a crea aplicații web folosind programe server, framework Struts și JSP. Unele aplicații web populare scrise în Java sunt: ​​Google.com, Facebook.com, eBay.com, LinkedIn.com.

Este demn de remarcat faptul că aceste site-uri nu sunt neapărat scrise exclusiv în Java și pot folosi și alte limbaje de programare.

  1. Dezvoltare de software– programe precum Eclipse, OpenOffice, Vuze, MATLAB și multe altele sunt scrise în Java.
  2. Procesarea Big Data – pentru a procesa „big data” puteți utiliza cadrul Hadoop scris în Java.
  3. Sisteme de tranzacționare– folosind platforma Platforma de tranzacționare Oracle Extreme Java, puteți scrie programe pentru tranzacționare.
  4. Dispozitive încorporate– astăzi miliarde de dispozitive, cum ar fi televizoare, carduri SIM, playere Blu-ray etc., se bazează pe tehnologia Java Embedded de la Oracle.

De asemenea programare in Java este folosit pentru a dezvolta jocuri, aplicații științifice ( de exemplu, pentru procesarea limbajului natural) și în multe alte domenii.

Terminologie Java pe care ar trebui să o cunoașteți

Java este un set de tehnologii ( limbaj de programare și platformă de calculator), conceput pentru a crea și rula software. Cu toate acestea, termenul Java se referă adesea la limbajul de programare în sine.

Limbaj de programare Java este un limbaj de programare multiplatformă, orientat pe obiecte, de uz general, cu capabilități extinse.

Java 9 este cea mai recentă versiune de Java la momentul scrierii acestui articol.

Java EE, Java Me și Java SE - aceste nume reprezintă Java Enterprise Edition, Micro Edition și, respectiv, Standard Edition.

Java EE este destinat aplicațiilor care rulează pe servere. Java ME este proiectat pentru dispozitive cu putere limitată, cum ar fi dispozitivele încorporate. Java SE este ediția standard a Java pentru scrierea programelor generale.

Dacă ești nou la Programare Java, vă recomandăm să începeți cu Java SE.

JVM - Java Virtual Machine (" mașină virtuală Java") este un program care permite unui computer să ruleze programe scrise în Java.

JRE – Java Runtime Environment (“ Java runtime") include JVM-ul, bibliotecile asociate și alte componente necesare pentru a rula programe. Dar JRE nu are un compilator, un depanator sau alte instrumente de dezvoltare.

JDK – Kit de dezvoltare Java Dezvoltator Java) conține JRE și alte instrumente de dezvoltare, cum ar fi compilatoare, depanare etc.

Cum să rulați Java pe sistemul dvs. de operare

Cum să rulați Java pe Mac OS

Iată ce trebuie să faceți pentru Java programare de la zeroși instalarea platformei pe Mac OS X sau macOS:

  1. Descărcați cea mai recentă versiune de Java ( JDK) cu Pagini de descărcare Java SE.
  2. Faceți dublu clic pe fișierul DMG descărcat și urmați instrucțiunile programului de instalare.
  3. Pentru a verifica instalarea, deschideți un terminal și introduceți următoarea comandă:

versiunea javac

Dacă Java este instalat corect, versiunea programului va fi afișată pe ecran ( de exemplu javac 1.8.0_60).

Următorul pas este să instalați IDE-ul ( mediu de dezvoltare integrat) pentru scrierea și rularea codului Java. Vom instala versiunea gratuită a IntelliJ IDEA și vom rula Java pe ea. Iată ce trebuie să faceți pentru a face acest lucru:

  1. Mergi la Pagina de descărcare a IntelliJși descărcați ediția gratuită pentru comunitate.
  1. Deschideți fișierul DMG descărcat și urmați instrucțiunile de instalare. Pentru acces rapid, puteți muta IntelliJ IDEA în folderul Aplicații.
  2. Deschideți IntelliJ IDEA. Selectați opțiunea „Nu importați setările” (“ Nu importați setările") și faceți clic pe „Ok”. După aceasta, acceptați politica de confidențialitate Jetbrains făcând clic pe butonul „Accept”.
  3. Acum puteți personaliza interfața pentru dvs. De asemenea, puteți sări peste acest pas și să lăsați totul ca implicit. Dacă nu sunteți sigur, săriți peste acest pas făcând clic pe butonul „Omiteți toate și setați valorile implicite” (“ Omite totul și setează setările implicite»).
  1. Programul vă va afișa o pagină de bun venit. Faceți clic pe butonul „Creați un proiect nou” (“ Creați un nou proiect»).
  2. În fereastra următoare, selectați „Java” în panoul din stânga și faceți clic pe „Nou” în partea de sus a ferestrei programului pentru a selecta „JDK”. Aici trebuie să selectați locația în care ați instalat JDK, apoi faceți clic pe Următorul.
  1. Veți avea opțiunea de a crea un proiect dintr-un șablon („Creați proiect din șablon”). Îl ignorăm și facem clic pe butonul „Următorul”.
  2. În următorul pas de instalare limbaj de programare Java introduceți numele proiectului și faceți clic pe butonul „Finish”.
  3. În panoul din stânga veți vedea proiectul dvs. Dacă panoul nu este vizibil, accesați meniu Vizualizări > Instrument Windows > Proiect.
  4. Accesați Salut > Nou > Java și dați un nume clasei. Noi l-am numit Primul.
  1. Pentru a rula programul pe care tocmai l-ați scris, accesați Run > Run... Faceți clic pe First ( adică numele fișierului pe care l-am creat

Cum să rulați Java pe Linux

Pentru a rula exemple din lecții de programare de la zero Java pe Linux va avea nevoie de kitul de dezvoltare JAVA SE ( JDK) și IDE pentru dezvoltarea proiectelor dvs. Urmați instrucțiunile pas cu pas pentru a începe să utilizați Java.

Instalați Java

  1. Deschideți un terminal și tastați următoarea comandă pentru a instala Java:

    sudo add-apt-repository ppa:webupd8team/java sudo apt update; sudo apt install oracle-java8-installer

  1. Acceptați acordul de licență și termenii de utilizare făcând clic pe „OK” și, respectiv, „Da”.
  2. Ai instalat Java. Pentru a verifica dacă instalarea a avut succes, introduceți următoarea comandă într-un terminal:

versiunea java

Dacă este afișată versiunea curentă, instalarea a avut succes. Dacă nu, verificați cu Pagina de ajutor Oracle.

Instalarea IntelliJ IDEA

  1. Mergi la .
  1. Descărcați ediția gratuită pentru comunitate făcând clic pe butonul „Descărcare”.
  2. După descărcare schimba directorul din terminalîn directorul de descărcări și extrageți fișierul tar Java în folderul /opt cu următoarea comandă:

sudo tar xf .tar.gz -C /opt/

  1. După despachetare, schimbați directorul în folderul bin al programului IntelliJ IDEA:

    cd /opt/ /cos

  2. Pentru a porni IDE-ul, introduceți următoarea comandă:
  3. Selectați „Nu importați setările” (“ Nu importați setările") și faceți clic pe „OK”. După aceasta, acceptăm politica de confidențialitate Jetbrains făcând clic pe butonul „Accept”.
  4. Acum pentru trecere cursuri de programare Java, puteți personaliza interfața pentru dvs. Creați o comandă rapidă pe desktop pentru acces rapid la program. După aceea, pentru a lansa IDE-ul, faceți clic pe „Următorul” în toate etapele următoare.
  5. Programul va afișa pagina de bun venit. Faceți clic pe „Creați un nou proiect” (" Creați un nou proiect»).
  6. În fereastra următoare, selectați „Java” în panoul din stânga și asigurați-vă că Java este selectat în linia Project SDK. Dacă nu, atunci selectați locația în care ați instalat JDK: /usr/lib/jvm/java-8-oracle.
  1. Faceți clic pe „Următorul” de două ori și creați un proiect.
  2. În pasul următor, introduceți un nume de proiect și faceți clic pe butonul „Terminare”. Acum, în panoul din stânga, veți vedea proiectul dvs. Dacă acest panou nu este vizibil, mergeți la meniu Vizualizări > Instrument Windows > Proiect.
  3. Adăugați o nouă clasă Java. Selectați src în panoul din stânga cu clic dreapta și accesați Nou > Clasă Java. Furnizați un nume de clasă. Nu ar trebui să existe spații în numele clasei.
  1. Scrieți codul Java și salvați proiectul.
  2. Pentru a rula programul, accesați Run > Run... Faceți clic pe HelloWorld ( Denumirea proiectului) - programul va compila fișierul și îl va rula.

Cum să rulați Java pe Windows (XP, 7, 8 și 10)

Pentru a stăpâni Java bazele programăriiși rulând platforma pe Windows, veți avea nevoie de un kit de dezvoltare JAVA SE (JDK) și de un IDE pentru dezvoltarea proiectelor. Urmați instrucțiunile pas cu pas de mai jos:

Instalarea Java

  • Mergi la pagina de descărcare Kit de dezvoltare Java Standard Edition.
  1. În secțiunea Kit de dezvoltare Java SE din partea de sus a tabelului, faceți clic pe „Acceptați acordul de licență” (" Acceptați acordul de licență"). Apoi faceți clic pe linkul Windows (x64) dacă aveți un sistem de operare pe 64 de biți sau Windows (x86) dacă aveți un sistem de operare pe 32 de biți.
  1. După descărcare, rulați fișierul de instalare și urmați instrucțiunile care apar pe ecran. Faceți clic pe " Următorul" Selectați toate funcțiile apăsând „ Această caracteristică va fi instalată pe hard disk local" și copiați locația de instalare ( este evidentiata cu galben) în Notepad, apoi faceți clic din nou Următorul».
  1. În timpul procesului de instalare, vi se va solicita să instalați JRE. Faceți clic pe „Next” și apoi pe „Finish” pentru a finaliza instalarea.
  2. Acum trebuie să editați variabila PATH. Mergi la Panou de control > Sistem și securitate > Sistem. În panoul din stânga, selectați „ Parametri suplimentari de sistem”.
  1. Faceți clic pe " Variabile de mediu". la capitolul " Variabile de sistem" Găsiți variabila PATH și în fereastra următoare faceți clic pe „Editare”.
  1. Selectați tot textul din „ Valoare variabila"și copiați-l într-un fișier text separat. Acest lucru va facilita editarea și verificarea erorilor. Vedeți dacă textul copiat conține linia: C: ProgramData Oracle Java javapath; . Dacă da, atunci puteți trece la pasul următor. Dacă nu, atunci lipiți locația de instalare pe care ați copiat-o mai devreme la începutul variabilei și adăugați bin la sfârșitul liniei astfel: C : Program Files (x 86) Java jdk 1.8.0_112 bin ; Vă rugăm să rețineți că versiunea dvs. JDK (jdk 1.8.0_112) poate fi diferită. Copiați valoarea variabilei și lipiți-o în caseta PATH.
  1. Faceți clic pe " Bine" pentru a salva modificările.
  2. Pentru a verifica dacă platforma este instalată corect introducere în programare Java, deschis Linie de comanda tastând cmd în bara de căutare Windows sau prin comanda „Run…” ( Windows - R). Introduceți comanda java -version. Dacă este afișată versiunea curentă de Java, instalarea a avut succes. Dacă nu, verificați cu Pagina de ajutor Oracle.

Instalarea IntelliJ IDEA

  1. Mergi la Pagina de descărcare a IntelliJ IDEA.
  2. Descărcați ediția gratuită pentru comunitate făcând clic pe „Descărcați”.
  1. Odată descărcat, rulați fișierul de instalare și urmați instrucțiunile care apar pe ecran. Apoi creați o comandă rapidă pe desktop pentru versiunea pe 64 de biți și adăugați asocieri cu extensia .java. Faceți clic pe „Următorul” și continuați cu instalarea.
  1. Odată instalat, deschideți IntelliJ IDEA făcând clic pe pictograma de pe desktop.
  2. Selectați „Nu importați setările” (“ Nu importați setările") și faceți clic pe „OK”. După aceasta, acceptăm politica de confidențialitate Jetbrains făcând clic pe „Accept”.
  3. Acum puteți personaliza interfața pentru dvs. De asemenea, puteți sări peste acest pas și să lăsați totul ca implicit făcând clic pe butonul „Omiteți toate și setați valorile implicite”.
  4. Programul va afișa pagina de bun venit. Faceți clic pe „Creați un proiect nou” (" Creați un nou proiect»).
  1. În fereastra următoare, selectați „Java” în panoul din stânga și faceți clic pe „Nou” în partea de sus a ferestrei programului pentru a selecta JDK. Aici trebuie să selectați locația în care ați instalat JDK-ul în timpul instalării Java, apoi faceți clic pe „Next”.
  2. IntelliJ IDEA va găsi JDK-ul și îl va recunoaște. Nu este nevoie să marcați alte opțiuni, doar faceți clic pe „Următorul”.
  3. Pe ecranul următor, introduceți numele proiectului: HelloWorld și faceți clic pe Terminare. Dacă programul spune că directorul nu există, faceți clic pe OK. Dacă nu vedeți panoul din stânga, accesați Vizualizări > Instrument Windows > Proiect.
  4. Pentru a seta numele clasei, selectați folderul src din panoul din stânga. Faceți clic dreapta pe el, accesați Nou > Java și setați numele clasei. Nu ar trebui să existe spații în numele clasei.
  1. Scrieți codul și salvați proiectul Java lectie de programare.
  2. Pentru a rula programul, accesați meniul Run > Run... Faceți clic pe HelloWorld - programul va compila fișierul și îl va rula.

Primul tău program Java

Pentru a prezenta utilizatorilor un nou limbaj de programare, aceștia folosesc programul Hello World („Bună ziua, lume!”). Acesta este un program simplu care afișează cuvintele Hello, World! În această secțiune, vă vom învăța cum să scrieți acest program în Java folosind IntelliJ IDEA.

  1. Deschideți IntelliJ IDEA.
  2. Accesați Fișier > Nou > Proiect... > Java ( în bara de navigare din stânga).
  3. Setați numele proiectului de la curs de programare J a va. Îi vom numi Hello World și facem clic pe Terminare.
  4. Acum trebuie să creăm o nouă clasă Java.
  5. Selectați folderul src din panoul din stânga, apoi accesați Fișier > Nou > Clasă Java și denumiți noua clasă HelloWorld.
  6. Copiați următorul cod în fișierul HelloWorld.java și salvați-l.

clasă publică HelloWorld ( public static void main(String args) ( // afișează „Hello, World!” System.out.println(„Hello, World!”); ) )

  1. Faceți clic pe butonul de pornire ( Alerga). Dacă totul este în ordine, veți vedea Hello, World!

Cum să înveți Java?

Documentație oficială Java

Oracle, compania care deține Java, publică tutoriale de calitate. Documentația oficială acoperă toate caracteristicile Java și este actualizată în mod regulat.

Notă: singurul negativ este că documentația oficială Java nu este întotdeauna scrisă în cel mai simplu limbaj.

Dacă chiar vrei să înveți programare in Java, cumpără o carte bună. Desigur, 1000 de pagini nu pot fi citite într-o zi. Dar un tutorial bun te va ajuta să înveți programarea.

Java: Ghidul complet (ediția a 10-a)

O carte grozavă pentru cei care abia încep să învețe Java. Cea mai recentă ediție include toate caracteristicile versiunii Java 8.

Cartea acoperă tot ce trebuie să știți despre programarea Java, inclusiv sintaxa, cuvintele cheie și elementele fundamentale de programare, precum și biblioteca Java API, applet-urile Java și multe altele.

Filosofia Java (ediția a 4-a)

Dacă treceți la Java dintr-un alt limbaj de programare, această carte este pentru dvs. Dacă porniți de la zero, cel mai bine este să îl citiți împreună cu celălalt.

Java 8. Ghid de buzunar: Primul ajutor pentru programatorii Java

Această carte conține răspunsuri clare la întrebările care apar atunci când îl predați pe J programare ava de la zero. Acesta acoperă pe scurt toate conceptele de bază Java (inclusiv Java 9). Nu doriți să răsfoiți sute de pagini căutând linia potrivită? Cumpără această carte.

În loc de o concluzie

Dacă începi să înveți Java, nu poți greși - este un limbaj de programare promițător, plin de o mare varietate de posibilități.

Înainte de a începe să înveți Java, iată câteva sfaturi:

  • Nu citi articole educaționale și exemple ca un roman. Singura modalitate de a deveni un programator bun este să scrieți mult cod.
  • Dacă veniți dintr-un alt limbaj de programare (să zicem, C#), nu trebuie să scrieți cod în stilul C#.
  • Găsiți comunități Java online. Odată ce ați învățat cum să scrieți programe simple în Java, găsiți site-uri și forumuri populare dedicate Java. Încercați să rezolvați problemele pe care le au alți programatori. Aceasta este o modalitate excelentă de a vă extinde propriile cunoștințe. În plus, dacă rămâi blocat, vei ști unde să ceri ajutor.

Sperăm că acest articol vă va încuraja să învățați Java și să vă ajute să începeți să lucrați la primele programe.

Această publicație este o traducere a articolului „ Învață programarea Java. Ghidul definitiv„, pregătit de echipa prietenoasă de proiect

Cele mai bune articole pe această temă