
Di TheXanada96 [MYCUS], 16 luglio 2024
Iniziamo con la domanda "Che cosa significa programmare?"
Programmare significa creare dei programmi, scrivere dei programmi. Ma cosa sono i programmi?
I programmi sono una sequenza di istruzioni che il computer deve eseguire.
Quando scriviamo le istruzioni da far eseguire al computer per risolvere un determinato problema, dobbiamo considerare tutti i possibili casi che il computer deve affrontare. Questo perché dobbiamo sempre tenere a mente che i computer sono fondamentalmente stupidi, o meglio sanno eseguire compiti semplici ad una velocità mostrousa ma non sanno decidere da soli, quindi dobbiamo essere noi a dirgli precisamente cosa devono fare in tutte le possibili situazioni.
Inoltre essi in non posso eseguire tutti i compiti, ma solo quelli privi di ambiguità.
Ad esempio immaginiamo di mettere un computer per aprire le porte di un locale quando arrivano le persone. Se questo compito fosse svolto da una persona gli potremmo dire di fare entrare solo le persone che non sembrano dei pochi di buono. Ma un computer non riesce a capire quando una persona potrebbe essere un poco di buono, è un concetto ambiguo, abbastanza soggettivo.
Se invece decidessimo di far entrare solo le persone più alte di 1 metro e 50, per il computer sarebbe compito perfetto.
Ora abbiamo più o meno una vaga idea di cosa possa essere un programma ma con quale linguaggio possiamo comunicare con il computer?
Il pc, in realtà, capisce solo un linguaggio composto da 0 e 1, che in pratica, semplificando molto, consiste nel mandare corrente elettrica, nel caso di 1, e toglierla, nel caso di 0. 0 e 1 sono anche noti come sistema binario.
Con una sequenza di 0 e 1, e codificando in modo opportuno, possiamo dire qualsiasi cosa al pc.
Ad esempio la parola “ciao” la potremmo codificare come la sequenza 010111010101001.
Ma, per una persona, programmare in 0 e 1 è veramente difficile. Per fortuna sono stati inventati vari linguaggi di programmazione che si avvicinano, chi più chi meno, al linguaggio umano.
Dopo questa breve introduzioni, iniziamo con il dare una serie di definizioni essenziali e preparare il nostro pc con i software necessari per iniziare a programmare.
Un algoritmo è insieme di istruzioni elementari che indicano come eseguire dei compiti.
Da notare che l'algoritmo si può scrivere in italiano.
Seguendo un algoritmo chiunque dovrebbe riuscire a portare a termine il compito.
A questo punto ci si potrebbe chiedere cosa c’entrino queste pseudo-istruzioni con i pc. In qualche modo c’entrano perché i programmi che eseguono i computer non sono che una sequenza di istruzioni, ovviamente non scritte in italiano ma con un linguaggio di programmazione che il pc può capire.
Quindi, per far svolgere un compito al nostro pc, dobbiamo prima creare un algoritmo, in italiano, e dopo tradurlo nel nostro linguaggio di programmazione, in questo caso java.
Questo inizialmente, poi, man mano che si prende confidenza con la programmazione, si può scrivere direttamente l’algoritmo in java, senza passare prima dall’italiano.
A prima vista può sembrare che la parte più difficile sia tradurre l’algoritmo in java, in realtà è vero il contrario. Trovare l’algoritmo che risolve un problema può essere molto complesso.
Un approccio che aiuta molto è la tecnica del “dividietimpera”, ossia se un problema è troppo complesso per essere risolto, lo si divide in sotto-problemi e si cerca di risolvere quelli. Se il sotto-problema è ancora complicato lo si divide ulteriormente, fino a raggiungere qualcosa che è risolvibile. Alla fine si mette insieme tutto è si ottiene la soluzione complessiva.
La descrizione su come si deve risolvere un problema, quindi il suo algoritmo, a parole sembra semplice. Nella realtà, spesso, è proprio l’ostacolo più grande che incontra chi inizia a programmare.
E purtroppo, questa capacità, non la si impara leggendo solamente un libro MA facendo molti, molti, molti esercizi. Non c’è nessun altro modo. Chi dice il contrario mente sapendo di mentire.
Imparare a programmare è come correre una maratona; si può essere esperti di regolamento, del funzionamento del corpo umano, di tutta la teoria sulla corsa ma, se non ci si allena duramente, non si arriverà da nessuna parte.
Ricapitolando, abbiamo visto questi due importanti concetti:
Teoricamente, per poter sviluppare in java è sufficiente installare il tool di java e un semplice editor di testo, come ad esempio notepad, ma spesso i progetti sono composti da centinaia di file e gestirli diventa complicato. Ci vengono in aiuto degli ambienti di sviluppo grafico, chiamati IDE (Integrated Development Enviroment).
Esistono tantissimi IDE, spesso gratuiti. In questo testo useremo Eclipse.
Detto ciò, scarichiamo e configuriamo gli strumenti per iniziare a sviluppare in Java, che sono essenzialmente due:
1. JDK: E' un tool che ci fornisce una serie di strumenti per lavorare in java. Scaricarlo dal sito ufficiale di Oracle [LINK] e cliccare due volte per installarlo. Durante l’installazione premere sempre si. Se tutto è avvenuto correttamente, apriamo un prompt MSDOS e digitiamo il comando java-version

vedremo così la versione di java installata (in questo caso la 8). In caso di errore disinstallare e ripetere la procedura di installazione.
2. Eclipse: fare il download dal seguente link, prestando attenzione a scaricare la versione Eclipse EE (enterprise edition)
Bene, ora siamo pronti per partire, abbiamo tutti gli strumenti necessari, non ci rimane che configurarli:



Useremo il file appena creato per fare moltissimi esercizi, come vedremo nei capitoli successivi.
Per scrivere applicazioni Java, la prima cosa che si deve sapere è creare e usare le variabili. Ma cosa sono le variabili?
Una variabile è una piccola area di memoria in cui viene salvato un determinato valore. La possiamo vedere come se fosse una scatola in cui possiamo memorizzare dei valori, ad esempio possiamo inserirci dei numeri o del testo.
Per essere utilizzata. deve essere prima dichiarata e poi inizializzata. Per la dichiarazione ha la seguente sintassi:
"<tipo_variabile> <nome_variabile>;"
Il <tipo_variabile> indica che cosa si deve memorizzare nella variabile, ad esempio un numero, un numero con virgola, un testo etc. (più avanti vedremo i tipi dati in java).
int x;
Con questa istruzione abbiamo creato una variabile con nome x che può contenere dei numeri, in particolare interi, senza virgola. I numeri in java sono di tipo int(più avanti li vedremo nel dettaglio).
NotaBene: ogni istruzione Java termina con un punto e virgola “;”.
Ora che la variabile è stata creata, abbiamo la possibilità di inserire dei valori, che devono essere dello stesso tipo della variabile; ad esempio se la variabile è di tipo intero possiamo inserire solo degli interi.
Per poter fare questo, la sintassi è:
<nome_variabile> = <valore>
x = 10;
In questo modo si scrive il valore 10 all’interno della variabile chiamata “x”. L’operazione di dichiarazione e inizializzazione può essere fatta sulla stessa riga.
int x = 20;
Una volta che la variabile è stata inizializzata, possiamo inserire nuovi valori, sovrascrivendo i vecchi, quante volte vogliamo.
x = 10;
x = 30; x=40;
Java ha un insieme di tipi di dati pronti all’uso, detti tipi primitivi:
boolean flag = true; flag = false;
byte range; range = 124;
short temperature; temperature = -200;
long r = -42332200000L;// i numeri long finiscono con la lettera L
double number = -42.3;
float number1 = -42.3f;// i numeri long finiscono con la lettera f
char ch = ‘a’;
bohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohbohboh