Ricerca nel sito web

Come funziona Java e comprensione della struttura del codice Java - Parte 2


Nel nostro ultimo post "Cos'è Java e storia di Java" abbiamo trattato Cos'è Java, le caratteristiche di Java in dettaglio, la cronologia delle versioni e la sua denominazione, nonché i luoghi in cui viene utilizzato Java.

Qui in questo post esamineremo il funzionamento e la struttura del codice del linguaggio di programmazione Java. Prima di procedere, lascia che ti ricordi che Java è stato sviluppato tenendo presente che "Write Once Run Anywhere/Anytime (WORA)" significa garantire che l'applicazione sviluppata sia architettonicamente neutra, indipendente dalla piattaforma e portabile.

Funzionamento di Java

Avendo in mente questi obiettivi, Java è stato sviluppato con il modello di lavoro riportato di seguito che può essere classificato in quattro fasi.

Fase 1

Scrivi il file sorgente. Questo file contiene tutta la procedura, il metodo, la classe e gli oggetti all'interno del protocollo stabilito per il linguaggio di programmazione Java. Il nome del file sorgente dovrebbe essere il nome della classe o viceversa. Il nome del file sorgente deve avere l'estensione .java. Anche il nome del file e il nome della classe fanno distinzione tra maiuscole e minuscole.

Fase 2

Eseguire il file del codice sorgente Java tramite Java Compiler. Il compilatore del codice sorgente Java verifica la presenza di errori e sintassi nel file sorgente. Non ti consentirà di compilare il tuo codice sorgente senza soddisfare il compilatore Java correggendo tutti gli errori e gli avvisi.

Fase 3

Il compilatore crea il file di classe. Questi file di classe ereditano lo stesso nome del file del codice sorgente, ma l'estensione varia. Il nome del file sorgente ha estensione 'filename.java', dove l'estensione del classfile creato dal compilatore è 'filename.class'. Questo file di classe è codificato in bytecode: i bytecode sono come per magia.

Fase 4

Questo file di classe creato da Java Compiler è portabile e architettonicamente neutro. È possibile trasferire questo file di classe per l'esecuzione su qualsiasi architettura di processore e piattaforma/dispositivo. Tutto ciò di cui hai bisogno è una Java Virtual Machine (JVM) per eseguire questo codice, non importa dove.

Ora comprendi le quattro fasi precedenti utilizzando un esempio. Ecco un piccolo esempio di codice del programma Java. Non preoccuparti se non capisci il codice seguente. Per ora basta capire come funziona.

public class MyFirstProgram
{
    public static void main(String[] args)
    {
        System.out.println("Hello Tecmint, This is my first Java Program");
    }
}

1. Ho scritto questo programma e definito il nome della classe MyFirstProgram. È importante notare che questo programma deve essere salvato come 'MyFirstProgram.java'.

Ricorda la fase 1 sopra: il nome della classe e il nome del file devono essere gli stessi e il nome del file deve avere l'estensione .java. Inoltre Java fa distinzione tra maiuscole e minuscole, quindi se il nome della tua classe è "MyFirstProgram", il nome del file sorgente deve essere "MyFirstProgram.java".

Non puoi chiamarlo "Myfirstprogram.java" o "myfirstprogram.java" o qualsiasi altra cosa. Per convenzione è una buona idea dare un nome alla classe in base a ciò che il programma sta effettivamente facendo.

2. Per compilare questo file sorgente Java, è necessario passarlo attraverso il compilatore Java. Il compilatore Java controllerà essenzialmente il codice sorgente per eventuali errori e avvisi. Non compilerà il codice sorgente finché tutti i problemi non saranno risolti. Per compilare il codice sorgente Java, è necessario eseguire:

javac MyFirstProgram.java

Dove MyFirstProgram.java è il nome del file sorgente.

3. Una volta compilata con successo noterai che il compilatore Java ha creato un nuovo file nella stessa directory il cui nome è MyFirstProgram.class.

Questo file di classe è codificato in bytecode e può essere eseguito su qualsiasi piattaforma, qualsiasi architettura di processore un numero qualsiasi di volte. Puoi eseguire il file di classe all'interno di JVM (Java Virtual Machine) su Linux o qualsiasi altra piattaforma semplicemente come:

java MyFirstProgram

Quindi tutto ciò che hai imparato sopra può essere riassunto come:

Java Source Code >> Compiler >> classfile/bytecode >> Various devices running JVM 

Comprendere la struttura del codice in Java

1. Il file del codice sorgente Java deve contenere una definizione di classe. Un file sorgente Java può contenere solo una classe pubblica/classe di livello superiore, tuttavia può contenere molte classi private/classi interne.

La classe esterna/classe superiore/classe pubblica può accedere a tutta la classe privata/classe interna. La classe deve essere racchiusa tra parentesi graffe. Tutto in Java è un oggetto e la classe è un progetto per l'oggetto.

Una demo della classe pubblica/privata in Java:

public class class0
{
...
	private class1
	{
	…
	}

	private class 2
	{
	…
	}
...
}

2. La classe contiene uno o più metodi. Il metodo deve essere racchiuso tra le parentesi graffe della classe. Un esempio fittizio è:

public class class0
{
	public static void main(String[] args)
	{
	…..
	…..
	}
}

3. Un metodo contiene una o più affermazioni/istruzioni. Le istruzioni devono essere racchiuse tra parentesi graffe di metodo. Un esempio fittizio è:

public class class0
{
	public static void main(String[] args)
	{
	System.out.println("Hello Tecmint, This is my first Java Program");
	System.out.println("I am Loving Java");
	…
	...
	}
}

È anche importante menzionare a questo punto: ogni istruzione deve terminare con il punto e virgola. Un esempio fittizio è:

System.out.println("Hello Tecmint, This is my first Java Program");
...
...
System.out.println("I am Loving Java");

Scrivere il tuo primo programma Java con descrizione dettagliata. La descrizione viene inserita qui come commento (// significa commentata) in questo esempio. Dovresti scrivere commenti all'interno di un programma.

Non solo perché si tratta di una buona abitudine, ma anche perché rende il codice leggibile da te o da chiunque altro in qualsiasi momento successivo.

// Declare a Public class and name it anything but remember the class name and file name must be same, say class name is MyProg and hence file name must be MyProg.java
public class MyProg

// Remember everything goes into curly braces of class?
{
 

// This is a method which is inside the curly braces of class.
   public static void main(String[] args)

    // Everything inside a method goes into curly braces	
    {
        
    // Statement or Instruction inside method. Note it ends with a semicolon
    System.out.println("I didn't knew JAVA was so much fun filled");
    
    // closing braces of method
    }

// closing braces of class
}

Una descrizione tecnica dettagliata del semplice programma Java sopra.

public class MyProg

Qui nel nome della classe sopra c'è MyProg e MyProg è una classe pubblica, il che significa che tutti possono accedervi.

public static void main(String[] args)

Qui il nome del metodo è main che è un metodo pubblico, significa che chiunque può accedervi. Il tipo restituito è void, il che significa nessun valore restituito. 'Strings[] args' significa che gli argomenti per il metodo main dovrebbero essere array che devono essere chiamati args. Non preoccuparti del significato di "statico" per ora. Lo descriveremo in dettaglio quando richiesto.

System.out.println("I didn't knew JAVA was so much fun filled");

System.out.ln chiede a JVM di stampare l'output sullo standard output che nel nostro caso è la riga di comando di Linux. Tutto ciò che è tra parentesi graffe dell'istruzione println viene stampato così com'è, a meno che non sia una variabile. Entreremo nei dettagli della variabile più tardi. L'istruzione termina con il punto e virgola.

Anche se qualcosa non è chiaro ora non devi preoccuparti di questo. Inoltre non è necessario ricordare nulla. Basta leggere il post e comprendere le terminologie e lavorare anche quando l'immagine non è molto chiara.

È tutto per ora. Resta connesso a Tecmint. Forniscici il tuo prezioso feedback nei commenti qui sotto. Stiamo lavorando alla parte successiva “classe e metodo principale in Java” e la pubblicheremo presto.