Basi di Java Strutture base di Java. Basi di java ▪Variabili ▪Operatori ▪Condizioni e Cicli ▪Array.

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

LINGUAGGIO DI PROGRAMMAZIONE C
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A2 Java: le basi del linguaggio.
Array (vettori) In linguaggio C / C++.
3TC – 5/11/2010 Cicli while e do.. While Contatori e Totalizzatori.
PHP.
Algoritmi e Programmazione
Informatica Generale Marzia Buscemi
Indirizzi delle variabili A ogni variabile sono associati tre concetti fondamentali: il valore memorizzato; il tipo dati di appartenenza; lindirizzo. Il.
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Tipi di dato e controllo del flusso Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA.
Informatica di base A.A. 2003/2004 Algoritmi e programmi
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Variabili e tipi primitivi Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Array Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Assegnamento di valore a una variabile Anno Accademico 2009/2010.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
1 Corso di Informatica (Programmazione) Lezione 11 (19 novembre 2008) Programmazione in Java: controllo del flusso (iterazione)
1 Corso di Informatica (Programmazione) Lezione 10 (12 novembre 2008) Programmazione in Java: espressioni booleane e controllo del flusso (selezione)
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Introduzione alla programmazione lll
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
Fondamenti di Informatica I a.a Il linguaggio C Il controllo di flusso La selezione condizionale Listruzione switch I cicli Le istruzioni break,
Istruzioni di ripetizione in Java
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
Selezione (=scelta) con “if-else”
Dichiarazioni e tipi predefiniti nel linguaggio C
Fondamenti di Informatica A - Massimo Bertozzi TIPI DI DATO IN C++ What's in a name? That which we call a rose By any other name would smell as sweet.
Il Linguaggio C.
Java base I: Sintassi e tipi di dati
Programmazione in Java
Programmazione in Java Claudia Raibulet
JAVA Franco Bombi 8 ottobre FB Introduzione Java è un linguaggio di impiego generale, basato su classi e orientato agli oggetti Java.
CODIFICA Da flow-chart a C++.
Cicli in Fortran I cicli consentono di eseguire una sequenza di istruzioni più di una volta due tipi: Cicli iterativi Cicli while.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Parte 4 Elementi di Informatica di base
Laboratorio di Informatica1 Parte 4 Laboratorio di Informatica Dott.ssa Elisa Tiezzi Dott.ssa Elisa Mori.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Capitolo 4 (Deitel) Le strutture di controllo in C
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Appunti di Java (J2SDK 1.4.2, JDK 1.6.0) prof. Antonella Schiavon settembre 2009.
Anno accademico Le istruzioni di controllo in C.
Ripetizione La vera potenza dei programmi per computer risiede nella capacità di ripetere lo stesso calcolo o sequenza di istruzioni più volte, ogni volta.
1 Corso di Informatica (Programmazione) Lezione 8 (7 novembre 2008) Programmazione in Java: operatori aritmetici, operatori di assegnamento e cast.
Introduzione a Javascript
R 255 G 211 B 8 R 255 G 175 B 0 R 127 G 16 B 162 R 163 G 166 B 173 R 104 G 113 B 122 R 234 G 234 B 234 R 175 G 0 B 51 R 0 G 0 B 0 R 255 G 255 B 255 Supporting.
Vettori (a una dimensione)
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre.
Università di Torino – Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a prof. Viviana Bono Blocco 7 – Array.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Fondamenti di Informatica II Ingegneria Informatica (A-I) Prof. M.T. PAZIENZA a.a – 3° ciclo.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Programmazione in Java
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Fondamenti di informatica T-A Esercitazione 2 : Linguaggio Java, basi e controllo del flusso AA 2012/2013 Tutor : Domenico Di Carlo.
Informatica B Allievi Elettrici - AA Fondamenti della programmazione in linguaggio C (III)
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Strutture di controllo
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
Cicli e Array. 2 Costrutto while while(espressione) { … } Il codice dentro le parentesi graffe viene eseguito finché la condizione è vera Potrebbe non.
Introduzione alle Classi e agli Oggetti in Java 1.
Transcript della presentazione:

Basi di Java Strutture base di Java

Basi di java ▪Variabili ▪Operatori ▪Condizioni e Cicli ▪Array

Variabili

Cosa è una variabile ? ▪Una variabile è una casella di memoria identificata da un nome ▪Il suo scopo è di contenere un valore di un certo tipo. Serve per memorizzare dati durante l’esecuzione di un programma. ▪ Il nome di una variabile (come il nome di una classe o di un metodo) è un identificatore. Può essere costituito da lettere, numeri e underscore (esempi: num1, i, risultato, costo_tot,...) Non deve coincidere con una parola chiave del linguaggio (esempi “sbagliati”: class, static, int, …) È bene che sia significativo per il programma (meglio base, altezza e area di X1, X2 e X3)

Variabili in Java In Java ogni variabile deve essere dichiarata prima del suo uso Nella dichiarazione di una variabile se ne specifica il nome e il tipo (o meglio, il tipo dei valori che pu`o contenere) ATTENZIONE! Ogni variabile deve essere dichiarata UNA SOLA VOLTA (la prima volta che compare nel programma)

Tipi primitivi 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 Tipi a virgola mobile float virgolaMobileSingolaPrecisione; // 4 bytes approximately // ± E+38F ( 6–7 significant decimal digits ) double virgolaMobileDoppiaPrecisione; // 8 bytes approximately // ± E+308 ( 15 significant digits) char singoloCarattere; // 'u' boolean miPiaceQuestoPost; // true o false

Si può memorizzare un valore in una variabile tramite l’operazione di assegnamento Il valore da assegnare a una variabile può essere un letterale o il risultato della valutazione di un’espressione Assegnamento Si può memorizzare un valore in una variabile tramite l’operazione di assegnamento Il valore da assegnare a una variabile può essere un letterale o il risultato della valutazione di un’espressione package ict.primoprogetto; public class AreaTriangolo { public static void main(String[] args) { int base, altezza; int area; base = 5; altezza = 10; area = base * altezza / 2; System.out.println(area); } Dall’ esempio si può notare che le variabili possono essere usate anche all’interno di espressioni. I valori di base e altezza vengono letti e usati nell’espressione Il risultato dell’espressione viene scritto nella variabile area

Inizializzazione Dichiarazione+assegamento Si pu`o combinare dichiarazione e assegnamento (dichiarazione con inizializzazione). Come vediamo la variabile può essere inizializzata contestualmente alla sua dichiarazione.

Costanti Nella dichiarazione delle variabili che NON DEVONO mai cambiare valore si può utilizzare il modificatore final Il compilatore si occuperà di controllare che il valore delle costanti non venga mai modificato (riassegnato) dopo essere stato inizializzato. Aggiungere il modificatore final non cambia funzionamento programma... ma serve a prevenire errori di programmazione

Operatori

Cosa è un operatore ? In informatica e programmazione, un operatore è un simbolo che specifica quale legge applicare a uno o più operandi, per generare un risultato.informaticaprogrammazione ▪gli operatori unari lavorano su un singolo operando. Esempi di operatori unari sono quelli di incremento e decremento (vedi sezione seguente);operatori unari ▪gli operatori binari lavorano su due operandi: ne sono esempi gli operatori aritmetici e quelli di assegnamento;operatori binari ▪gli operatori ternari lavorano su tre operandi; uno dei rari esempi è l'operatore condizionale, usato in programmazione.operatori ternari

Principali Operatori Java

Operazioni Aritmetiche L’operazione di divisione / si comporta diversamente a seconda che sia applicato a letterali interi o frazionari ▪25/2 = 12 (divisione intera) ▪25%2 = 1 (resto della divisione intera) ▪25.0/2.0 = 12.5 (divisione reale) 25.0%2.0 = 1.0 (resto della divisione intera) Una operazione tra un letterale intero e un frazionario viene eseguita come tra due frazionari 25/2.0 = 12.5 ATTENZIONE AGLI ERRORI (25/2) = 13.5 (attenzione all’ordine di esecuzione delle operazioni) ERRORE 1.5+(25.0/2.0) = 14.0

Operatori relazionali JAVA package ict.primoprogetto; public class Bisestile { public static void main(String[] args) { int anno = 1900; boolean èBisestile; // divisible per 4 ma non per 100 èBisestile = (anno % 4 == 0) && (anno % 100 != 0); //O è divisibile per 400 èBisestile = èBisestile || (anno % 400 == 0); System.out.println("E' bisestile ?"+èBisestile); }

Condizioni e Cicli

Sequenza Esecuzione in sequenza delle operazioni sulle variabili inizializzate

Alternativa Inizializzazione: assegnazione dei valori iniziali alle variabili caratteristiche del ciclo (viene eseguita una sola volta); Corpo: esecuzione delle istruzioni fondamentali del ciclo che devono essere eseguite in modo ripetitivo; Inizializzazione: assegnazione dei valori iniziali alle variabili caratteristiche del ciclo (viene eseguita una sola volta); Corpo: esecuzione delle istruzioni fondamentali del ciclo che devono essere eseguite in modo ripetitivo; Modifica: modifica dei valori delle variabili che controllano l'esecuzione del ciclo (eseguito ad ogni iterazione); Modifica: modifica dei valori delle variabili che controllano l'esecuzione del ciclo (eseguito ad ogni iterazione); Controllo: determina, in base al valore delle variabili che controllano l'esecuzione del ciclo se il ciclo deve essere ripetuto o meno Controllo: determina, in base al valore delle variabili che controllano l'esecuzione del ciclo se il ciclo deve essere ripetuto o meno

Iterazione Iterazione o Ripetizione Esprime la ripetizione di una sequenza di istruzioni. Nel caso piu` generale (ripetizione enumerativa),

Iterazione Inizializzazione: assegnazione dei valori iniziali alle variabili caratteristiche del ciclo (viene eseguita una sola volta); Corpo: esecuzione delle istruzioni fondamentali del ciclo che devono essere eseguite in modo ripetitivo; Modifica: modifica dei valori delle variabili che controllano l'esecuzione del ciclo (eseguito ad ogni iterazione); Controllo: determina, in base al valore delle variabili che controllano l'esecuzione del ciclo se il ciclo deve essere ripetuto o meno.

If….. else…. Istruzioni condizionali Un’istruzione condizionale if-else ha questa forma: if (...condizione...)...comando... else...comando... dove: La condizione è detta anche guardia dell’if ▪La guardia può essere vera (true) o falsa (false) ▪ I due comandi alternativi sono detti anche rami Il ramo else è opzionale (vedremo) In un programma spesso c’e’ bisogno di scegliere tra operazioni diverse Per questo esiste l’istruzione condizionale if-else

Condizioni in Java public class Lancia { public static void main(String[] args) { if (Math.random() < 0.5) System.out.println(“Testa"); elseMath.random() < 0.5) System.out.println(“Croce"); }

Cicli ▪Nota per i programmatori C++ ▪I costrutti di controllo del flusso offerti da Java sono praticamente uguali a quelli del C++: per voi dovrebbe quindi essere molto naturale usarli. Solo con Java 5 è stato introdotto un nuovo costrutto per ciclare, il foreach, molto elegante e potente. ( lo vedremo dopo aver introdotto gli array).

While class WhileDemo { public static void main(String[] args){ int count = 1; while (count < 11) { System.out.println("Count is: " + count); count++; } Il codice di cui sopra stampa il valore di count: il loop while viene eseguito 10 volte, dopodichè la condizione diventa false e il flusso continua in modo lineare.

Do-While class DoWhileDemo { public static void main(String[] args){ int count = 1; do { System.out.println("Count is: " + count); count++; } while (count <= 11); } L’unica differenza tra il while e il do-while è che il secondo valuta l’espressione alla fine del loop, anziché all’inizio: questo implica che gli statement inclusi nel blocco do sono eseguiti almeno una volta.

For: for (initialization; termination; increment or decrement) { statement(s) } // vengono stampati i numeri da 1 a 10 for (int i = 1; i <= 10; i++) System.out.println(i); // conto alla rovescia da 10 a 1 for (int i = 10; i > 0; i--) System.out.println("Conto alla rovescia... " + i); System.out.println("Decollo!"); L’espressione di inizializzazione è eseguita una volta sola, quando il loop inizia. Quando l’espressione di terminazione vale false il loop termina. L’espressione di incremento è invocata ad ogni iterazione del loop e può incrementare o decrementare un valore.

Array

Un array è una struttura dati che memorizza una collezione di valori dello stesso tipo. Ogni elemento singolo viene acceduto tramite un indice intero. Vediamo come dichiarare e usare un array con un esempio di codice:

Array Supponiamo di voler scrivere un programma che chiede all’utente di inserire 10 numeri, e poi li stampa nell’ordine in cui sono stati inseriti Dovremmo usare 10 variabili di tipo intero per collezionare i valori inseriti. SCOMODO, IMPRATICABILE QUANDO LE VARIABILI SONO MIGLIAIA I linguaggi di programmazione ci forniscono il costrutto degli ARRAY Un array `e: una sequenza di variabili di tipo omogeneo (tutti dello stesso tipo) distinguibili l’uno dall’altro (indirizzabili) in base alla loro posizione all’intero della sequenza (indici interi)

Dichiarazione di un array Tipo dell’array Simbolo [ ] Utilizziamo l’operatore new e chiamiamo il COSTRUTTORE dell’array passandogli la dimensione tra [ ] int [] elementi = new int [5]; // crea un array di 5 elementi inizializzati a 10, 5, 21, -12 e 74 int [] numeri = { 10, 5, 21, -12, 74 };

Uso degli array double[] x = { 0.3, 0.6, 0.1 }; double[] y = { 0.5, 0.1, 0.4 }; int N = x.length; double sum = 0.0; for (int i = 0; i < N; i++) { sum = sum + x[i]*y[i]; }

Attenzione I singoli elementi di un array possono essere acceduti in lettura (in un’espressione) o in scrittura (in un assegnamento) indicandone la posizione (indice) tra parentesi quadrate Ricordarsi che il primo elemento ha indice 0!!! ATTENZIONE: se l’array ha dimensione n l’indice tra le parentesi deve essere compreso tra 0 e n-1 ▪in caso contrario si incontrerà un errore in fase di esecuzione