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

Похожие документы
Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

3. La sintassi di Java

Programmazione in Java (I modulo) Lezione 3: Prime nozioni

Java: Compilatore e Interprete

Le command line di Java

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015

Le variabili. Olga Scotti

Richiesta pagina PHP (es: index.php)

Introduzione alla programmazione in C

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Arduino: Programmazione

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

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

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

Programmazione in Java Parte I: Fondamenti

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO

LINGUAGGI DI PROGRAMMAZIONE

Concetto di Funzione e Procedura METODI in Java

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

La selezione binaria

Laboratorio di Informatica

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL

Introduzione al MATLAB c Parte 2

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Alcune regole di base per scrivere un programma in linguaggio C

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

INFORMATICA 1 L. Mezzalira

Variabili e tipi di dato

FONDAMENTI di INFORMATICA L. Mezzalira

Esercizi Java. class somma2 { static int somma(int a,int b) {return a+b; }

Linguaggio C. Fondamenti. Struttura di un programma.

+ / operatori di confronto (espressioni logiche/predicati) / = > < Pseudo codice. Pseudo codice

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Funzioni in C. Violetta Lonati

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++

If a cascata, switch, boolean

Corso Programmazione 1 Capitolo 01: Concetti Elementari

Introduzione alla programmazione Java. Dott. Ing. M. Banci, PhD

GESTIONE INFORMATICA DEI DATI AZIENDALI

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 17 Dicembre 2005

Algebra Booleana ed Espressioni Booleane

Definizione di nuovi tipi in C

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1

Corso di INFORMATICA 2 (Matematica e Applicazioni)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

Programmare in Java. Olga Scotti

Elementi di semantica operazionale

Matlab: Strutture di Controllo. Informatica B

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a prof.

Alfabeto ed elementi lessicali del linguaggio C


Oggetti Lezione 3. aspetti generali e definizione di classi I

Approccio stratificato

2. Spiegare brevemente qual è la funzione del compilatore e la sua importanza per il programmatore.

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

Realizzazione di una classe con un associazione

I sistemi di numerazione

4 3 4 = 4 x x x 10 0 aaa

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Scrivere un programma in Java

Elementi di Informatica

Esercitazione n 4. Obiettivi

dall argomento argomento della malloc()

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Strutture di controllo del flusso di esecuzione

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

Corso Eclipse. Prerequisiti. 1 Introduzione

Algoritmi di Ricerca. Esempi di programmi Java

Dati testuali. Caratteri e stringhe. Tipi di dato testuali. Dati testuali. Il sistema dei tipi C. Rappresentazione dei testi

Programmazione ad oggetti

Client - Server. Client Web: il BROWSER

Strumenti per la programmazione

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

10 - Programmare con gli Array


COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 21 Dicembre 2006

Progetto Automi e Linguaggi Parser svliluppato con JLex e cup

Informatica. Fondamenti della Programmazione in Java. Leonardo Vanneschi

Programmazione I - Laboratorio

RISOLUTORE AUTOMATICO PER SUDOKU

Inizializzazione, Assegnamento e Distruzione di Classi

15 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Soluzione dell esercizio del 2 Febbraio 2004

Unità B3 Strutture di controllo

Reflection in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a giugno 2013

Protezione. Protezione. Protezione. Obiettivi della protezione

Corso sul linguaggio Java

Транскрипт:

Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del web di utilizzare applicazioni sicure ed indipendenti dalla piattaforma in uso. Che cos e Java? Java e un linguaggio di programmazione orientato agli oggetti E un linguaggio multi-piattaforma Il codice compilato puo essere eseguito su qualunque piattaforma per la quale sia disponibile un Java Environment write once and run everywhere (scrivi una volta ed esegui ovunque) 1/29 2/29 A oggetti Semplice Distribuito Robusto Sicuro Caratteristiche di Java Java: linguaggio a oggetti La progettazione a oggetti si concentra sui dati e sulle relative interfacce piuttosto che sulle procedure strutturate il programma è costituito da oggetti che possiedono determinate proprietà e funzioni. Indipendente dall architettura 3/29 4/29 Java: distribuito Le applicazioni java possono essere eseguite ovunque sul network senza conoscere la piattaforma hardware e software Il formato binario ad architettura neutrale dei file class (bytecode) permette l esecuzione delle applicazioni scritte in Java su tutte le piattaforme. Java possiede un estesa libreria di routine per gestire i protocolli di comunicazione. Le applicazioni Java possono facilmente gestire oggetti ed accedere ad essi attraverso la rete. Il meccanismo di chiamata con metodi remoti consente, inoltre, la comunicazione tra oggetti distribuiti. Java: robusto Java insiste molto su: l controllo iniziale degli eventuali problemi mediante la compilazione del codice successivo controllo dinamico (run-time) eliminazione di tutte le situazioni che possono generare errori. 5/29 6/29

Java: sicuro È destinato ad ambienti di rete per cui la sicurezza è particolarmente curata. Permette di costruire applicazioni che possono difficilmente essere invase da altre applicazioni. Gestisce le politiche di accesso ai componenti della macchina e alla rete in modo rigoroso Java: indipendente dall architettura Il compilatore Java genera un formato di file indipendente dall architettura: il bytecode Il bytecode è eseguibile su ogni tipo di piattaforma hardware-software che metta a disposizione un java runtime environment (macchina virtuale Java) La macchina virtuale Java traduce istantaneamente il bytecode nel codice macchina nativo. Il bytecode è un esempio di tentativo di portabilità reale e totale. 7/29 8/29 Una classe Java Qualunque oggetto in Java deve essere definito come una classe con l identificativo class Normalmente ogni classe che costituisce il nostro programma deve essere definita in un file il cui nome sara lo stesso della classe Es. la classe Laser dovra essere definita nel file Laser.java Un programma deve essere costituito da almeno una classe che definisce il metodo main Es. Laser.java public class Laser Dichiarazione della classe int potenza; Attributi visibili e attributi nascosti private int angle; public Laser(int power) potenza = power; Costruttore angle = 0; public void orienta(int gradi) angle = gradi; Metodo public void spara() Metodo potenza-=100; System.out.println("Laser: potenza "+potenza); 9/29 10/29 Il programma minimo public class Hello public static void main(string args[]) System.out.println( Hello World! ); Sintassi case sensitive: distingue tra le lettere minuscole e quelle maiuscole Ogni istruzione deve terminare con un punto e virgola Commenti: si puo utilizzare: // commenta la riga /* commenta tutto fino a */ Regole stilistiche: Il nome della classe inizia con una lettera maiuscola Es. Laser Nomi composti da piu parole vengono evidenziati utilizzando l iniziale maiuscola per ogni sotto-parola. Es. LaserRicaricabile 11/29 12/29

Variabili Dichiarazione di variabili: tutte le variabili prima di essere utilizzate devono essere dichiarate tipo della variabile (identificativo standard) nome variabile (identificativo scelto dall utente) Inizializzazione: spesso alla variabile deve esser assegnato un valore iniziale Dichiarazione e inizializzazione possono essere fatte nella stessa istruzione ES: /* solo dichiarazione */ int x; /* inizializzazione */ x = 10; /* dichiarazione ed inizializzazione allo stesso tempo */ int y = 15; Java permette la dichiarazione e inizializzazione delle variabili in qualunque parte del codice (al momento del bisogno) Es. for(int i = 0; i < N; i++) Tipi di dati (identificativi standard) Tipo char int short long byte boolean float double Rappresentazione Carattere "corto" "lungo" byte Valore booleano Numero reale Numero reale "lungo" N. di byte 2 (16 bit) 4 (32 bit) 2 (16 bit) 8 (64 bit) 1 (8 bit) 1 (8 bit) 4 (32 bit) 8 (64 bit) Range 65.536 car. da -2147483648 a 2147483647 da -32768 A 32767 da -10 mil di mil A 10 mil di mil da -128 a 127 true o false 7 cifre decimali 15 cifre decimali 13/29 14/29 Operatori matematici Operazione Addizione Sottrazione Moltiplicazione Divisione Divisione con modulo (solo numeri interi) incremento unitario decremento unitario Simbolo + - * / % ++ -- Utilizzo degli operatori di incremento e decremento x++; /* equivale a scrivere x = x + 1; */ x--; /* equivale a scrivere x = x -1; */ Possono trovarsi in due posizioni: Post-fissi x++ Pre-fissi ++x Post-fissi: il valore viene aggiornato dopo la valutazione dell espressione in cui si trova Pre-fissi: il valore viene aggiornato prima 15/29 16/29 Forma contratta per operatori aritmetici espressione1 = espressione1 <operatore> espressione2 Operatori di confronto Simbolo Significato Utilizzo /* questa risulta equivalente alla sottostante */ espressione1 <operatore> = espressione2 ==!= uguale a diverso da a == b a!= b x = x + 3; /* diventa */ x += 3; y = y * 5; /* diventa */ Y *= 5; < > <= > minore maggiore minore o uguale maggiore o uguale a < b a > b a <= b a >= b 17/29 18/29

Operatori logici Simbolo Significato Utilizzo && AND logico a && b OR logico a b Istruzioni di scelta In Java come in linguaggio C esistono due tipi di strutture di controllo condizionale (istruzioni di scelta): if-else : permette di scegliere tra due possibili alternative switch : permette di scegliere tra n possibili alternative 19/29 20/29 Sintassi: if (espressione) istruzione1 istruzione2 oppure: if (espressione) istruzione1 else istruzione2 if - else Sintassi: switch switch (espressione) case elem_1: istruzione_1; case elem_2: istruzione_2;... case elem_n: istruzione_n; default: istruzione; 21/29 22/29 Esempio "numero variabile intera che può assumere valori maggiori od uguali a zero switch (numero) case 0: System.out.println("Nessuno"); case 1: System.out.println("Uno"); case 2: System.out.println("Due"); default: System.out.println("Valore diverso da 0, 1 o 2\n"); Strutture iterative Le strutture iterative in linguaggio C sono tre: il while, che continua il suo ciclo fino a quando l'espressione associata non risulta falsa il do-while, che agisce come il while, ma assicura l'esecuzione delle istruzioni associate almeno una volta il for, che è il costrutto più usato, versatile e potente tra i tre. 23/29 24/29

while La struttura del while è la seguente: while (condizione) Le istruzioni all'interno del while agiscono sulla condizione modificandola (altrimenti il ciclo non terminerebbe). do - while La struttura è la seguente: do while (condizione); Le istruzioni all'interno del blocco vengono eseguite almeno una volta indipendentemente dalla condizione 25/29 26/29 for La struttura è la seguente: for (inizializzazione ; condizione ; incremento) Le espressioni all'interno del for hanno diversi compiti, e sono separate da un punto e virgola: La prima viene eseguita una sola volta prima di entrare nel ciclo: inizializza la variabile di controllo del ciclo. La seconda è la condizione (che coinvolge anche la variabile di controllo), che se risulta falsa interrompe l'esecuzione del ciclo. La terza costituisce l'istruzione di incremento della variabile di controllo che viene eseguita dopo ogni ciclo del for. Esempio for (int i=0; i<=100; i++) System.out.println( Il valore di i e +i); /* la variabile i viene inizializzata all interno del costrutto for, il valore di i determina l uscita dal ciclo, l istruzione i++ incrementa la variabile di controllo ad ogni ciclo */ 27/29 28/29 L istruzione break etichettato In Java l istruzione goto non esiste. Un implementazione equivalente si puo ottenere grazie alla possibilita di etichettare una istruzione di Es: int a = 0; inizio: for(int i=0; i < N; i++) break inizio; 29/29