IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

Documenti analoghi
Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:

Riassunto. I mattoni di base di un programma Java. Oggi. Un programma complicato. Oggi. Perché è complicato? Stefano Mizzaro 1.

Linguaggio C - sezione dichiarativa: costanti e variabili

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO

Le basi del linguaggio Java

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi

LINGUAGGI DI PROGRAMMAZIONE!

Prima lezione di laboratorio. I mattoni di base di un programma Java. Comandi Unix. Riassunto. Oggi. Un programma complicato.

5 - Istruzioni condizionali

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali:

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Programmazione in Java (I modulo)

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Algoritmi di Ricerca. Esempi di programmi Java

Struttura dei programmi C

Prima lezione di laboratorio. I mattoni di base di un programma Java. Riassunto. Comandi Unix. Oggi. Blog & Group.

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso

Laboratorio di programmazione

Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

Indice. Prefazione. 3 Oggetti e Java 53

Introduzione a Java. Riferimenti

18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Tipi di dato primitivi

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Le variabili. Olga Scotti

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli

STRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe

Esercizi Programmazione I

La sintassi del C APPENDICE H

Espressioni. Espressione = meccanismo fondamentale per esprimere computazioni in un LP importante comprenderne la semantica!

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre Negli esercizi proposti si utilizzano le seguenti classi:

Proprietà delle Classi e degli Oggetti in Java

Conversioni fra Tipi di Dati. Luca Abeni

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

Concetti base programmazione. Antonio Gallo

Programmazione Java Struttura di una classe, Costruttore, Riferimento this

Tipi di dati fondamentali. Tipi di dati fondamentali. Utilità dei tipi di dati nelle dichiarazioni. Il tipo di dati char. Codice ASCII.

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

Programmazione web lato client con JavaScript. Marco Camurri 1

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione, 4 a lezione

Operazioni numeriche - Input

Puntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

INSTALLAZIONE, DOCUMENTAZIONE, TUTORIAL E PRIMI PROGRAMMI

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Programmazione ad oggetti

Tipi ed espressioni. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 5. Carla Limongelli Settembre 2007

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Lab 02 Tipi semplici in C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 13. Tipi ed espressioni. Carla Limongelli Aprile Tipi ed espressioni 1

Gli Operatori. Università degli Studi di Brescia

Informatica Generale Andrea Corradini I linguaggi di programmazione

Lezione 3 programmazione in Java

Un elaboratore è un manipolatore di simboli (segni) intrinsecamente capace di trattare vari. caratteri char caratteri ASCII unsigned char

Introduzione al Linguaggio C

Programmazione ad Oggetti. Java Parte II

TIPI PRIMITIVI: LIMITI

Tipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola.

Espressioni ed operatori in C

Problemi, algoritmi e oggetti

Uso di metodi statici. Walter Didimo

Laboratorio di Informatica 4 Novembre 2005

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

Laboratorio di informatica Ingegneria Clinica. Esercitazione 2 10 Ottobre 2011

Algoritmi di Ricerca. Esempi di programmi Java

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

ARRAY BIDIMENSIONALI float [][] mx = new float[3][4]; (float []) [] mx = new float[3][4];

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere

Gli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento

Informatica I. Ingegneria Medica. Prof. Diego Salamon

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4

14 - Metodi e Costruttori

Array Bidimensionali in Java. Esempi di Elaborazioni su Matrici

Linguaggi ad oggetti (object oriented) LINGUAGGI DI PROGRAMMAZIONE: PARADIGMI DI PROGRAMMAZIONE. Programmazione ad oggetti

3. La sintassi di Java

Definizione di classi

La programmazione nel linguaggio C

Funzioni, Stack e Visibilità delle Variabili in C

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1

Tipo intero. Esempio. Tipo intero: operatori. Programma PortaMonete.java. Tipi base o primitivi

Variabili e Metodi di classe Interfacce e Package Gestione di File in Java

Una classe Borsellino. Tipi numerici di base - Costanti. Esempio d uso. Classe Borsellino cont d. Primi passi per l implementazione di Purse

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso

Unità B1 Programmazione base

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

SULL USO DEI CARATTERI. char x; si legge con ( %c,&x) e si stampa con ( %c,x) ma anche con ( %d,x) DUE ESEMPI

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl

Sviluppo di programmi

Programmazione Orientata agli Oggetti in Linguaggio Java

Transcript:

Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1

Lettura di dati da input In Java la lettura di dati da input non è diretta come in C. Useremo una classe non-standard per effettuare operazioni di input da tastiera. Questa classe prende il nome di Console che esporta metodi per leggere interi, reali a doppia precisione (double), stringhe e parole. Fondamenti di Informatica - D. Talia - UNICAL 2

Lettura di dati da input classe Console Di seguito sono indicati i metodi di lettura definiti dalla classe Console Lettura di un numero intero public static int readint(string prompt) Ad esempio x = readint( Inserire un intero: ); Lettura di un numero reale public static double readdouble(string prompt) Ad esempio r = readdouble( Inserire un reale: ); Fondamenti di Informatica - D. Talia - UNICAL 3

Lettura di dati da input classe Console Lettura di una stringa di caratteri che termina con newline public static String readstring() Ad esempio s = readstring(); Lettura di una stringa che termina con newline (2) public static String readstring(string prompt) Ad esempio s = readstring( Inserire una stringa ); Lettura di una parola che termina con uno spazio public static String readword() Ad esempio w = readword(); Fondamenti di Informatica - D. Talia - UNICAL 4

Primo esempio di un programma Java Semplicissimo programma che stampa la stringa Ciao. public class FaiCiao public static void main(string args[]) System.out.println("Ciao a tutti"); Fondamenti di Informatica - D. Talia - UNICAL 5

Primo esempio : una versione O-O La versione più object-oriented del programma che stampa la stringa Ciao è la seguente. class FaiCiao public static void main(string args[]) Ciao miosaluto = new Ciao(); miosaluto.stampaciao(); Creazione di un oggetto class Ciao public static void StampaCiao() System.out.println("Ciao a tutti"); Fondamenti di Informatica - D. Talia - UNICAL 6

Area di un Rettangolo Programma Java che calcola l area di un rettangolo. public class AreaRettangolo public static void main(string args[]) int base, altezza, area; base = 5; altezza = 8; area = base * altezza; System.out.println("Area = " + area); Fondamenti di Informatica - D. Talia - UNICAL 7

Classe Rettangolo : una versione O-O Vogliamo definire una classe Rettangolo che sia più generale e definisca un insieme di operazioni su rettangoli. DATI base Rettangolo altezza costruttore Rettangolo() OPERAZIONI Area() Perimetro() Diagonale() Fondamenti di Informatica - D. Talia - UNICAL 8

Classe Rettangolo : una versione O-O Un programma che crea ed usa oggetti Rettangolo class Rettangolo private double altezza; // variabili d istanza private double base; /* Costruttore : inizializza un oggetto Rettangolo */ public Rettangolo() this.base = Console.readDouble("Inserisci la base: "); this.altezza =Console.readDouble("Inserisci l'altezza: ");..... Fondamenti di Informatica - D. Talia - UNICAL 9

Classe Rettangolo : una versione O-O...... /* Calcola l'area del rettangolo. */ public double area() double a; // area del rettangolo a = this.base * this.altezza; return a; /* Calcola il perimetro del rettangolo. */ public double perimetro() double p; // perimetro del rettangolo p = (2 * this.base)+ (2 * this.altezza); return p; // chiude la definizione della classe Fondamenti di Informatica - D. Talia - UNICAL 10

Classe Rettangolo : una versione O-O class TestRettangolo2 public static void main(string args[]) Rettangolo B, C; // due rettangoli double areab; // area del rettangolo b double perimetroc; // perimetro del rettangolo c /* crea i due rettangoli */ B = new Rettangolo(); C = new Rettangolo(); /* calcola e visualizza l'area di B */ areab = B.area(); System.out.println("Area di B = " + areab); /* calcola e visualizza il perimetro di C */ perimetroc = C.perimetro(); System.out.println(" Primetro di C = " + perimetroc); Fondamenti di Informatica - D. Talia - UNICAL 11

Commenti in programmi Java // commento fino a fine linea /* commento che può occupare più linee */ /** commento su più linee che viene estratto dallo strumento che genera automaticamente la documentazione */ Fondamenti di Informatica - D. Talia - UNICAL 12

Tipi in Java Nei linguaggi di programmazione di alto livello le variabili e le espressioni sono caratterizzati da un tipo. Un tipo di dati (o tipo) è costituito da un insieme di valori ammissibili un insieme di operatori che possono essere applicati ai valori del tipo I tipi sono importanti perché il significato e la correttezza di molte istruzioni è legata non solo alla forma sintattica delle istruzioni, ma anche a vincoli semantici, che sono definiti tramite tipi. Fondamenti di Informatica - D. Talia - UNICAL 13

Tipi primitivi in Java Tipi primitivi boolean (1 bit) valori: true o false byte (8 bit ) un intero tra 128 e +127 short (16 bit) un intero tra 32768 e +32767 float (32 bit ) un numero razionale in virgola mobile (9 cifre significative eesponente tra 45 e +38) int (32 bit) un intero di valore compreso tra 2147483648 e +2147483647 double (64 bit) un numero razionale in virgola mobile (18 cifre significative eesponente tra 324 e +308) long (64 bit) un intero di valore compreso tra 223372036854775808 e +9223372036854775807 char (16 bit) un carattere dell alfabeto Unicode Fondamenti di Informatica - D. Talia - UNICAL 14

Tipi primitivi in Java I tipi primitivi non sono rappresentati da classi (efficienza) Hanno dimensione fissata dalla specifica del linguaggio (portabilità) Non esistono i tipi unsigned e i tipi puntatore a. Le classi definiscono i tipi non primitivi (riferimento) Fondamenti di Informatica - D. Talia - UNICAL 15

Conversione di tipi In Java è possibile effettuare conversione tra variabili che hanno tipi diversi ma compatibili. Conversione implicita Ad esempio int i; short s; i = s + 1; La conversione implicita di tipo si ha nei casi in cui non ci sia perdita di informazione (promozione). int i; long l; l = i + 10; Fondamenti di Informatica - D. Talia - UNICAL 16

Conversione di tipi Nessuna conversione implicita di tipo nei casi in cui ci sia perdita di informazione (errore di compilazione!). Ad esempio: int vintera; double vreale = 3.14159; vintera = vreale; NO! Conversione esplicita Ad esempio vintera = (int)vreale; SI (Narrowing) La conversione esplicita è detta casting. Fondamenti di Informatica - D. Talia - UNICAL 17

Operatori in Java Operatori aritmetici: somma (+), sottrazione (-), prodotto (*), divisione (/), resto(%), incremento(++), decremento (--), (+=, -=, *=, /=) Operatori relazionali: uguale (==), diverso (!=), maggiore (>), minore (<), minore o uguale (<=), maggiore o uguale (>=) Operatori logici: not (!), or ( ), and (&). Sequenze di escape: \b, \t, \n, \r, \, \, \\ Fondamenti di Informatica - D. Talia - UNICAL 18

Istruzioni composte Oltre alle istruzioni elementari come l assegnamento, il return, ecc., il linguaggio mette a disposizione del programmatore un insieme di istruzioni composte che servono a controllare il flusso di esecuzione di un programma come le istruzioni if-else, for, while, do-while. Istruzione condizionale if-else L istruzione if-else serve per valutare il valore di una espressione logica ed eseguire le operazioni opportune. Fondamenti di Informatica - D. Talia - UNICAL 19

Istruzione if-else if (condizione) istruzioni else istruzioni Il ramo else e le parentesi possono mancare. In questo caso si parla di istruzione if. Fondamenti di Informatica - D. Talia - UNICAL 20

Istruzione if-else ESEMPI if (i >= 0) System.out.println( Valore positivo ); else System.out.println( Valore negativo ); if (x == 0) y = 10; else y = x +3*z; if (x == 0 & z > x) y= 10; z= z-1; Fondamenti di Informatica - D. Talia - UNICAL 21

Istruzione if-else ESEMPI if (x == 0) z = 4; else y = 20 + x*z; if (x >0 x<0) x = 0; else y = x + 1; x = x - 1; Fondamenti di Informatica - D. Talia - UNICAL 22

Istruzione if-else annidati Ovviamente una istruzione if può contenere altre istruzioni if. Occorre stare attenti all uso delle parentesi quando vi sono if annidati. Se non si usano le parentesi, un eventuale ramo else fa riferimento all if più interno: if (x > 0) if (x > 20) System.out.println( Positivo maggiore di 20 ); else System.out.println( Positivo minore di 20 ); Fondamenti di Informatica - D. Talia - UNICAL 23

Istruzione if-else annidati Il precedente codice è diverso dal seguente in cui le parentesi sono usate diversamente per ottenere uno scopo differente if (x > 0) if (x > 20) System.out.println( Positivo maggiore di 20 ); else System.out.println( Negativo o nullo ); Fondamenti di Informatica - D. Talia - UNICAL 24