02. Corso completo di Programmazione Java – I Fondamenti – Parte I

Corso Java - I Fondamenti - Parte I

Ciao a tutti e bentornati al nostro corso completo di programmazione in Java! Dopo l’introduzione e il classico “Hello. World!” degli scorsi giorni, siamo pronti, finalmente, per iniziare a parlare di qualcosa di più concreto. Nello specifico oggi scopriremo insieme quali sono i mattoncini base per poter cominciare a scrivere i nostri programmi in Java.

In particolare vedremo come:

  • Inserire commenti nel codice sorgente
  • Quali tipi di dati primitivi mette a disposizione il linguaggio
  • Come dichiarare e usare variabili

I Commenti in Java

I commenti in Java, così come in tutti gli altri linguaggi di programmazione, non hanno alcun effetto sul codice eseguibile e, vista la loro importanza, converrebbe imparare a conoscerli e ad usarli fin da subito. Ma perchè dare tanta importanza ad un elemento che neanche viene preso in considerazione dal nostro programma? Beh, la risposta è molto semplice: commentare il nostro codice, ci aiuterà a comprendere quanto abbiamo scritto anche in momenti successivi (a volte mesi, se non anni) e questo ci eviterà inutili perdite di tempo nel caso in cui dovessimo mettere mano, per un qualsiasi motivo, al nostro vecchio codice. Ma i commenti non servono solo a noi, potrebbero infatti servire per documentare il nostro codice ad altri collaboratori che lavorano con noi, o lavoreranno alla nostra app.

Commentare il codice è quindi buona norma e potremo farlo sfruttando uno dei 3 metodi esistenti in Java.

Il metodo più comune è usare i caratteri // ad inizio riga. Questo farà si che tutto il testo fino alla fine della riga corrente venga considerato come un commento:

package it.devapp.corsojava.fondamenti;
 
public class FondamentiCommenti {
	public static void main(String[] args) {
		System.out.println("Basta Hello World, ora siamo grandi!"); // frasi divertenti da scrivere in Console?
	}
}

Se una riga non è sufficiente per il nostro commento, possiamo sfruttare un secondo metodo, utile per commenti più lunghi. In questo caso dovremo scrivere il testo del nostro commento tra i caratteri /* e */, in modo tale da creare un blocco di commenti multilinea:

package it.devapp.corsojava.fondamenti;
 
public class FondamentiCommenti {
    public static void main(String[] args) {
        /*
            * Il metodo main è un metodo lanciabile all'interno di una classe Java.
            * Spesso è il single entry point di un programma Java.
        */
        System.out.println("Basta Hello World, ora siamo grandi!"); // frasi divertenti da scrivere in Console?
    }
}

L’ultimo metodo per commentare disponibile in Java, infine, serve per creare i cosiddetti JavaDoc: iniziano con /** e terminano con */. Questo ci permetterà di scrivere documentazione vera e propria per i metodi e le classi del nostro programma. Questo tipo di commento consente poi di generare documentazione in HTML da consegnare insieme al software: i JavaDoc sono quindi indispensabili se si vogliono creare librerie e framework o comunque codice che sarà letto più volte da altri programmatori.

package it.devapp.corsojava.fondamenti;
/**
    * Classe didattica che serve ad illustrare gli esempi del post sui <strong>Fondamenti di Java</strong>.
    * @author manupia
    *
*/
public class FondamentiCommenti {
	public static void main(String[] args) {
        /*
	    * Il metodo main è un metodo lanciabile all'interno di una classe Java.
	    * Spesso è il single entry point di un programma Java.
	*/
	    System.out.println("Basta Hello World, ora siamo grandi!"); // frasi divertenti da scrivere in Console?
	}
}

Tutti gli IDE Java (o almeno i più diffusi) offrono supporto per i JavaDoc: ovvero se si porta il puntatore del mouse sopra ad una classe o metodo commentata da JavaDoc appare un tooltip contenente il JavaDoc opportunamente formattato.

Teniamo presente, nonostante sia buona cosa usare i commenti, che un uso eccessivo di questi potrebbe essere il campanello d’allarme del fatto che abbiamo scritto codice non chiaro: infatti utilizzando una giusta modularità di classi e funzioni e usando nomi “parlanti” spesso la necessità di commentare si riduce a porzioni relativamente ridotte di codice particolarmente complesso. Ma avremo modo di riparlare di questo più avanti.

I Tipi Primitivi

Corso Java - Tipi Primitivi

Come avremo modo di dire più volte, in Java tutti i tipi, anche quelli definiti dall’utente, derivano da Object. Data una regola, però, c’è sempre un’eccezione, infatti, i tipi primitivi seguenti sono implementati nativamente nel linguaggio e non derivano da Object:

package it.devapp.corsojava.fondamenti;
 
public class FondamentiTipi {
    public static void main(String[] args) {
        // i tipi Interi
        int numeroIntero; // 4 bytes –2,147,483,648 to 2,147,483, 647 (just over 2 billion)
	short numeroInteroPiccolo; // 2 bytes –32,768 to 32,767
	long numeroInteroGrande; // 8 bytes –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
	byte numeroInteroPiccoloPiccolo; // 1 byte –128 to 127
 
        // i tipi a virgola mobile
        float virgolaMobileSingolaPrecisione; // 4 bytes approximately
				              // ±3.40282347E+38F (6–7 significant decimal digits)
	double virgolaMobileDoppiaPrecisione; // 8 bytes approximately
					      // ±1.79769313486231570E+308 (15 significant decimal digits)
	char singoloCarattere;		      // 'u'
        boolean miPiaceQuestoPost;            // true o false
	}
}

Questa scelta è legata a questioni di perfomance e di retrocompatibilità. Vedremo che esistono poi dei tipi non primitivi che fanno da wrapper dei tipi primitivi. Per ora limitiamoci a dire che Java offre 4 tipi di interi a diversa capacità, di cui il più comunemente usato è int, due tipi a virgola mobile, un tipo char, destinato a contenere un singolo carattere, e un tipo boolean, che può assumere i valori true o false.

Le variabili e le costanti

Nello snippet di codice precedente abbiamo dichiarato diverse variabili di tipo primitivo. Come si vede per dichiarare una variabile si utilizza il tipo seguito dal nome (parlante) della variabile. Ogni dichiarazione di variabile in Java deve avere un tipo associato, perché Java è un linguaggio strongly typed (fortemente tipizzato). Infine il nome di una variabile deve iniziare con una lettera e continuare con una sequenza di lettere e cifre. Che noia mortale! Andiamo a strapazzarle un po’ queste variabili.

Inizializzazione delle variabili

Una volta dichiarate le variabili possono essere valorizzate: vediamo qualche esempio:

int giorniVacanza;
...   ...
giorniVacanza = 12;
double stipendio = 1250.55;

Come vediamo la variabile può essere inizializzata contestualmente alla sua dichiarazione. Ancora altri esempi:

byte miaEta = 38;
miPiaceQuestoPost = true;

Una costante in Java si dichiara come una variabile immutabile, utilizzando la parola chiave final:

public class FondamentiVariabili {
	public static void main(String[] args) {
		final double CM_PER_POLLICE = 2.54;
		double larghezzaFoglioCarta = 8.5, altezzaFoglioCarta = 11;
		System.out.println("Dimensione Foglio in Centimetri: " + larghezzaFoglioCarta
			* CM_PER_POLLICE + " by " + altezzaFoglioCarta * CM_PER_POLLICE);
	}
}

Notiamo che la convenzione sintattica per le costanti cambia: non più camel case, ma maiuscolo separato da underscore.

Conclusioni

Con questo post abbiamo visto assieme alcuni aspetti basici della sintassi del linguaggio di programmazione Java. Nel prossimo post terminiamo di affrontare i fondamenti del linguaggio, parlando degli operatori, del tipo String, di come fare input/output e infine di come utilizzare gli array.

Alla prossima!

Il corso continua con…

03 – I Fondamenti di Java – Parte II.

By Manuele Piastra

Sono un Project Manager i cui skill tecnici sono focalizzati al momento sullo sviluppo di applicazioni JavaEE (application server IBM Websphere 7.0 utilizzando JSF (RichFaces), JPA (EclipseLink) ed EJB3) ed Android. Presso OmniaGroup ricopro il ruolo di Training Manager: seleziono il personale tecnico, mi occupo della sua crescita formativa organizzando Corsi e Workshop sia interni che esterni, molti dei quali hanno visto me come docente. Ho tenuto sette sessioni di un corso di formazione di 50 ore sulle tecnologie JavaEE su Application Server WebSphere IBM presso il nostro cliente principale, Coop Italia, dei cui sistemi informativi sono consulente di riferimento. Sono blogger su CoseNonJaviste, blog tecnico che si occupa di Android e Java. Consulta il mio Curriculum online per maggiori informazioni.

7 comments

  1. Complimenti per il corso Java e Android.
    Ok per i contnuti, ma se le puntate fossero un po più lunghe e frequenti non sarebbe male 🙂

  2. Vi segnalo ancora che su ipad ci sono seri problemi di visualizzazione, soprattutto per la barra inferirore che si posizione a metá pagina e per i box del codice, che sono tagliati a destra.

  3. Non per fare il rompic… ma ti sei dimenticato il tag “corso completo di java”… è utile, ho trovato gli altri post così e questo non mi appariva… ottimo lavoro btw

  4. @Carlo: grazie, vedremo di sistemare quanto prima 😉

    @Nicola: hai ragione sorry, aggiorno.. se vuoi trovi comunque nel menù “sezioni” in alto a destra la voce “Corso completo di Java” 😉

    @AngelRed: vediamo che si può fare 😉

Comments are closed.