






Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Appunti di alcune lezioni di fondamenti di informatica programmazione linguaggio java<br />
Tipologia: Appunti
1 / 11
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!







SINTASSI: E’ l’insieme di regole da applicare affinché non ci siano “errori grammaticali” nelle “farsi” scritte in java.
SEMANTICA: E’ l’insieme delle regole da applicare affinché le operazioni da eseguire abbiano senso
OGGETTI: Sono i dati su cui effettuare le operazioni
METODI: Sono le operazioni da effettuare sugli oggetti
COMPILAZIONE: Il programma per essere esguito va compilato in modo che venga tradotto dal “linguaggio java” al linguaggio macchina.Infatti il programma che noi scriviamo e’ scritto nel linguaggio java,il quale non dipende dalla macchina che deve esguirlo(si dice infatti che java e’ indipendente dalla piattaforma).La macchina pero’ non sa eseguire le operazioni nel linguaggio java.C’e’ allora bisogno di un softwere che traduca il nostro programma dal linguaggio java al linguaggio proprio della macchina sulla quale si vuole eseguire il programma.Questo softwere viene detto compilatore,ed ha il compito di leggere il programma in java,verificare che non ci siano errori,e nel caso in cui il programma sia sintatticamente corretto compilarlo(tradurlo nel linguaggio proprio della macchina su cui si vuole eseguire il programma). Il compilatore e’ capace di verificare che il programma sia sintatticamente corretto,ma non e’ capace di verificare che sia semanticamente corretto. La compilazione avviene una ed una sola volta. Un programma una volta compilato puo’ essere infatti eseguito n volte. L’unico caso in cui il programma va ricompilato e’ il caso in cui vengano apportate delle modifiche al programma.
INTERPRETAZIONE: Il programma scritto in java puo’( in alternativa alla compilazione) essere interpretato.Vi e’ in questo caso un softwere detto interprete che legge le istruzioni del nostro programma, le traduce nel linguaggio macchina, ed infine le esegue una per una. L’inconveniente dell’interpretazione e’ che per esguire n volte il programma bisogna interpretrarlo n volte.
CLASSE: Una classe e’ un insieme di oggetti con le stesse caratteristiche
PROGRAMMA IN JAVA: Un programma in java e’ un insieme di classi che interagiscono fra loro.Le varie classi posso essere salvate in file diversi(in modo da poter essere compilate in tempi diversi),o anche in un unico file.In un programma costituito da piu’ classi almeno una di essere deve esportare il metodo main(public static void main(string args []) ) Un programma inizia sempre con public class a cui segue il nome del programma.Attenzione: il nome del programma va scritto con la prima lettera maiuscola. Subito dopo si va a capo e sotto la p di public va aperta la parentesi graffa.
Si va ancora a capo e sotto la l di public si scrive public static void main(string args[]) che e’ il metodo main. Si va di nuovo a capo e sotto la p del 2° public(quello del public static void main(string args[]) )si apre un’altra parentesi graffa. Si va ancora a capo e sotto la b del 2° public si scrivo in colonna le operazioni che costituiscono la classe. Ogni operazione DEVE FINIRE CON IL ; altrimenti il programma non funziona. Si va ancora a capo e sotto la 2° parentesi graffa aperta si chiude una parentesi graffa. Si va ancora a capo e sotto la prima parentesi graffa si chiude la parentesi graffa.
println(“messaggio di testo”); Questa e’ la stringa che si scrive quando si vuole “stampare” sul monitor un messaggio di testo.Il messaggio di testo va scritto tra apici.Questa stringa va scritta SEMPRE alla fine della seconda parentesi graffa (ossia prima di chiudere la seconda parentesi graffa) come ultima operazione della classe in fondo alla “colonna delle operazioni della classe”.
Come esempio scrivo un programma che ha la funzione di “stampare” sul monitor la scritta Ciao!
public class Primoprogramma F 0 7 B public static void main(String args [ ] ) F 0 7 B System.out.println( “Ciao!”) ; F 0 7 D F 0 7 D
N.B. La P di Primoprogramma(il nome del programma) deve essere MAIUSCOLA e il nome Primoprogramma deve seguire la dichiarazione della classe.Atra condizione fondamentale e’ che il nome del programma(in questo caso Primoprogramma) deve coincidere con il nome della classe.La S di String deve essere maiuscola,ed anche la S di System deve esserlo,questo perche’ JAVA FA DIFFERENZA TRA LETTERE MAIUSCOLA E LETTERA MINUSCOLA
GLI APICI “” : Servono a contenere il messaggio di testo che si vuole stampare sul monitor.Quando si vuole stampare un qualsiasi messaggio di testo(nell’esempio di voleva stampare il messaggio di testo Ciao!)questo deve essere NECESSARIAMENTE messo tra apici.
IL SIMBOLO + : Il simbolo + serve o a sommare due o piu’ variabili o a concatenare fra loro due o piu’ messaggi di testo con il valore finale di una o piu’ variabili.
public class: E’ la scritta che va SEMPRE messa all’inizio del programma.Con questa scritta si dice che la classe che si sta scrivendo e’ di dominio publico e non privato(se volessimo che la classe non fosse accessibile a tutti ma solo al programmatore dovremmo scrivere private class).
public static void main( string args [ ] ) : E’ il metodo main,ed in termini pratici e’ una stringa che va messa SEMPRE e che e’ SEMPRE UGUALE.Va messa subito dopo la dichiarazione della classe,dopo aver aperto la prima parentesi graffa.
System.out.println : E’ una stringa(System e’ una classe) che chiude il metodo main e precede l’informazione di stampa di un messaggio di testo (println). In alternativa al System(N.B. System va scritto con la y e la S maiuscola!),c’e’ la classe GraphicConsole.
import GraphicConsole IO.; : E’una stringa che precede la dichiarazione della classe e serve a dichiarare che si vuole essere nelle condizioni di utilizzare tutti i metodi contenuti nella classe Graphic sull’oggetto console(l’asterisco indica proprio che si vogliono utilizzare tutti i metodi).*
DICHIARAZIONE DI UN METODO: Abbiamo visto che la dichiarazione del metodo main era : public static void main( string args [ ] ),ma la dichiarazione di un qualsiasi metodo in generale e’ : oggetto.metodo(parametri)
VARIABILI: Una variabile e’ l’astrazione di una cella di memoria.Una variabile e’ un “contenitore” che e’ atta a contenere al suo interno un’iformazione(ad esempio una quantita’ numerica) che nel tempo non e’ “statica”,ossia una variabile contiene al suo interno un’informazione che puo’ variare nel tempo(che e’ appunto variabile).
DICHIARAZIONE DI UNA VARIABILE: Una variabile per essere utilizzata DEVE PRIMA ESSERE DICHIARATA. Per dichiarare una variabile si dichiara prima il tipo e poi il nome da dare alla variabile.Esistono diversi tipi,ad esempio il tipo int,double,float ecc… (li vedremo dopo).Ad esempio se voglio dichiarare una variabile che deve contenere un numero intero,e voglio chiamare questa variabile a,scrivo la stringa:
int a; Se ne voglio dichiare due di tipo intero e le voglio chiamare a e b,posso scrive o: int a,b; oppure: int a; int b;
Si puo’ anche opzionalmente assegnare un valore iniziale alla variabile,ad esempio:
int a = 3; O ad esempio assegnarle prima un valore iniziale,e poi un valore variabile nel tempo che varia come una funzione.Ad esempio:
int i = 2 int i = i + 2
N.B. queste due informazioni stanno a significare : dai un valore iniziale alla variabile i pari a 2,poi esegui l’operazione i+2,calcola il suo valore e inseriscilo di nuovo nella variabile i.Quindi il calcolatore come prima cosa assegna ad i il valore 2,poi calcola 2+2,ed assegna alla variabile i il valore 4,poi calocola 4+2 ed assegna il valore 6 alla variabile i,poi calcola 6+2 ed assegna il valore 8 alla variabile i ecc…. fino a quando finisce il programma o la condizione(vedremo in seguito cos’e’ una condizione o cilco)
Oppure:
int j = 2 int i = j + 2
O ancora:
int i = 2 int j = xy*
int i = i + j Ecc………
I TIPI DELLE VARIABILI : A ogni variabile e’ associato un tipo.Il tipo della variabile serve a dichiarare “che tipo” di variabile e’ la variabile che stiamo dichiarando.Ad esempio sappiamo che se vogliamo dichiarare una variabile x di tipo intero(in quanto il valore che assume x e’ un numero intero) scriviamo: int x = 2 Quell’ “int” sta ad indicare appunto che x e’ una variabile che assume SOLO valori interi. In realta’ java permette di usare molti tipi(per potere cosi’ inserire anche valori decimali,grandi,piccoli ecc…. vedremo subito di cosa stiamo parlando). I tipi principali di java e che java mette a disposizione sono detti tipi primitivi e sono i seguenti:
tipi interi
byte : permette alla variabile di assumere solo valori interi compresi tra –128 e + (8 bit)
short : permette alla variabile di assumere solo valori interi compresi tra –32768 e + 32767 (16 bit)
int : permette alla variabile di assumere solo valori interi compresi tra –2147483648 e
(32 bit)
long : permette alla variabile di assumere solo valori interi compresi tra –223372036854775808 e
(64 bit)
tipi in virgola mobile
float : permette alla variabile di assumere solo valori numerici con la virgola,e con 9 cifre significative dopo la virgola (32 bit)
double : permette alla variabile di assumere solo valori numerici con la virgola,e con 18 cifre significative dopo la virgola (64 bit)
N.B. DALL’ALTO VERSO IL BASSO I TIPI HANNO SEMPRE LA STESSA NATURA MA OCCUPANO UNO SPAZIO DI MEMORIA SUL DISCO CRESCENTE,E PERMETTONO DI INSERIRE VALORI NUMERICI SEMPRE MAGGIORI.
altri tipi
boolean : permette di far assumere alla variabile solo uno dei due valori vero o falso. (1 bit)
char : permette solo di inserire caratteri (16 bit)
IL COMMENTO : Nella scrittura di un programma in java si puo’ introdurre un commento all’interno di un programma descrivendo l’operazione che si sta eseguendo al fine di rendere il programma piu’ leggibile nel casa in cui lo si voglia modificare.Questo non viene tradotto dal compilatore in quanto non viene considerato come una stringa,o come un’informazione contenuta nel programma ecc…. ma viene semplicemente ignorato dalla macchina e reso allo stesso tempo visibile a chi legge il programma.Quest’operazione e’ resa possibile da
Riporto ora il programma precedente per fare un esempio di come utilizzare i commenti:
public class Arearettangolo
/ sto scrivendo un programma in java che ha una funzione semplicemente didattica e non e’ ancora eseguibile perche’ non e’ stato ne’ scritto con i programmi adatti ne’ e’ stato compilato,e che ha lo scopo di calcolare l’area di un rettangolo di base b =4 ed altezza h = 2.Il nome del programma e’ Arearettangolo /
F 0 7 B // Ho aperto la classe Arearettangolo public static void main (String args [] ) F 0 7 B // Ho aperto il metodo main int b = 4; int h =2; int area = bh; System.out.println (“L’area del rettangolo e’ pari a :” + area); //questo e’ il messaggio di stampa F 0 7 D// Ho chiuso il metodo main F 0 7 D //Ho chiuso la classe Arearettangolo*
N.B. I programmi :
public class Arearettangolo
/ sto scrivendo un programma in java che ha una funzione semplicemente didattica e non e’ ancora eseguibile perche’ non e’ stato ne’ scritto con i programmi adatti ne’ e’ stato compilato,e che ha lo scopo di calcolare l’area di un rettangolo di base b =4 ed altezza h = 2.Il nome del programma e’ Arearettangolo /
F 0 7 B // Ho aperto la classe Arearettangolo public static void main (String args [] ) F 0 7 B // Ho aperto il metodo main int b = 4; int h =2; int area = bh; System.out.println (“L’area del rettangolo e’ pari a :” + area); //questo e’ il messaggio di stampa F 0 7 D// Ho chiuso il metodo main F 0 7 D //Ho chiuso la classe Arearettangolo*
Ed :
public class Arearettangolo F 0 7 B public static void main (String args [] ) F 0 7 B int b = 4; int h =2; int area = bh; System.out.println (“L’area del rettangolo e’ pari a :” + area); F 0 7 D F 0 7 D*
Sono assolutamente equivalenti in quanto il compilatore compila le stesse identiche informazioni: la macchina legge ed esegue lo stesso programma e quindi in entrambi i casi(con o senza commento)il computer stampa sul monitor il messaggio di testo “L’area del rettangolo e’ pari a :8”.
Questo tipo di programma e’ ancora molto primordiale e con scarse potenzialita’.Infatti ha la sola funzione di calcolare SOLO l’area di un rettangolo 42 ,ma non di un altro tipo di rettangolo.Se ad esempio volessi calcolare l’area di un rettangolo 56 dovrei modificare il programma scrivendo :
public class Arearettangolo F 0 7 B public static void main (String args [] ) F 0 7 B int b = 4; int h =2; int area = bh; System.out.println (“L’area del rettangolo e’ pari a :” + area); F 0 7 D F 0 7 D*
Ricompilarlo ed eseguirlo.Cosi’ per calcolare l’area di n rettangoli diversi fra loro dovrei modificare,ricompilare ed eseguire il programma n volte.Apportando delle modifiche posso inserire i dati b ed h direttamente dalla tastiera ed eseguire il programma n scrivendolo e compilandolo una ed una sola volta. Basta scrivere:
import Arearettangolo.corejava.console; class Arearettangolo F 0 7 B public static void main (String args [] ) F 0 7 B int b = console.readInt ( “Inserisci il valore della base del rettangolo b =”);
/ Ho appena usato la classe console per far comparire la scritta sul monitor “Inserisci il valore della base del rettangolo b =” e dare al calocolatore ,tramite la tastiera il valoredi b necessario ad eseguire il programma/**
int h = console.readInt ( “Inserisci il valore dell’altezza del rettangolo h =”);
Esempio
Scrivo un programmache calcola il valore del polinomio ax F 0D 92+bx+c con abcx coefficienti interi che chiamo esempio 2 il quale chiede di immettere i dati abcx per dare il risultato.
import corejava.console; class esempio 2 F 0 7 B public static void main(String args [] ) F 0 7 B int a = console.readInt (“inserisci il valore di a :”); int b = console.readInt (“inserisci il valore di b :”); int c = console.readInt (“inserisci il valore di c :”); int x = console.readInt (“inserisci il valore della x :”); int valore del polinomio = axx+bx+c System.out.println (“il valore del polinomio e’ :”+valore del polinomio); F 0 7 D F 0 7 D*
Scrivo ora un programma leggermente diverso dal precedente,atto a calcolare le radici di
un’equazione di secondo grado del tipo ax F 0D 92+bx+c = 0 con a b c interi.In questo caso utilizzo la classe GraphiConsole in quanto voglio far comparire i messaggi di testo che chiedono di inserire i vaolori a b c tramite un pannello in cui vengono immessi i valori. Tramite l’uso dei simboli // ed /commento/ introdurro’ (all’interno del programma) dei commenti con cui descrivero quale funzione hanno le stringhe.
import Graphic IO. // serve a poter usufruire di tutti i metodi della classe Graphic. class Equazione // il nome del programma e’ Equazione,quindi anche quella della classe e’ Equazione F 0 7 B // apro la classe Graphic public static void main (String args [] ) F 0 7 B // apro il metodo main GraphicConsole.showWindow ( ); //serve a far comparire il pannello in cui immettere i dati a b c int a = GraphicConsole.readInt (“inserire il valore di a :”); int b = GraphicConsole.readInt (“inserire il valore di b :”); int c = GraphicConsole,readInt (“inserire il valore di c :”); int Δ = bb-4ac ; double X 1 = (-b+Math.sqtr (Δ) ) / (2a)*
/Math e’ una classe per le operazioni matematiche e sqtr e’ un metodo(cioe’ un’operazione)che calcola la radice quadrata di una quantita’ numerica/**
double X 2 = (-b- Math.sqtr (Δ) ) / (2a) GraphicConsole.println (“ L’equazione e’ :”+a+ “xx”+ “+”+b+ “x”+ “+”+c+ “=0”); if (Δ<0) GraphicConsole.println (“L’equazione non ha radici reali”); else GraphicConsole.println (“Le radici dell’equazione sono: x =”+X1+ “ ;x =”+X2);**
F 0 7 D// chiudo il metodo main
F 0 7 D// chiudo la classe Graphic
Fare l’algortmo del triangolo!!!