Guida [GUIDA] Basi del Java - Lezione 2

Stato
Discussione chiusa ad ulteriori risposte.

sevendragon

Utente Emerald
7 Novembre 2008
1,498
16
366
390
Ultima modifica da un moderatore:
Eccoci ad un'altra lezione riguardante lo sviluppo di un gioco per android.

Oggi analizzeremo una classe Java.
Riprendiamo da dove avevamo lasciato la scorsa volta.
http://www.inforge.net/community/an...uppo-di-un-gioco-per-android-lezione-1-a.html

H0n8pItmFG5S1aNb5fho.png


Chiudete la pagina di benvenuto premendo sulla "X" come nell'immagine.
Eclipse ha diverse disposizioni per l'ambiente di lavoro, assicuratevi che sia selezionato Java:

0HaF0SZZ1GLrsqZC6TQO.png




Se non è così andate su :
Window > Open Perspective > Other e selezionate "Java (default)"


Ora se guardate nel pannello situato nella parte inferiore della finestra noterete diverse tab:


c768sZ9DllpE7ccrvT82.png


Se manca la tab "Console" andate su Window > Show View e selezionate "Console".

Ora siamo pronti per iniziare a programmare.

Creiamo un nuovo progetto:
File > New > Java Project


Vi si presenterà una finestra in cui dovrete inserire il nome del vostro progetto, mettetene uno a vostra scelta e premete il tasto "Finish".

Nella parte sinistra dello schermo ora dovreste avere il simbolo di una cartella, è il vostro progetto.

lTeRee8GamqInf1agIMI.png


Fate doppio click su di esso per espanderlo e visualizzare il contenuto:

0rnraHnN9IPdtvq2ZHNe.png


src è dove verrà creato il vostro codice.

JRE System Library contiene codice Java pre-scritto che potete importare nel vostro progetto.

( Se la versione non è 1.7 come vedete nel mio screen non vi preoccupate, non ci saranno problemi :\ )

NOTA 1) Ora vi parlerò in modo molto breve del gergo usato nel linguaggio Java ( e che per certi versi risconterete anche in altri linguaggi )

Sentirete spesso parlare di programmazione di alto o basso livello.

Con linguaggio di alto livello si intende del codice con cui uno sviluppatore interagisce con regolarità ( in parole povere quello più facilmente interpretabile da un uomo ).
Il linguaggio di basso livello invece si puo' interpretare come delle linee di codice che vengono direttamente tradotte in azioni e comandi dal computer.

Il linguaggio ad alto livello per essere "capito" e interpretato dalla nostra macchina ha bisogno di un compilatore che appunto compila e traduce i nostri ordini nel "linguaggio del computer".

Spero di aver chiarito almeno in parte queste due cose che sono davvero importanti, se volete approfondire c'è sempre Google ad aiutarvi.

Ora fate tasto destro su "src" selezionate New > Class

Vi comparirà questa finestra :

S1Mqtqfeg6M38opFlCL8.png


in "Name:" inserite il nome della nuova classe che andremo a creare e cliccate Finish.


Dovreste avere questo risultato:

bGO2GOcP2T21dsZi36Cc.png



NOTA 2) Vi parlerò in breve della sintassi del Java:

Le parole "public class" in viola descrivono la parola "Hello World" che segue.

Esse dichiarano che HelloWorld è una classe e che è pubblica ( altre classi possono accedere ad essa )

Le parentesi graffe definiscono l'inizio e la fine della classe.

Ma cos'è una classe?
Prima di tutto definiamo cosa sono gli oggetti ( come vengono spiegati nei manuali Java )
Gli oggetti nel mondo reale sono cose che hanno una condizione (state) e un funzionamento (behavior).

Per esempio la condizione di un telefono può essere: acceso, spento; mentre il suo funzionamento può essere: sta mostrando immagini, sta riproducendo musica.

Gli oggetti nella programmazione sono simili.

Anche essi hanno una condizione e un funzionamento, conservando le condizioni nelle variabili e assumendo comportamenti tramite l'utilizzo dei metodi.

Una classe quindi rappresenta lo schema con cui ogni singolo oggetto viene creato.

Le classi vengono usate per creare oggetti e ne definiscono sia la condizione che il funzionamento.

Di seguito vi mostro una pseudo-classe che illustra cosa è una classe:

OFCt85bGP8F47VCNCufP.png


Analizziamo questa classe, prestate particolare attenzione al colore delle parentesi, che sono state colorate per mostrare dove sono collocate le rispettive controparti.

Le parentesi rosse contengono la classe "Smartphone".
In poche parole contiene le istruzioni per creare oggetti Smartphone.
Questa classe contiene un metodo chiamato "tastoAccensione" che, come abbiamo detto prima, viene usato per esprimere o cambiare il funzionamento di un oggetto ( il suo modo di fare qualcosa ).

Le parentesi gialle rappresentano l'inizio e la fine del metodo chiamato "tastoAccensione".
Questo metodo verifica il valore della variabile booleana ( puo' essere solo vera o falsa ) "acceso" e si comporta di conseguenza.

Le parentesi verdi rappresentano l'inizio e la fine di un'istruzione condizionale "if", lo stesso vale per le parentesi blu.

NOTA 3) Se non avete mai programmato le informazioni seguenti potrebbero interessarvi:

Quando una linea inizia con "//" tutto ciò che segue è considerato un commento, ciò significa che il computer le ignorerà.
I commenti vengono usati per lasciare note e informazioni utili allo sviluppatore.

Nella dichiarazione delle variabili viene usato il simbolo "=" per dare il valore ad una variabile, mentre nella verifica dello stato dello smartphone si nota il simbolo "==" per controllare che sia spento o acceso confrontandolo con delle variabili booleane, questo è molto importante, perché è fondamentale ricordarsi che il simbolo "==" significa "uguale" mentre il simbolo "=" assegna un valore (inizializza una variabile).

Come avrete notato ogni dichiarazione finisce con un ";", il punto e virgola in java rappresenta il punto e va usato ogni volta che si da un'istruzione dichiarativa.

In Java, è possibile denominare le classi o le variabili come vuoi a meno che non prendano il nome di una di quelle parole viola che Java ha riservato per il proprio uso (public, static, void, int, ecc.)


Le classi sono in genere chiamate in questo modo:

Codice:
ExampleClassName.

I metodi e le variabili sono chiamati in questo modo:

Codice:
exampleMethodName ()
e
Codice:
exampleVariableName.

Questo è chiamato "camel casing"


Nella classe Smartphone di sopra, "acceso" è un termine che ho scelto a caso.

Quindi, finché non vengono aggiunte dichiarazioni (istruzioni), "acceso" è solo un metodo vuoto.

Il nostro primo programma:

Torniamo alla nostra classe, dovreste avere una classe come questa:

bGO2GOcP2T21dsZi36Cc.png


Se non ce l'avete createla.

Ora stiamo per aggiungere alla classe un metodo chiamato "main".
Il metodo "main" è il primo richiamato quando viene eseguito il programma.

Codice:
[SIZE=4]public static void main(String[] args) {

    }[/SIZE]

Analizziamo questo codice:

public : visibile ad altre classi. Programmi Java di solito incorporano molti file class, quindi se si vuole fare riferimento al codice nella classe da altre classi, bisogna renderla pubblica. (L'opposto è private).

static : significa che esiste una sola copia del metodo principale. Ricordiamo che le classi sono modelli per gli oggetti. Se si creano più oggetti, essi possono avere ciascuna i propri metodi che operano indipendentemente l'uno dall'altro. Se si imposta qualcosa come statico, significa che tutti condividono lo stesso metodo, per cui tutte le modifiche apportate a questo metodo vengono applicate a tutte le copie del oggetto creato nella classe che contiene il metodo.

void : ogni volta che chiamamo un metodo (chiamare significa chiedere l'esecuzione), possiamo chiedere di ricevere un valore di ritorno. Void significa che nessun valore verrà restituito. Per esempio, se abbiamo un metodo che aggiunge due valori che noi chiediamo, allora non dovremo scrivere void, ma int, in modo tale che il metodo può restituire un valore int che contiene i due valori che abbiamo aggiunto.

I metodi in Java vengono indicati così:

Codice:
metodoUno()

Questo metodo per funzionare non richiede ne parametri ne argomenti.

Codice:
metodoDue(type argomento)

Questo metodo per funzionare richiede un argomento di tipo "type" ( int, boolean ecc. )

VaDC75EHB0IBLM7FoV66.png


Se proverete a inserire il codice scritto sopra e proverete ad avviarlo non riceverete errori, ma non succederà nulla.

Quindi diamo un comando:

Codice:
[SIZE=4]System.out.println("Ciao D:");[/SIZE]

U62PBLo7o7mZ7D3rOamq.png


Questo è il risultato della compilazione:

AGIliB5S1vSsQrcczIcI.png


System si riferisce a una classe nella libreria che ho menzionato prima (da cui è possibile importare il codice), noto anche come l'API (Application Programming Interface).

I punti tra "System" e "out" & "out" e "println" rappresentano la gerarchia

Per esempio:

Codice:
HelloWorld.main(args);

avrebbe invocato il metodo principale della classe HelloWorld.

Println richiede un argomento. Al suo interno, è possibile digitare sia valori letterali (per esempio delle parole) che variabili (le cose che contengono valori).

I valori letterali vengono espressi con le virgolette "", mentre le variabili vengono scritte senza virgolette.


Vi mostro un esempio di come vengono espresse le variabili:

l84Q09AUpGUlgIMh0eup.png


Questo è il risultato della compilazione:

sQoL5stQfCtaVUMSdAil.png



Per avviare la compilazione premete il tasto "Play" verde situato nella barra superiore.
(Vi verrà chiesto di salvare il file, premete ok)

Anche oggi questa lezione si conclude.
Nei prossimi giorni continuerò con le altre lezioni.

Crediti : Kilobolt Studios
 
  • Mi piace
Reazioni: .D3vil.
Re: [GUIDA]Basi del Java - Lezione 2

L'estetica del topic è ancora troppo disordinata
Per i "titoli" usa un size 4 e, vari code e vari cosi "così"
 
Re: [GUIDA]Basi del Java - Lezione 2

Concordo con LoLLo non posso ogni volta aggiustare tutta la discussione per renderla più ordinata e "leggibile" ... bisogna perdere solo qualche minuto alla fine per renderla gradevole...
 
Re: [GUIDA]Basi del Java - Lezione 2

Basta che mi dici cosa devo fare :\
E comunque in quella vecchia solo le immagini erano spropositate :\
L'ho aggiustata, va bene così? :\
P.s Non ci sono titoli in questa lezione :\ ( ok, solo uno :\ )
 
Ultima modifica:
Re: [GUIDA]Basi del Java - Lezione 2

Basta che mi dici cosa devo fare :\
E comunque in quella vecchia solo le immagini erano spropositate :\
L'ho aggiustata, va bene così? :\
P.s Non ci sono titoli in questa lezione :\ ( ok, solo uno :\ )

Ora gli do una sistemata io , non subito , e poi vedi come devi farle.

EDIT

Aggiustata.
 
Re: [GUIDA]Basi del Java - Lezione 2

La terza lezione non è ancora stata scritta e rilasciata , contatta l'autore delle prime due se vuoi che venga scritta un'altra lezione.
 
Stato
Discussione chiusa ad ulteriori risposte.