Java este un limbaj de programare orientat pe obiecte, bazat pe clase. Limbajul este conceput pentru a avea cât mai puține implementări de dependențe. Intenția utilizării acestui limbaj este de a ajuta dezvoltatorii să scrie coduri pentru fiecare platformă. Termenul WORA, scrie o dată și rulează peste tot este adesea asociat cu acest limbaj. Înseamnă că ori de câte ori compilam un cod Java, obținem codul octet (fișier .class) și acesta poate fi executat (fără a-l compila din nou) pe diferite platforme, cu condiția să accepte Java. În anul 1995, a fost dezvoltat limbajul Java. Este folosit în principal pentru a dezvolta dispozitive web, desktop și mobile. Limbajul Java este cunoscut pentru caracteristicile sale de robustețe, securitate și simplitate. Acesta este conceput pentru a avea cât mai puține dependențe de implementare.
Istorie
Limbajul Java are o istorie foarte interesantă. Patrick Naughton, Mike Sheridan și Jame Gosling, cunoscut sub numele de echipa Green, au început dezvoltarea Java în anul 1991. Acești oameni au fost inginerii de la Microsisteme solare . În 1996, prima implementare publică a fost lansată ca Java 1.0. Compilatorul Java 1.0 a fost rescris de Arthur Van Hoff pentru a se conforma strict cu specificațiile sale. Odată cu introducerea Java 2, noile versiuni au mai multe configurații diferite care au fost construite pentru diferitele platforme. Este demn de remarcat faptul că James Gosling este cunoscut și ca tatăl Java.
Organismul standard ISO a fost abordat de Sun Microsystems în anul 1997 pentru a oficializa Java, dar procesul a fost retras în curând. La un moment dat, Sun Microsystems a oferit cea mai mare parte a implementării Java disponibile fără nici un cost, în ciuda faptului că avea statutul de software proprietar.
Programe de aplicație
Implementarea unui program de aplicație în aplicația Java include următorii pași.
- Crearea programului (scrierea codului)
- Compilarea programului.
- Executarea codului compilat.
Este demn de remarcat aici că JDK (Java Development Kit) ar trebui să fie instalat corespunzător pe sistem, iar calea ar trebui, de asemenea, setată.
Crearea programului
Programul Java poate fi scris folosind un editor de text (Notepad++ sau NotePad sau alți editori vor face, de asemenea, treaba.) sau IDE (Eclipse, NetBeans, etc.).
Nume de fișier: TestClass.java
java arraylist sortată
public class TestClass { // main method public static void main(String []args) { // print statement System.out.println('Hello World is my first Java Program.'); } }
Scrieți codul de mai sus și salvați fișierul cu numele TestClass. Fișierul ar trebui să aibă .java extensie.
Compilarea programului
Deschideți promptul de comandă și tastați javac TestClass.java . javac este comanda care face ca compilatorul Java să intre în acțiune pentru a compila programul Java. După comandă, trebuie să punem numele fișierului care trebuie compilat. În cazul nostru, așa este TestClass.java . După ce ați tastat, apăsați butonul Enter. Dacă totul merge bine, va fi generat un fișier TestClass.class care conține codul octet. Dacă există o eroare în program, compilatorul o va indica și TestClass.class nu va fi creat.
Rularea/Executarea programului
După ce este creat fișierul .class, tastați java TestClass pentru a rula programul. Ieșirea programului va fi afișată pe consolă, care este menționată mai jos.
Ieșire:
Hello World is my first Java Program.
Numele Java
Inițial, numele de stejar a fost dat limbii. Cu toate acestea, echipa a decis că ar trebui să i se dea un nou nume limbii și au fost sugerate cuvinte precum, ADN, revoluționar, Jolt, Dynamic, Silk etc. Toate aceste nume erau distractive de spus și ușor de scris. Dar ceea ce lipsea era esența limbajului din denumirile sugerate, pe care echipa dorea să le aibă. Conform lui James Gosling, Java și Silk au fost două dintre cele mai populare opțiuni și, deoarece Java avea un nume unic, majoritatea oamenilor l-au preferat.
Java este, de asemenea, numele unei insule din Indonezia unde a fost produsă cafea (numită Java Coffee). Numele Java a fost ales de James Gosling pentru că bea o cafea lângă biroul său. Cititorii ar trebui să rețină că Java nu este un acronim. Este doar un nume.
Terminologiile în Java
JVM (mașină virtuală Java): JVM este specificația care facilitează mediul de rulare în care are loc execuția bytecode Java. Ori de câte ori cineva folosește comanda java, este creată o instanță a JVM-ului . JVM facilitează definirea zonei de memorie, a setului de registre, a formatului de fișier de clasă și a raportării erorilor fatale. Rețineți că JVM-ul depinde de platformă.
Cod octet: S-a discutat deja în partea introductivă că compilatorul Java compilează codul Java pentru a genera fișierul .class sau codul octet. Unul trebuie să folosească javac comandă pentru a invoca compilatorul Java.
Kit de dezvoltare Java (JDK): Este kitul complet de dezvoltare Java care cuprinde totul, inclusiv JRE (Java Runtime Environment), compilator, documente java, depanatoare etc. JDK trebuie instalat pe computer pentru crearea, compilarea și executarea unui program Java.
Java Runtime Environment (JRE): JRE face parte din JDK. Dacă un sistem are instalat doar JRE, atunci utilizatorul poate rula doar programul. Cu alte cuvinte, doar java comanda funcționează. Compilarea unui program Java nu va fi posibilă ( javac comanda nu va funcționa).
Colector de gunoi: Programatorii nu pot șterge obiecte în Java. Pentru a face acest lucru, JVM are un program cunoscut sub numele de Garbage Collector. Garbage Collectors rememorează sau șterg obiectele nereferite. Garbage Collector ușurează viața unui dezvoltator/programator, deoarece nu trebuie să-și facă griji cu privire la gestionarea memoriei.
Calea clasei: După cum sugerează și numele, classpath este calea în care compilatorul Java și runtime Java caută fișierul .class pentru a încărca. Multe biblioteci încorporate sunt furnizate de JDK. Cu toate acestea, dacă cineva dorește să folosească bibliotecile externe, acestea ar trebui adăugate la calea clasei.
Caracteristici esențiale ale Java
Platforma independenta: În loc să genereze direct fișierul .exe, compilatorul Java convertește codul Java în cod octet, iar acest cod octet poate fi executat pe diferite platforme fără nicio problemă, ceea ce face din Java un limbaj independent de platformă. Rețineți că pentru a executa codul de octet, JVM trebuie să fie instalat pe sistem, care depinde de platformă.
Limbajul de programare orientat pe obiecte: Conceptul de programare orientată pe obiecte se bazează pe conceptul de obiecte și clase. De asemenea, există mai multe calități care sunt prezente în programarea orientată pe obiecte. Câteva dintre ele sunt menționate mai jos.
- Abstracția
- Moştenire
- Polimorfismul
- Încapsulare
Limbajul Java folosește, de asemenea, pe scară largă conceptele de clase și obiecte. De asemenea, toate aceste caracteristici menționate mai sus sunt acolo în Java, ceea ce face din Java un limbaj de programare orientat pe obiecte. Rețineți că Java este un limbaj de programare orientat pe obiecte, dar nu 100% orientat pe obiecte.
Simplu: Java este considerat un limbaj simplu deoarece nu are conceptul de pointeri, moșteniri multiple, alocare explicită de memorie sau supraîncărcare a operatorilor.
Robust:
Limbajul Java este foarte robust. Sensul robust este de încredere. Limbajul Java este dezvoltat în așa fel încât o mulțime de verificare a erorilor se face cât mai devreme posibil. Din acest motiv, acest limbaj poate identifica acele erori greu de identificat în alte limbaje de programare. Gestionarea excepțiilor, colectarea deșeurilor și alocarea memoriei sunt caracteristicile care fac Java robust.
Sigur: Există mai multe erori, cum ar fi depășirea tamponului sau corupția stivei, care nu sunt posibile de exploatat în limbajul Java. Știm că limbajul Java nu are pointeri. Prin urmare, nu este posibil să aveți acces la matrice out-of-bound. Dacă cineva încearcă să facă acest lucru, este ridicată excepția ArrayIndexOutofBound. De asemenea, execuția programelor Java are loc într-un mediu complet independent de Sistemul de Operare, ceea ce face acest limbaj și mai sigur.
Distribuit: Aplicațiile distribuite pot fi create cu ajutorul limbajului Java. Enterprise Java beans și Remote Method Invocation sunt folosite pentru a crea aplicații distribuite. Distribuția programelor Java se poate face cu ușurință între unul sau mai multe sisteme care sunt conectate între ele folosind internetul.
Multithreading: Limbajul Java acceptă multithreading. Caracteristica multithreading acceptă execuția a două sau mai multe părți ale programului simultan. Astfel, utilizarea procesorului este maximizată.
Portabilitate: Știm că Java este un limbaj independent de platformă. Astfel, codul octet generat pe un sistem poate fi preluat pe orice altă platformă pentru execuție, ceea ce face ca Java să fie portabil.
Performanță la nivel înalt: Arhitectura Java este creată în așa fel încât să reducă timpul de rulare. În unele locuri, Java folosește compilatorul JIT (Just In Time) atunci când codul este compilat pe bază de cerere, în care compilatorul compilează doar acele metode care sunt invocate și, astfel, face execuția mai rapidă a aplicațiilor.
Flexibilitate dinamică: Limbajul Java urmează paradigma de programare orientată pe obiecte, care ne oferă libertatea de a adăuga noi metode și clase la clasele existente. Limbajul Java acceptă și funcțiile menționate în limbajele C/C++ și care sunt denumite în general metode native.
Execuție SandBox: Este un fapt cunoscut că programele Java sunt executate în medii diferite, ceea ce oferă utilizatorilor libertatea de a-și executa propriile aplicații fără a afecta sistemul de bază folosind verificatorul bytecode. Verificatorul Bytecode oferă, de asemenea, un plus de securitate, deoarece verifică codul pentru încălcarea accesului.
Scrieți o dată rulat oriunde: Codul Java este compilat de compilator pentru a obține fișierul .class sau codul octet, care este complet independent de orice arhitectură a mașinii.
Limbaj compilat și interpretat: Majoritatea limbilor sunt fie limbaj interpretat, fie limbaj compilat. Cu toate acestea, în cazul limbajului Java, acesta este compilat la fel ca și limbajul interpretat. Codul Java este compilat pentru a obține bytecode, iar bytecode este interpretat de interpretul bazat pe software.
Câteva programe pe Java
Câteva programe Java de bază sunt menționate mai jos.
Program - 1
Nume de fișier: DemoClass.java
// Importing different classes import java.io.*; // Main class public class DemoClass { // main method public static void main(String argvs[]) { System.out.println('Welcome to javaTpoint.'); } }
Ieșire:
Welcome to javaTpoint.
Program - 2
Nume de fișier: AdaugăMul.java
// Computing the sum and product of the two numbers public class AddMul { // main method public static void main(String argvs[]) { int a1; int a2; int add = 0; int prod = 0; a1 = 12; a2 = 14; add = a1 + a2; // addition prod = a1 * a2; // multiplication System.out.println('Sum = ' + add); System.out.println('Product = ' + prod); } }
Ieșire:
Sum = 26 Product = 168
Program - 3
Nume de fișier: ComputeAv.java
// A Java program to allow the user to input two numbers from the user and compute its average. import java.util.*; public class ComputeAv { // main method public static void main(String argvs[]) { double a1; double b1; double sum1 = 0; double avg1 = 0; Scanner scnr = new Scanner(System.in); System.out.println('Input the First Number: '); a1 = scnr.nextDouble(); System.out.println('Input the Second Number: '); b1 = scnr.nextDouble(); sum1 = a1 + b1; // computing the sum avg1 = sum1 / 2; // computing the average System.out.println('Average = ' + avg1); } }
Ieșire:
Input the First Number: 4 Input the Second Number: 5 Average = 4.5
Program - 4
testarea de compatibilitate
Nume de fișier: FahrenheitCelsius.java
// A Java program that converts Celsius to Fahrenheit using formula // Fahrenheit = ((Celsius / 5) x 9 ) + 32 // import statement for taking input import java.util.Scanner; public class FahrenheitCelsius { // main method public static void main(String argvs[]) { double cel, far; Scanner scnr = new Scanner(System.in); System.out.println('Input the temperature in Celsius: '); cel = scnr.nextDouble(); far = ((cel / 5.0) * 9.0) + 32; System.out.println('Temperature in Fahrenheit is: ' + far); } }
Ieșire:
Input the temperature in Celsius: 15 Temperature in Fahrenheit is: 59.0
Program - 5
Nume de fișier: TriangleArea.java
// A Java program for computing the triangle's area using its three sides // using heron's formula. import java.util.Scanner; public class TriangleArea { // main method public static void main(String[] argvs) { int s1, s2, s3; double halfPeri, ar; Scanner scnr = new Scanner(System.in); System.out.print('Enter the value of triangle's three sides:'); // taking user inputs s1 = scnr.nextInt(); s2 = scnr.nextInt(); s3 = scnr.nextInt(); // computing half perimeter halfPeri = (s1 + s2 + s3) / 2; // computing area of the triangle ar = Math.sqrt(halfPeri * (halfPeri - s1) * (halfPeri - s2) * (halfPeri - s3)); System.err.println('Triangles Area: ' + ar); } }
Ieșire:
Enter the value of triangle's three sides: 15 16 17 Triangles Area: 109.98181667894016
Descrierea diferitelor cuvinte cheie utilizate în programele de mai sus
//: Este folosit pentru a introduce comentarii în cod pentru a-l face mai lizibil pentru cititori. Compilatorul ignoră complet comentariile în timpul compilării programului. Pentru comentarii pe mai multe linii, folosim: /* … */
metoda main(): Cea mai importantă metodă a programului în care începe execuția. Prin urmare, toată logica trebuie să se afle în metoda principală. Dacă metoda main() nu conține logica, atunci aceasta va fi acolo într-o altă metodă, dar acea metodă trebuie invocată din metoda main() direct sau indirect.
clasă: Cuvântul cheie class este folosit pentru declararea clasei în limbajul Java.
nul: înseamnă că funcția sau metoda nu va returna nimic.
System.out.println(): Este folosit pentru a tipări declarații, modele etc., pe consolă.
String argvs[]: Este un argument de linie de comandă care este folosit pentru preluarea intrării.
public: Este un cuvânt cheie pentru specificarea accesului. Când este aplicată unei metode, atunci acea metodă este vizibilă pentru toți. Alte cuvinte cheie pentru specificatorii de acces sunt private, protected și implicite.
import java.io.*: Înseamnă că toate clasele sunt prezente în pachet java.io este importat. Pachetul java.io facilitează fluxurile de ieșire și de intrare pentru scrierea și citirea datelor în fișiere. * înseamnă tot. Dacă doriți să importați doar o anumită clasă, atunci înlocuiți * cu numele clasei.
System.in: Este fluxul de intrare care este utilizat pentru citirea caracterelor de pe dispozitivul de introducere, care este de obicei o tastatură în cazul nostru.
static void main(): Cuvântul cheie static spune că metoda poate fi accesată fără a face instanțierea clasei.
System.out: Deoarece System.in este folosit pentru citirea caracterelor, System.out este folosit pentru a oferi rezultatul programului pe un dispozitiv de ieșire, cum ar fi ecranul computerului.
dublu, int: Diferitele tipuri de date, int pentru numerele întregi, double pentru double. Alte tipuri de date sunt char, boolean, float etc.
println(): Metoda arată textele pe consolă. Metoda imprimă textul pe ecran și apoi trece la linia următoare. Pentru linia următoare, se folosește ln. Dacă nu dorim ca cursorul să treacă la următoarea linie, folosiți metoda print().