Java è un linguaggio di programmazione orientato agli oggetti e basato su classi. Il linguaggio è progettato per avere il minor numero possibile di implementazioni di dipendenze. L'intenzione di utilizzare questo linguaggio è di dare sollievo agli sviluppatori dalla scrittura di codici per ogni piattaforma. Il termine WORA, scrivi una volta e corri ovunque è spesso associato a questa lingua. Significa che ogni volta che compiliamo un codice Java, otteniamo il codice byte (file .class) e questo può essere eseguito (senza compilarlo nuovamente) su piattaforme diverse a condizione che supportino Java. Nel 1995 è stato sviluppato il linguaggio Java. Viene utilizzato principalmente per sviluppare dispositivi web, desktop e mobili. Il linguaggio Java è noto per le sue caratteristiche di robustezza, sicurezza e semplicità. Questo è progettato per avere il minor numero possibile di dipendenze di implementazione.
Storia
Il linguaggio Java ha una storia molto interessante. Patrick Naughton, Mike Sheridan e Jame Gosling, conosciuti come il team Green, iniziarono lo sviluppo di Java nel 1991. Queste persone erano gli ingegneri di Microsistemi solari . Nel 1996, la prima implementazione pubblica fu rilasciata come Java 1.0. Il compilatore di Java 1.0 è stato riscritto da Arthur Van Hoff per conformarsi rigorosamente alle sue specifiche. Con l'introduzione di Java 2, le nuove versioni presentano molteplici configurazioni diverse create per le varie piattaforme. Vale la pena notare che James Gosling è anche conosciuto come il padre di Java.
Sun Microsystems si è rivolto all'organismo di standardizzazione ISO nel 1997 per formalizzare Java, ma il processo è stato presto ritirato. Ad un certo punto, Sun Microsystems ha reso disponibile la maggior parte della sua implementazione di Java senza alcun costo, nonostante avesse lo status di software proprietario.
Programmi applicativi
L'implementazione di un programma applicativo nell'applicazione Java comprende i seguenti passaggi.
- La creazione del programma (scrittura del codice)
- La compilazione del programma.
- Esecuzione del codice compilato.
Vale la pena notare qui che JDK (Java Development Kit) deve essere installato correttamente sul sistema e anche il percorso deve essere impostato.
Il programma Creazione
Il programma Java può essere scritto utilizzando un editor di testo (Notepad++ o NotePad o anche altri editor faranno il lavoro) o IDE (Eclipse, NetBeans, ecc.).
Nome del file: TestClass.java
public class TestClass { // main method public static void main(String []args) { // print statement System.out.println('Hello World is my first Java Program.'); } }
Scrivi il codice sopra e salva il file con il nome TestClass. Il file dovrebbe avere l'estensione .Giava estensione.
La compilazione del programma
Apri il prompt dei comandi e digita javac TestClass.java . javac è il comando che fa entrare in azione il compilatore Java per compilare il programma Java. Dopo il comando dobbiamo inserire il nome del file da compilare. Nel nostro caso, lo è TestClass.java . Dopo aver digitato, premere il pulsante Invio. Se tutto va bene, verrà generato un file TestClass.class che contiene il bytecode. Se c'è qualche errore nel programma, il compilatore lo indicherà e TestClass.class non verrà creato.
Esecuzione/esecuzione del programma
ottenere la connessione
Dopo aver creato il file .class, digitare Java TestClass per eseguire il programma. L'output del programma verrà mostrato sulla console, menzionata di seguito.
Produzione:
Hello World is my first Java Program.
Il nome Giava
Inizialmente, alla lingua fu dato il nome quercia. Tuttavia, il team ha deciso di dare un nuovo nome alla lingua e sono state suggerite parole come DNA, rivoluzionario, Jolt, Dynamic, Silk, ecc. Tutti questi nomi erano divertenti da dire e facili da pronunciare. Ma ciò che mancava era l'essenza del linguaggio nei nomi suggeriti, che il team voleva avere. Secondo James Gosling, Java e Silk erano due delle opzioni più popolari e, poiché Java aveva un nome univoco, la maggior parte delle persone lo preferiva.
Java è anche il nome di un'isola dell'Indonesia dove veniva prodotto il caffè (chiamato Java Coffee). Il nome Java è stato scelto da James Gosling perché stava prendendo un caffè vicino al suo ufficio. I lettori dovrebbero notare che Java non è un acronimo. È solo un nome.
Le terminologie in Java
JVM (macchina virtuale Java): JVM è la specifica che facilita l'ambiente runtime in cui avviene l'esecuzione del bytecode Java. Ogni volta che si utilizza il comando Giava, viene creata un'istanza della JVM . JVM facilita la definizione dell'area di memoria, del set di registri, del formato del file di classe e della segnalazione di errori fatali. Tieni presente che la JVM dipende dalla piattaforma.
Codice byte: È già stato discusso nella parte introduttiva che il compilatore Java compila il codice Java per generare il file .class o il codice byte. Bisogna usare il javac comando per richiamare il compilatore Java.
Kit di sviluppo Java (JDK): È il kit di sviluppo Java completo che comprende tutto, incluso JRE (Java Runtime Environment), compilatore, documenti Java, debugger, ecc. JDK deve essere installato sul computer per la creazione, compilazione ed esecuzione di un programma Java.
Ambiente runtime Java (JRE): JRE fa parte del JDK. Se su un sistema è installato solo JRE, l'utente può solo eseguire il programma. In altre parole, solo il Giava il comando funziona. Non sarà possibile la compilazione di un programma Java (il javac il comando non funzionerà).
Netturbino: I programmatori non sono in grado di eliminare oggetti in Java. Per fare ciò, JVM dispone di un programma noto come Garbage Collector. I Garbage Collector raccolgono o eliminano oggetti senza riferimenti. Garbage Collector semplifica la vita di uno sviluppatore/programmatore poiché non deve preoccuparsi della gestione della memoria.
Percorso di classe: Come suggerisce il nome, classpath è il percorso in cui il compilatore Java e il runtime Java cercano il file .class da caricare. Molte librerie integrate sono fornite da JDK. Tuttavia, se qualcuno desidera utilizzare le librerie esterne, dovrebbe aggiungerle al classpath.
Caratteristiche salienti di Java
Piattaforma indipendente: Invece di generare direttamente il file .exe, il compilatore Java converte il codice Java in codice byte e questo codice byte può essere eseguito su piattaforme diverse senza alcun problema, il che rende Java un linguaggio indipendente dalla piattaforma. Tieni presente che per eseguire il codice byte, la JVM deve essere installata sul sistema, che dipende dalla piattaforma.
Linguaggio di programmazione orientato agli oggetti: Il concetto di programmazione orientata agli oggetti si basa sul concetto di oggetti e classi. Inoltre, ci sono diverse qualità presenti nella programmazione orientata agli oggetti. Alcuni di essi sono menzionati di seguito.
- Astrazione
- Eredità
- Polimorfismo
- Incapsulamento
Anche il linguaggio Java utilizza ampiamente i concetti di classi e oggetti. Inoltre, tutte queste funzionalità sopra menzionate sono presenti in Java, il che rende Java un linguaggio di programmazione orientato agli oggetti. Tieni presente che Java è un linguaggio di programmazione orientato agli oggetti ma non orientato agli oggetti al 100%.
Semplice: Java è considerato un linguaggio semplice perché non prevede il concetto di puntatori, eredità multiple, allocazione esplicita di memoria o sovraccarico degli operatori.
Robusto:
Il linguaggio Java è molto robusto. Il significato di robusto è affidabile. Il linguaggio Java è sviluppato in modo tale che gran parte del controllo degli errori venga effettuato il prima possibile. È per questo motivo che questo linguaggio può identificare quegli errori che sono difficili da identificare in altri linguaggi di programmazione. La gestione delle eccezioni, le raccolte dei rifiuti e l'allocazione della memoria sono le funzionalità che rendono Java robusto.
Sicuro: Esistono diversi errori come overflow del buffer o danneggiamento dello stack che non è possibile sfruttare nel linguaggio Java. Sappiamo che il linguaggio Java non ha puntatori. Pertanto non è possibile avere accesso ad array fuori limite. Se qualcuno tenta di farlo, viene sollevata l'eccezione ArrayIndexOutofBound. Inoltre, l'esecuzione dei programmi Java avviene in un ambiente completamente indipendente dal sistema operativo, il che rende questo linguaggio ancora più sicuro.
Distribuito: Le applicazioni distribuite possono essere create con l'aiuto del linguaggio Java. I bean Java aziendali e l'invocazione di metodi remoti vengono utilizzati per creare applicazioni distribuite. La distribuzione dei programmi Java può avvenire facilmente tra uno o più sistemi collegati tra loro tramite Internet.
Multithreading: Il linguaggio Java supporta il multithreading. La funzionalità multithreading supporta l'esecuzione di due o più parti del programma contemporaneamente. Pertanto, l'utilizzo della CPU è massimizzato.
Portabilità: Sappiamo che Java è un linguaggio indipendente dalla piattaforma. Pertanto, il codice byte generato su un sistema può essere preso su qualsiasi altra piattaforma per l'esecuzione, il che rende Java portabile.
Prestazioni di alto livello: L'architettura di Java è creata in modo tale da ridurre il sovraccarico di runtime. In alcuni luoghi, Java utilizza il compilatore JIT (Just In Time) quando il codice viene compilato su richiesta, dove il compilatore compila solo i metodi che vengono invocati e quindi rende più rapida l'esecuzione delle applicazioni.
Flessibilità dinamica: Il linguaggio Java segue il paradigma di programmazione orientato agli oggetti, che ci dà la libertà di aggiungere nuovi metodi e classi alle classi esistenti. Il linguaggio Java supporta anche le funzioni menzionate nei linguaggi C/C++ e che vengono generalmente chiamate metodi nativi.
Esecuzione SandBox: È un fatto noto che i programmi Java vengono eseguiti in ambienti diversi, il che dà la libertà agli utenti di eseguire le proprie applicazioni senza influire sul sistema sottostante utilizzando il verificatore del bytecode. Il verificatore Bytecode offre inoltre una maggiore sicurezza poiché controlla il codice per la violazione dell'accesso.
Scrivi una volta e corri ovunque: Il codice Java viene compilato dal compilatore per ottenere il file .class o il bytecode, che è completamente indipendente da qualsiasi architettura della macchina.
Linguaggio compilato e interpretato: La maggior parte delle lingue sono lingue interpretate o lingue compilate. Tuttavia, nel caso del linguaggio Java, questo viene compilato così come il linguaggio interpretato. Il codice Java viene compilato per ottenere il bytecode e il bytecode viene interpretato dall'interprete basato su software.
Alcuni programmi su Java
Di seguito sono menzionati alcuni programmi Java di base.
Programma - 1
Nome del file: 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.'); } }
Produzione:
Welcome to javaTpoint.
Programma - 2
nome della città degli Stati Uniti
Nome del file: AggiungiMul.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); } }
Produzione:
Sum = 26 Product = 168
Programma - 3
Nome del file: 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); } }
Produzione:
Input the First Number: 4 Input the Second Number: 5 Average = 4.5
Programma - 4
Nome del file: 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); } }
Produzione:
Input the temperature in Celsius: 15 Temperature in Fahrenheit is: 59.0
Programma - 5
Nome del file: 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); } }
Produzione:
if e altro in bash
Enter the value of triangle's three sides: 15 16 17 Triangles Area: 109.98181667894016
Descrizione di varie parole chiave utilizzate nei programmi di cui sopra
//: Viene utilizzato per inserire commenti nel codice per renderlo più leggibile per i lettori. Il compilatore ignora completamente i commenti durante la compilazione del programma. Per commenti su più righe, utilizziamo: /* … */
metodo principale(): Il metodo più importante del programma da cui inizia l'esecuzione. Pertanto, tutta la logica deve risiedere nel metodo principale. Se il metodo main() non contiene la logica, allora sarà presente in qualche altro metodo, ma quel metodo deve essere invocato dal metodo main() direttamente o indirettamente.
classe: La parola chiave class viene utilizzata per dichiarare la classe nel linguaggio Java.
vuoto: significa che la funzione o il metodo non restituirà nulla.
System.out.println(): Viene utilizzato per stampare istruzioni, modelli, ecc. sulla console.
Argomenti stringa[]: È un argomento della riga di comando utilizzato per ricevere input.
pubblico: È una parola chiave specificatrice di accesso. Quando viene applicato a un metodo, quel metodo è visibile a tutti. Altre parole chiave per lo specificatore di accesso sono private, protected e default.
import java.io.*: Significa che tutte le classi presenti nel pacchetto java.io è importato. Il pacchetto java.io facilita i flussi di output e input per la scrittura e la lettura dei dati sui file. * significa tutto. Se si vuole importare solo una classe specifica, sostituire * con il nome della classe.
Sistema.in: È il flusso di input che viene utilizzato per leggere i caratteri dal dispositivo che fornisce l'input, che nel nostro caso di solito è una tastiera.
vuoto statico main(): La parola chiave static indica che è possibile accedere al metodo senza eseguire l'istanziazione della classe.
Uscita sistema: Poiché System.in viene utilizzato per leggere i caratteri, System.out viene utilizzato per fornire il risultato del programma su un dispositivo di output come lo schermo del computer.
doppio, interno: I diversi tipi di dati, int per gli interi, double per double. Altri tipi di dati sono char, boolean, float, ecc.
stampaln(): Il metodo mostra i testi sulla console. Il metodo stampa il testo sullo schermo e poi passa alla riga successiva. Per la riga successiva viene utilizzato ln. Se non vogliamo che il cursore si sposti sulla riga successiva, utilizziamo il metodo print().