Guida Java: Terza Parte - by Soulplace

Programmare con java

5.Commenti, parole chiave, identificatori e spazi bianchi.

I commenti sono parti del programma che il programmatore inserisce per esprimere il suo pensiero all'interno del listato, senza dover seguire le regole sintatiche del linguaggio. In genere il commento spiega il passo del listato con parole del programmatore, quindi possono servire a chi deve modificare il programma per capire cosa è scritto in un determinato punto. Per Java i commenti possono contenere qualsiasi cosa, in quanto vengono ignorati nel processo di esecuzioen del programma. Possono essere di 2 tipi:

// questo è un commento.

In questo caso il commento va dalla doppia barra fino alla fine della riga. Un'altro tipo di commento che possiamo incontrare è questo:

/* questo è un commento*/ .

Adesso la parte di programma che verrà ignorata è quella tra la barra e l'asterisco (/*) e l'asterisco e la barra (*/) in questo caso il commento potran anche occupare più linee. Anche nel caso precedente sarebbe possibile scrivere un commento su più linee, masarebbe necessario mettere all'inizio di ognuna di esse le doppie bare(//).

Prendiamo ad esempio il seguente programma:

public class Fabio

{
/* stampa una frase*/

public static void main (String[] args)

{
System.out.println ("Una citazione di Omero:");
System.out.println ("Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza.");
}

}

In questo listato troviamo delle parole "particolari" che vengono hiamate identificatori; nel nostro caso, gli identificatri sono: class, Fabio, public, static, void, main, String, args, System, out e println.
Gli identificatori (nomi) dei metodi, delle classi, degli oggetti, delle variabili, delle costanti e delle interfacce (concetto che avremo modo di apprezzare più avanti), hanno delle regole da rispettare.
Un identificatore non può coincidere con una parola chiave di Java. Una parola chiave, è una parola che ha un certo significato per il linguaggio di programmazione. Nella seguente tabella sono riportate alcune parole chiave di Java:

abstract boolean break byte case
catch char class const continue
default do double else extends
false final finally float for
goto if implements import instanceof
int interface long native new
null package private protected public
return short static strictfp super
switch synchronized this throw throws
transient true try void volatile

while

Ciò implica quindi che non potremo chiamare una variabile class, oppure un metodo void. Gli identificatorei non possono iniziare con numeri, quindi il primo carattere può essere A-Z, a-z, _, $, mentre il secondo ed i successivi possono essere A-Z, a-z, _, $, 0-9. Un identificatore di una classe deve sempre iniziare per lettera maiuscola, quello di una variabile per lettere minuscola. Se composto di più parole, queste non si possono separare perché il compilatore non può intuire le nostre intenzioni. Come abbiamo notato in precedenza, bisogna invece unire le parole in modo tale da formare un unico identificatore, e fare iniziare ognuna di esse con lettera maiuscola; gli identificatori delle costanti vanno scritti in maiuscolo. Se l’identificatore è composto di più parole, queste si separano con underscore (_).

Hanno molta importanza nella scrittura di un programma gli "spazi bianchi" quali lo spazio, il tab e l'"invio", ovvero quei caratteri che generano, per l'appunto, spazi bianchi tra un caratere e l'altro. Tranne quando sono usati per separare le parole, essi non vengono considerati dal computer, tuttavia sono indispensabili per la corretta formattazione di un listato. Ogni programmatore gode di una buona libertà nella tabulazione di un programma, deve, però, attenersi a delle linee guida per saper rendere il programma leggibile.

6. Conversione dati.

Nell' altra parte di questa guida abbiamo parlato di variabili e del fatto che essa può contenere dati solo del tipo primitivo a cui è stata inizializzata. Abbiamo anche detto, però, che esistono dei metodi per "convertire" il valore delle variabili. Come prima fase dobbiamo distinguere 2 tipi di conversioni: la conversione "larga" e la conversione "stretta". La conversione larga, detta widening conversionè una conversione di tipo "sicuro" perchè non s'è la possibilità di perdere dati, in quanto convertiamo il nostro dato da un tipo più piccolo ad uno più grande:
Esempio:

1) Conversione per asegnamento:

money = dollars;

se "money" è di tipo float e "dollars" è di tipo int, allora "dollars" viene convertito in float. Bisogna inoltre notare che la variabile dollars rimane del suo tipo, ovvero int.

2) Conversione per promozione:

result = sum/count;

se sum è di tipo float e count è di tipo int, allora result saràun float. Anche in questo caso viene scelta solo la conversione widening.

3) Conversione esplicita:

result = (float)total/count;

Questo è l'unico caso in cui possiamo effettuare narrowing conversion. In questo caso total sarebbe potuto essere di qualsiasi tipo, anche più grande, ma grazie all'asplicitazione della conversione il dato viene troncato.

Mettiamo il caso in cui abbiamo una variabile x di tipo float dal valore 5.7; grazie alla conversione esplicita possiamo farla diventare un intero, ovvero:

y = (int)x

system.out.println("y="y);
y=5


FLOSSnet

Linux@Taranto FLOSSdev TaLUG! - Taranto GNU/Linux Users Group