Prof. Pagani corrado JAVA

Documenti analoghi
Prof. Pagani corrado JAVA

Prof. Pagani Corrado ESERCITAZIONI JAVA

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1

Introduzione a Java A. FERRARI

Java SE 7. Introduzione.

A. Ferrari. informatica. introduzione a Java. Alberto Ferrari Informatica

Programmazione I - corso B a.a prof. Viviana Bono

Programmazione in Java e gestione della grafica (I modulo) Lezione 2: Prime nozioni di Java

Laboratorio di Programmazione Laurea in Bioinformatica

Traduzione e interpretazione

Java: un linguaggio per applicazioni di rete

Fondamenti di Informatica T1 Introduzione al linguaggio Java Input/Output-Variabili-Tipi

Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni

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

Le basi del linguaggio Java

Parte prima: le basi della programmazione Java

Esame Laboratorio di Programmazione

Programmazione Orientata agli Oggetti in Linguaggio Java

Corso sul linguaggio Java

Fondamenti di Informatica T-1

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Fondamenti di Informatica T-1. Introduzione al linguaggio Java Input/output, variabili, tipi

Esonero di Informatica I. Ingegneria Medica

Fondamenti di Informatica T-1

Motorino colore velocità tipo antifurto getvelocità accelera antifurto inserisciantifurto antifurto

Strumenti Java. Fondamenti di informatica L-B A.A Alessandra Toninelli

Inizializzare oggetti

Esercitazione. Docente Ing. Mariateresa Celardo

Programmazione con Java

3) Descrivere l architettura di un elaboratore tramite astrazione a livelli

Fondamenti di Java Lezione n. 1. Che cos'è Java?

Corso sul linguaggio Java

Dichiarazione di una classe. Dichiarazione ereditarietà

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni

Basi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste. Basi di Dati e Web. Credits to: Prof. M. Di Felice UniBO

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java

Fondamenti di Informatica T-1

Introduzione all uso degli oggetti in Java (parte I) Walter Didimo

Java. Java: compilatore e interprete. Programma Java. Java Virtual Machine. Token. Alfabeto

Programmazione in Java. Indipendenza dalla piattaforma. Indipendenza dalla piattaforma. Autore: Roberto Fabbrica Diapo 1.

I L IN I GU G AGG G I G O

JAVA IL LINGUAGGIO. Ogni valore nel linguaggio ha un tipo Ogni variabile deve essere dichiarata ed associata ad un tipo:

Sistemi Informativi Aziendali. Programma del corso

Linguaggi di Programmazione

Programmazione ad oggetti

Introduzione al corso. Obiettivo del corso

Introduzione a Java. Riferimenti

Motorino colore velocità tipo antifurto getvelocità accelera antifurto inserisciantifurto antifurto

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 4 24/10/2013

6. Il Linguaggio Java

Introduzione alle JSP

INFORMATICA. L informatica comprende:

Programmazione. Fondamenti di Informatica

Introduzione alla programmazione

Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java

Ingegneria del Software 1: Eclipse

A. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica

Java Native Interface Appunti

NetBeans. Dott. Ing. Rossella Rubino A.A. 2007/2008 Laboratorio II CdL: Operatore Informatico Giuridico

Capitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61

Analisi e sviluppo di un client per l accesso a dati su server remoto da dispositivi embedded

Macchine astratte, linguaggi, interpretazione, compilazione

AMBIENTI DI PROGRAMMAZIONE

Java il Corso Fondamentale

Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)

LABORATORIO DI INFORMATICA. Prof.ssa Patrizia Tarantino

Funzioni, Stack e Visibilità delle Variabili in C

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

Ambienti di Sviluppo. Linguaggi compilati

Prof. Pagani Corrado ESERCITAZIONI DIAGRAMMI DELLE CLASSI UML E JAVA

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C

Macchine Astratte. Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari. Linguaggi di Programmazione feb, 2016

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Istallazione di Java - Uso delle librerie

Java. Java : compilatore e interprete. Programma Java. Java Virtual Machine. Il linguaggio Java è un linguaggio di programmazione ad alto livello

Java. Java : compilatore e interprete. Programma Java. Java Virtual Machine. Token. Alfabeto

Concetti introduttivi

Capitolo 1. Introduzione. Cay S. Horstmann Concetti di informatica e fondamenti di Java

Macchine astratte, linguaggi, interpretazione, compilazione

Introduzione Programmazione Java

Funzioni, Stack e Visibilità delle Variabili in C

Laboratorio di programmazione

ArcGIS for Windows Mobile

Componenti di una applicazione. Esempio: Microsoft Word

Corso di Tecnologie Object Oriented. Programmazione in linguaggio Java

Linguaggi Object Oriented: Principi e Introduzione a Java

POLITECNICO DI TORINO. Laboratorio di Compilatori Corso di Linguaggi e Traduttori. Esercitazione 5. a.a 2010 / Controllo dei tipi

Impariamo a programmare in. Lezione 5

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

Introduzione al multithreading

Prova d Esame Compito A

Informazioni sull esame e Regole per lo svolgimento dei progetti

Transcript:

Prof. Pagani corrado JAVA

NASCITA DI JAVA Java è stato creato, a partire da ricerche effettuate alla Stanford University agli inizi degli anni Novanta, da un gruppo di esperti sviluppatori capitanati da James Gosling in Sun Microsystems. Per facilitare il passaggio a Java ai programmatori legati a linguaggi come il C++, la sintassi di base è stata mantenuta pressoché identica a quella del C++; tuttavia, non sono state introdotte caratteristiche ritenute fonti di una complessità non necessaria come l'aritmetica dei puntatori, l'ereditarietà multipla delle classi, e l'istruzione goto. In un primo momento Sun decise di destinare questo nuovo prodotto alla creazione di applicazioni complesse per piccoli dispositivi elettronici; a metà degli anni 90, con l'esplosione di internet, Java iniziò a farsi notare e a diffondersi enormemente come strumento di programmazione web.

PUNTI DI FORZA 1. Paradigma ad oggetti puro ad eccezione dei tipi primitivi 2. 3. 4. Portabilità Ampia disponibilità di librerie e strumenti Sicurezza del codice Applet eseguono codice scaricato (tramite browser) da server remoto in modalità sicura (sandbox) necessitano della JVM su PC locale 5. Multithreading nativo Non dipende dal SO

PORTABILITA Java è un linguaggio al tempo stesso compilato e interpretato Compilatore produce bytecode (linguaggio intermedio portabile) che facilità il lavoro dell interprete (e quindi le prestazioni) Interprete JVM dipende dalla piattaforma hardware/software e deve essere installato sul PC su cui si avvia il programma

COMPILATORE E JVM JDK JRE

LIBRERIE DEL LINGUAGGIO Java prevede numerose librerie che permettono l interazione con diverse tecnologie software: Accesso a DB relazionali XML Programmazione WEB sia client sia server Interfaccia grafica utente multimedialità

LIBRERIE E PIATTAFORME SOFTWARE (API) Il linguaggio in sé definisce solo una minima parte delle librerie utilizzabili. La parte restante è definita dalla piattaforma sulla quale il programma sarà eseguito. La Oracle mette a disposizione tre piattaforme ufficiali, ciascuna destinata ad ambiti diversi: Java Platform, Standard Edition Java Platform, Micro Edition Java EE

JAVA PLATFORM, STANDARD EDITION La Java Platform, Standard Edition è una piattaforma software ampiamente utilizzata nella programmazione in linguaggio Java per costruire e distribuire applicazioni portatili ad uso generale. Java SE consiste di una macchina virtuale (Java Virtual Machine), che deve essere usata per eseguire (interpretare) programmi Java Librerie (API) necessarie per consentire l'uso di file system, reti, interfacce grafiche e così via, all'interno di tali programmi.

JAVA PLATFORM, ENTERPRISE EDITION La specifica Java EE include tecnologie che estendono le funzionalità di base della piattaforma Java; principalmente abbiamo: Componenti web Le componenti che rientrano in questa categoria sono quelle legate alla visualizzazione delle pagine web ed all'esposizione di web service. Componenti enterprise L'uso di queste componenti è richiesto solamente in applicativi di medie e grandi dimensioni. Componenti per l'interazione con la base dati Questa categoria contiene le tecnologie che permettono la persistenza dei dati all'interno di una base dati relazionale

PACKAGE Le classi che costituiscono un programma JAVA sono normalmente suddivise in insiemi definiti PACKAGE, in modo da avere una struttura il più possibile ordinata Package nomepackage; I package una volta compilati possono essere memorizzati in file compressi con estensione.jar che ne comprendono i Lbytecode Un package definisce un nuovo spazio dei nomi per le classi che si trovano al suo interno, per questo i programmatori possono creare classi con lo steso nome all interno di package diversi E possibile importare package diversi tramite le istruzioni import java.io.inputstream; import java.io.*;

CLASSI Regole Il nome della classe deve coincidere con il nome del file (convenzionalmente inizia con la lettera maiuscola) Convenzione di inserire una sola classe per file Può avere un proprio metodo main di tipo static Un programma è composto da 1 o + classi che risiedono su altrettanti file. Almeno una classe deve possedere il metodo main Sintassi Public class nomeclasse { Attributi (o proprietà) Costruttori Metodi Eventuale metodo static main per l avvio }

FILE CHE CONTIENE LA CLASSE Deve avere lo steso nome della classe che contiene Struttura e Sintassi Commento di intestazione del file Dichiarazione del package Sezione di import di altri package Package dell applicazione Package delle librerie Definizione della classe

PRIMA APPLICAZIONE CONSOLE Eseguire somma e media tra tre numeri

ES 1 CODICE Non programmo sfruttando il paradigma ad oggetti (ho solo il metodo main che è static quindi non istanziabile) Utilizzo la sintassi del paradigma ad oggetti il. separa l oggetto dalla proprietà o dal metodo La parola chiave new serve per istanziare (richiama il costruttore)

ES 1 SINTASSI Stampo a schermo System.out.println("inserisci un numero"); Out è una proprietà statica della classe System Scanner input = new Scanner(System.in); Costruisco (instanzio) un oggetto di tipo Scanner (classe) dal nome input (posso istanziarne quanti ne voglio) a cui delego il compito di fare l input da console double a = input.nextdouble(); Il mio oggetto input richiama il suo metodo nextdouble che legge l input utente ed estrae il primo double che incontra

APPLICAZIONE CONSOLE CON CLASSE ESTERNA Leggere i dati di un dipendente in input (nome, cognome, anno di nascita, anno di assunzione) e determinare in output età, e stipendio (si consideri che lo stipendio parte da una base di 1000 e per ogni anno dopo il 5 di assunzione cresce di 30 )

ES 2 CODICE CLASSE PRINCIPALE Dopo aver letto i dati di input istanzio un oggetto delle classe Dipendente La classe dipendente espone due metodi pubblici geteta e getstipendio Non mi preoccupo di chi li implementerà e di come saranno implementati

ES 2 CODICE CLASSE DIPENDENTE Nello sviluppare la classe devo stare attento a rispettare l interfaccia richiesta (metodi e proprietà pubbliche) Tutto ciò che è privato me lo gestisco io, compresa la struttura dati (dall esterno risulterà invisibile) Il costruttore è un metodo pubblico (o + metodi) con lo stesso nome della classe che non ritornano valore

ES 2 SINTASSI Richiamo il costruttore passandogli i parametri appena letti da console creo l oggetto miodipendente Dipendente miodipendente = new Dipendente(mioNome, miocognome, mioannonascita, mioannoassunzione); All occorrenza posso creare tutti i diependenti che voglio richiamando più volete il costruttore Il costruttore accede alle proprietà private dell oggetto appena instanziato public Dipendente(String mionome, String miocognome, int mioannonascita, int mioannoassunzione) { nome= mionome;. Stampo a video System.out.printf("Età: " + Integer.toString(mioDipendente.getEta()) + "\n");double a = input.nextdouble(); Richiamo il metodo geteta riferito all oggetto miodipendente non passo parametri, ma passo direttamente tutto l oggetto!

ESERCIZIO MOTORINO Implementare la classe Motorino con i seguenti attributi: Velocita (in metri) alla creazione del motorino la velocità deve essere 0 Colore marca Modello antifurtoinserito (boolean) - inserimento attributi per gestire lo spazio da percorrere e lo spazio percorso attualmente (m) - attributo static velmax si consideri che la velocità deve sempre essere compresa tra 0 e velmax E metodi - getvelocita - inserisciantifurto - invertantifurto - accelera(prende come parametro il valore di velocità da aggiungere al valore attuale la velocità può essere incrementata solo se l antifurto non è inserito) - avanza(int sec) avanza per il numero di secondi indicato alla velocità attuale del motorino Main: Istanziare almeno un motorino e richiamare i metodi sopra indicati Implementare un ciclo nel quale l utente può modificare la velocità corrente ed avanzare di un certo numero di secondi, il programma deve verificare l avanamento ed avvisare quando il motorino ha compito il numero di metri richiesti

ESERCIZIO MOTORINO SVILUPPO Gestione del serbatoio: inserire attributi consumo (lit/metro), capacitaserbatoio, livellocarburanteattuale metodo per riempire il serbatoio. quando avanzo devo aggiornare il livellocarburanteattuale ed impedire l avanzamento se il livello di carburante si annulla