JAVA in ACTION. Jacopo Torrini. Dipartimento di Ingegneria dell'informazione Laboratorio di Tecnologie del Software.
|
|
- Marina Vitale
- 8 anni fa
- Visualizzazioni
Transcript
1 JAVA in ACTION Jacopo Torrini Dipartimento di Ingegneria dell'informazione Laboratorio di Tecnologie del Software
2 Installazione Java Su Windows, dal sito Oracle installare l'ultima versione della JDK (7) Su ubuntu aggiungere i repo webupd8team sudo add-apt-repository ppa:webupd8team/java sudo apt-get install oracle-jdk7-installer oppure installare il.run per linux dal sito Oracle
3 Hello World Creare un file HelloWorldApp.java class HelloWorldApp { public static void main(string[] args) { System.out.println("Hello World!"); } }
4 Compilare ed eseguire Da riga di comando: javac HelloWorldApp.java java HelloWorldApp
5 Package Permette di definire un namespace per un set di classi tra loro correlate Permette di organizzare meglio il codice tramite una struttura gerarchica di cartelle Permette di avere classi differenti con lo stesso nome dentro package diversi. Risolve soprattutto conflitti di nome su librerie differenti. Permette di definire un accesso limitato a metodi o attributi di una classe alle sole classi dello stesso package
6 Struttura dei package Il package deve contenere uno o più classi o interfacce, ossia non può essere vuoto. Le classi o interfacce che sono in un package devono avere i file sorgenti nella stessa struttura di directory corrispondente al nome del package. Il nome del package viene costruito a partire dal path nel file system del package root (o default) utilizzando come separatore il.
7 Esempio di package Considerando come root package la cartella src la classe MyClass appartiene al package com.mycompany.myproject I.class generati dal compilatore hanno una struttura del tutto equivalente a quella dei sorgenti
8 Nomi delle classi e import Come convenzione, per avere nomi di package univoci, si utilizza il dominio della propria azienda/organizzazione in ordine inverso completato con nomi specifici dell'applicazione ( com.mycompany.myproject) Per riferirsi ad una classe deve essere usato il suo nome completo, ossia il nome del package in cui risiede la classe più il nome semplice della classe definito nel.java (com.mycompany.myproject.myclass) Per abbreviare la scrittura del nome della classe è possibile utilizzare la keyword import: import com.mycompany.myproject.myclass In questo modo è sufficiente usare MyClass nel codice. In caso di conflitti di nome nello stesso file, una delle due classi deve essere obbligatoriamente usata col nome completo
9 Class files Quando si compila un programma java vengono generati tanti file.class quante sono le classi java del programma, incluse le classi multiple definite in un unico file java, le nested class e le inner class, anonime e non. Nel caso di classi java semplici, anche se multiple per file, il nome del.class è pari al nome della classe Nel caso di nested o inner class il nome è pari al nome della classe seguito dal simbolo $ seguito dal nome della classe nested o inner Nel caso di inner class anonime vale lo stesso discorso delle classi inner semplici, con la variante che il nome della inner class anonima viene generato dal compilatore (un numero progressivo) I.class sono creati all'interno di cartelle che duplicano la struttura delle cartelle dei file sorgenti
10 Hello World con package Creare la cartella hello nella cartella root Nella cartella hello creare il file HelloWorldApp.java come l'esempio precedente Aggiungere all'inizio del file lo statement package hello; Compilare il file con javac HelloWorldApp.java Eseguire l'applicazione dalla cartella root con java hello.helloworldapp
11 Esecuzione di un programma Un programma java è un'insieme di file.class all'interno di una struttura di cartelle È sufficiente avere una classe con un metodo public static void main(string[]args) NOTA: Possono esserci più classi con un metodo main Una classe viene caricata dalla virtual machine solo quando viene utilizzata in un altra classe (lazy load) Per trovare una classe la VM utilizza il nome del file.class associato alla classe stessa. Il path del file viene generato tramite il nome del package associato alla classe. Se il file viene trovato viene caricato dalla VM, altrimenti viene sollevata un eccezione.
12 Classpath Finora abbiamo supposto l'esistenza di una sola cartella root. In realtà in java è possibile creare applicazioni i cui file.class stanno su differenti strutture di cartelle (e pure in file compressi). I nomi dei package sono costruiti rispettivamente a partire dalla cartella root di ogni struttura. Ogni cartella root di queste strutture costituisce un componente del classpath di esecuzione di un programma java.
13 Esempio di classpath
14 Jar Un insieme di file.class con la propria struttura di cartelle può essere impacchettato all'interno di un file.jar (che altro non è che uno zip). Un jar può essere utilizzato come componente del classpath In questo caso la cartella root è la root dello zip e la virtual machine è in grado di caricare i.class direttamente dal file compresso. Normalmente le librerie java sono semplici file.jar
15 Esecuzione con classpath java -cp /home/user/src1/;src2/ hello.helloworldapp java -cp lib.jar;src1/ hello.hellworldapp
16 API Application Programming Interface La API fornisce le funzionalità principali del linguaggio Java. Offre un vasto set di classi pronte all'uso per diversi scopi, dagli oggetti di base fino alle classi di networking o security, per la generazione di XML e per l'accesso a database. L'API standard è molto ampia.
17 Object metodo equals public boolean equals( Object obj ) Esegue un test di uguaglianza logico, basato sul valore. Già definito in Object in cui riporta true solo se l'istanza passata è la stessa di quella su cui si invoca il metodo (obj == this) Inutile ridefinirlo nei seguenti casi: Ogni istanza della classe è univoca di per sé (Thread) Non mi interessa eseguire un confronto logico (JButton) Una superclasse lo ha già ridefinito e vale anche per la sottoclasse (AbstractSet, AbstractList, AbstractMap) NOTA: è sempre meglio evitare di ridefinirlo in più di una sottoclasse (vedere esempio prossime slide) Quindi si ridefinisce quando per la classe si applica il concetto di logical equality, che vale di solito per value class, come Integer, String, Date. Proprietà che deve rispettare: Riflessiva: x.equals(x) is true Symmetric: x.equals(y)==y.equals(x) Transitiva: x.equals(y), y.equals(z) => x.equals(z) Consistenza: x.equals(y) riporta consistentemente true o false se lo stato dell'oggetto non cambia x.equals(null) riporta sempre false
18 Esempio con equals public final class PhoneNumber { private final short areacode; private final short exchange; private final short extension; } public boolean equals(object o) { if (o == this) return true; if (!(o instanceof PhoneNumber)) return false; //questo include o==null PhoneNumber pn = (PhoneNumber)o; return pn.extension == extension && pn.exchange == exchange && pn.areacode == areacode; }
19 Esempio equals con ereditarietà public class Point { private final int x; private final int y; public Point(int x, int y) { this.x = x; this.y = y; } public boolean equals(object o) { if (!(o instanceof Point)) return false; Point p = (Point)o; return p.x == x && p.y == y; } } public class ColorPoint extends Point { private Color color; } public ColorPoint(int x, int y, Color color) { super(x, y); this.color = color; } //Broken - violates symmetry! public boolean equals(object o) { if (!(o instanceof ColorPoint)) return false; ColorPoint cp = (ColorPoint)o; return super.equals(o) && cp.color == color; }
20 Object metodo hashcode public int hashcode() Riporta un intero che rappresenta l'hash code dell'oggetto Definito in Object e riporta un valore associato all'istanza dell'oggetto Deve essere ridefinito in tutte le classi che ridefiniscono equals in modo da funzionare bene nelle collezioni basate su hash code (Set, Map) Valgono le seguenti proprietà: Deve riportare un valore consistente se chiamato più volte sulla stessa istanza. Se lo stato dell'oggetto non cambia deve riportare sempre lo stesso valore. Non è necessario che riporti il medesimo valore su esecuzioni differenti del programma. Se due istanze sono uguali per valore, ossia x.equals(y) riporta true, allora il metodo hashcode deve riportare lo stesso intero se invocato sulle due istanze. Non è necessario che hashcode riporti valori differenti per due istanze che non sono equals, ma va tenuto conto che produrre valori differenti per istanze non equals può migliorare la performance delle hash table.
21 Esempi di hashcode public int hashcode() { int result = 17; result = 37*result + areacode; result = 37*result + exchange; result = 37*result + extension; return result; } //valido ma da non usare!! public int hashcode() { return 42; }
22 Altre considerazioni Un altro metodo interessante di Object è public String tostring(). Deve essere usato solo a scopi di debug e deve dare una rappresentazione testuale dell'oggetto I metodi equals e hascode possono essere generati automaticamente. Le IDE per lo sviluppo java di solito hanno questa funzionalità
23 Collections A collection sometimes called a container is simply an object that groups multiple elements into a single unit. Collections are used to store, retrieve, manipulate, and communicate aggregate data. Typically, they represent data items that form a natural group, such as a poker hand (a collection of cards), a mail folder (a collection of letters), or a telephone directory (a mapping of names to phone numbers). A collections framework is a unified architecture for representing and manipulating collections. All collections frameworks contain the following: Interfaces: These are abstract data types that represent collections. Interfaces allow collections to be manipulated independently of the details of their representation. In object-oriented languages, interfaces generally form a hierarchy. Implementations: These are the concrete implementations of the collection interfaces. In essence, they are reusable data structures. Algorithms: These are the methods that perform useful computations, such as searching and sorting, on objects that implement collection interfaces. The algorithms are said to be polymorphic: that is, the same method can be used on many different implementations of the appropriate collection interface. In essence, algorithms are reusable functionality.
24 Java collections - interfaces
25 Collection interface The Collection interface contains methods that perform basic operations, such as int size() boolean isempty() boolean contains(object element) boolean add(e element) boolean remove(object element) Iterator<E> iterator() It also contains methods that operate on entire collections, such as boolean containsall(collection<?> c) boolean addall(collection<? extends E> c) boolean removeall(collection<?> c) boolean retainall(collection<?> c) void clear(). Additional methods for array operations such as Object[] toarray().
26 Traversing collections For-each construct for (Object o : collection) System.out.println(o); Iterator: An Iterator is an object that enables you to traverse through a collection and to remove elements from the collection selectively, if desired. You get an Iterator for a collection by calling its iterator method. The following is the Iterator interface. public interface Iterator<E> { boolean hasnext(); E next(); void remove(); //optional } for (Iterator<String> it = c.iterator(); it.hasnext(); ){ String s = it.next(); System.out.println(s); }
27 Collection algorithms The polymorphic algorithms are pieces of reusable functionality provided by the Java platform. All of them come from the Collections class, and all take the form of static methods whose first argument is the collection on which the operation is to be performed. The great majority of the algorithms provided by the Java platform operate on List instances, but a few of them operate on arbitrary Collection instances. Sorting Shuffling Routine Data Manipulation (reverse, fill, copy, swap, addall) Searching Composition (frequency, disjoint) Finding Extreme Values (min, max)
28 Set A Set is a Collection that cannot contain duplicate elements. It models the mathematical set abstraction. The Set interface contains only methods inherited from Collection and adds the restriction that duplicate elements are prohibited. Set also adds a stronger contract on the behavior of the equals and hashcode operations, allowing Set instances to be compared meaningfully even if their implementation types differ. Two Set instances are equal if they contain the same elements. The Java platform contains three general-purpose Set implementations: HashSet, TreeSet, and LinkedHashSet Set<String> nodups = new HashSet<String>(); Collection<Integer> other = new TreeSet<Integer>();
29 List A List is an ordered Collection (sometimes called a sequence). Lists may contain duplicate elements. In addition to the operations inherited from Collection, the List interface includes operations for the following: Positional access manipulates elements based on their numerical position in the list. This includes methods such as get, set, add, addall, and remove. Search searches for a specified object in the list and returns its numerical position. Search methods include indexof and lastindexof. Iteration extends Iterator semantics to take advantage of the list's sequential nature. The listiterator methods provide this behavior. Range-view The sublist method performs arbitrary range operations on the list. The Java platform contains two general-purpose List implementations. ArrayList, which is usually the better-performing implementation, and LinkedList which offers better performance under certain circumstances. List<Integer> list = new ArrayList<Integer>();
30 Map A Map is an object that maps keys to values. A map cannot contain duplicate keys: Each key can map to at most one value. It models the mathematical function abstraction. The Map interface includes methods for basic operations (such as put, get, remove, containskey, containsvalue, size, and empty), bulk operations (such as putall and clear), and collection views (such as keyset, entryset, and values). The Java platform contains three general-purpose Map implementations: HashMap, TreeMap, and LinkedHashMap Map<String, Integer> m = new HashMap<String, Integer>(); m.put( William,1955); m.put( Steven, 1955); m.put( Linus, 1969);
31 IDE Sviluppare da riga di comando non è il modo corretto. Una IDE (Integrated Development Environment) è necessaria per avere una serie di funzionalità indispensabili per lo sviluppo del software. Esistono varie IDE open source o gratuite: Eclipse, Net beans, IntelliJ IDEA community edition...
32 Eclipse Fornisce una piattaforma aperta per tool di sviluppo di applicazioni Gira su un vasto range di sistemi operativi Language-neutral HTML, Java, C, JSP, EJB, XML Facilita l integrazione di tool
33 Eclipse gestione codice Esplorazione dei packages e delle classi con struttura ad albero Ricerca veloce della dichiarazione di un metodo, una classe di una variabile Informazioni istantanee sugli elementi del codice tooltip sull elemento documentazione dell elemento Ricerca di elementi in più files Caller graph dei metodi
34 Eclipse scrittura codice Evidenziazione immediata errori di sintassi Completamento automatico di classi, variabili, metodi Import automatici Code formatter Code templates Scrittura automatica di main, override di metodi, setter e getter, costruttori, delegate methods, equals e hashcode ecc...
35 Eclipse - rifattorizzazione Conoscere in anticipo l impatto di una modifica sul codice Possibilità di modificare un elemento mantenendo la semantica di tutto il codice Possibilità di decidere quali cambiamenti effettuare Preview dei cambiamenti Undo e Redo del refactoring Esempi: rename, change method signature, pull up, pull down...
36 Eclipse debug e test Step in, out, over... Breakpoints Conditional breakpoints Variables Watches Stack trace Integrazione con JUnit
37 Eclipse - installazione Scaricare Eclipse IDE for Java EE Developers dalla pagina web: Scompattare in una qualsiasi cartella Aprire tramite il file eseguibile Selezionare una cartella come workspace (anche quello di default) Sotto Windows Preferences Java - Installed JREs verificare che sia selezionata una JDK (non una JRE). In caso contrario aggiungerne una e selezionarla dal file system
38 Eclipse creazione progetto java Dal menu File selezionare New Java Project Seguire il wizard fino in fondo e premere Fine. Cliccare col destro sulla cartella src nel Package Explorer e selezionare New Class Specificare un nome di package e un nome di classe e premere Fine Ogni volta che un file viene salvato, viene anche compilato automaticamente
39 Eclipse esecuzione Definire il metodo main in una classe java Cliccare col destro sul nome del file java nel Package Explorer Lanciare il comando Run as Java application
40 Eclipse UI Configurazione dell'interfaccia Perspectives Package explorer Outline Javadoc Breakpoints
41 Eclipse multiprogetto e librerie Creazione di un altro progetto Impostazione del primo progetto nel classpath del secondo Click col destro sul progetto properties java build path - Projects Utilizzo di classi del primo progetto nel secondo progetto Aggiunta di librerie esterne Click col destro sul progetto - Properties java build path - Libraries
Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse
Prova Finale a.a. 2011/2012 Laboratorio 1: Introduzione a Java e Eclipse 1 Java 6 Standard Edition Linguaggio Java (... (javac, Tool di sviluppo Librerie per l'interfaccia grafica Librerie di base Macchina
DettagliTale attività non è descritta in questa dispensa
Fondamenti di informatica Oggetti e Java ottobre 2014 1 Nota preliminare L installazione e l uso di Eclipse richiede di aver preliminarmente installato Java SE SDK Tale attività non è descritta in questa
DettagliLa prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD
La prima applicazione Java con NetBeans IDE Dott. Ing. M. Banci, PhD Creare la prima applicazione 1. Creare un progetto: Quando si crea un progetto IDE occorre creare un ambiente nel quale costruire e
DettagliLe command line di Java
Le command line di Java Esercitazioni di Programmazione 2 Novella Brugnolli brugnoll@science.unitn.it Ambiente di lavoro Per compilare ed eseguire un programma Java abbiamo bisogno di: The JavaTM 2 Platform,
DettagliEclipse. Avviare un progetto e compilare un semplice programma
Eclipse Avviare un progetto e compilare un semplice programma Descrizione di Eclipse Eclipse è un ambiente di sviluppo che facilita la scrittura ed il debug di programmi java Permette di: Scrivere il codice
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di
DettagliAmbienti di Sviluppo
Ambienti di Sviluppo Insieme omogeneo di strumenti adatti allo sviluppo di progetti software. Editor; Compilatori e/o interpreti; Strumenti di test; Applicazioni che permettono di editare / disegnare il
DettagliCorso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)
Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio
DettagliInstallazione del Software. per lo Sviluppo di Applicazioni Java
Installazione del Software per lo Sviluppo di Applicazioni Java Ing. Luca Ferrari ferrari.luca@unimore.it Tel. 0592056142 Installazione del Software per lo Sviluppo di Applicazioni Java 1 Il Compilatore
DettagliOggetti Lezione 3. aspetti generali e definizione di classi I
Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione
DettagliTelematica II 5. Esercitazione/Laboratorio 1
IDE Ambiente di sviluppo IDE - Integrated Development Environment Telematica II 5. Esercitazione/Laboratorio 1 e un Ambiente di Sviluppo Integrato che consente di creare in modo semplice progetti composti
DettagliStrumenti per la programmazione
Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un
DettagliCorso Eclipse. Prerequisiti. 1 Introduzione
Corso Eclipse 1 Introduzione 1 Prerequisiti Uso elementare del pc Esecuzione ricerche su Internet Esecuzione download Conoscenza elementare della programmazione 2 1 Cos è Eclipse Eclipse è un IDE (Integrated
DettagliGuida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50
Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE 4.50 Inizializzazione: creazione del nuovo progetto e del file sorgente in ambiente JCreator Al lancio del programma si apre la finestra
DettagliLaboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona
Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Tipi Tipo Astratto di Permette di specicare dati in modo astratto Astratto Indipendentemente
DettagliIntroduzione all uso di Eclipse
Introduzione all uso di Eclipse Daniela Micucci Programmazione Outline Eclipse: concetti generali Definire un workspace Creare un project Importare un file Utilizzo 1 Introduzione Eclipse è un ambiente
DettagliJava: Compilatore e Interprete
Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT
DettagliAppunti di Informatica www.mimmocorrado.it 1
Installare Java Il programma può essere scaricato dal seguente indirizzo: http://www.java.com/it/download/windows_ie.jsp?locale=it&host=www.java.com Per installare la JDK è necessario: 1. scaricare il
DettagliConoscere l uso delle collezioni in Java. Conoscere il concetto di Generics (programmazione
1 Conoscere l uso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali classi di Collection usare in casi specifici Conoscere
DettagliPanoramica: che cosa è necessario
Scheda 02 L installazione dell SDK G IOVANNI PULITI Panoramica: che cosa è necessario Per poter lavorare con applicazioni Java o crearne di nuove, il programmatore deve disporre di un ambiente di sviluppo
DettagliGenerics & Collections
Generics & Collections Ingegneria del software Jody Marca jody.marca@polimi.it I Generics 2 I Generics rendono possibile definire tipi parametrici tramite classi ed interfacce che gestiscono tipi generici
DettagliTest di unità con JUnit4
Test di unità con JUnit4 Richiamo sul test di unità Il test d unità è una metodologia che permette di verificare il corretto funzionamento di singole unità di codice in determinate condizioni. Nel caso
DettagliIntroduzione all ambiente di sviluppo
Laboratorio II Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio II. A.A. 2006-07 CdL Operatore Informatico Giuridico. Introduzione all ambiente di sviluppo Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio
DettagliIngegneria del Software 1: Eclipse
Ingegneria del Software 1: Eclipse Da completare entro Aprile 21, 2015 Srđan Krstić and Marco Scavuzzo 1 Contents 1 Introduzione 3 1.1 Java (JRE vs JDK).......................................... 3 1.2
DettagliUso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012
Fondamenti di informatica Oggetti e Java ottobre 2012 1 JUnit JUnit è uno strumento per assistere il programmatore Java nel testing JUnit consente di scrivere test di oggetti e classi Java i test sono
DettagliProgrammazione ad oggetti
DAIS Univ. Ca' Foscari Venezia Programmazione ad oggetti Samuel Rota Bulò Classi astratte Le classi astratte sono un ibrido tra le classi concrete e le interfacce. Hanno le stesse caratteristiche di una
DettagliJava. Traditional portability (ideal)
1 Java JAVA: una introduzione 2 Traditional portability (ideal) C-code (Linux) (Pentium) Executable (Linux) Executable (Win32) Linux Windows 32 (Mac) Executable (Mac) Mac 1 1 3 Portability of Java programs
DettagliJava:Struttura di Programma. Fabio Scanu a.s. 2014/2015
Java:Struttura di Programma Fabio Scanu a.s. 2014/2015 Altre Attenzioni da riservare Java è Case Sensitive: La variabile «a» e la variabile «A» sono diverse Java ha alcune regole di scrittura: I nomi delle
Dettagli11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0
11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE
DettagliCOMPILAZIONE DI UN APPLICAZIONE. 1) Compilare il file (o i file se più d uno) che contengono il testo del programma. compilatore
COSTRUZIONE DI UN APPLICAZIONE Per costruire un applicazione occorre: compilare il file (o i file se più d uno) che contengono il testo del programma (file sorgente) Il risultato sono uno o più file oggetto.
DettagliCorso di Laurea in Matematica. Seminario C/C++ Lorenzo Dusty Costa. Università degli Studi di Milano Dipartimento di Matematica
Corso di Laurea in Matematica Seminario C/C++ Costa Università degli Studi di Milano Dipartimento di Matematica 19 Ottobre 2011 Cos'é un'ide IDE = Integrated Development Environment Consiste in: Editor
DettagliScrivere un programma in Java
Programmare in JAVA Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA uff. 0577 234850 - interno: 7102 Stanza 119 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/
DettagliCorso Eclipse. Prerequisiti. 3 Window Builder
Corso Eclipse 3 Window Builder 1 Prerequisiti Conoscenza elementare ambiente Eclipse Conoscere la nomenclatura dei componenti delle interfacce grafiche Conoscere attributi e metodi dei principali componenti
DettagliL ambizione dei design pattern (letteralmente schemi di programmazione) è quella di offrire soluzioni a problemi ricorrenti che facilitano lo
Design Pattern L ambizione dei design pattern (letteralmente schemi di programmazione) è quella di offrire soluzioni a problemi ricorrenti che facilitano lo sviluppo dei programmi, il loro mantenimento,
DettagliJava Virtual Machine
Java Virtual Machine programmi sorgente: files.java compilatore files.class bytecode linker/loader bytecode bytecode Java API files.class interprete macchina ospite Indipendenza di java dalla macchina
DettagliIntroduzione alla programmazione Java. Dott. Ing. M. Banci, PhD
Introduzione alla programmazione Java Dott. Ing. M. Banci, PhD Obiettivi del corso Creare, compilare, e eseguire programmi Java Tipi di dato primitivi Flusso di controllo Java Metodi Arrays Introduzione
DettagliIntroduzione ad Eclipse
Introduzione ad Eclipse Corso di Metodi Avanzati di Programmazione 2014-2015 Docente: Dr. Annalisa Appice Tutor di Laboratorio: dott. Roberto Corizzo Ambiente Eclipse Sommario Java: ambiente Eclipse L
DettagliRealizzazione di una classe con un associazione
Realizzazione di una classe con un associazione Nel realizzare una classe che è coinvolta in un associazione, ci dobbiamo chiedere se la classe ha responsabilità sull associazione. Diciamo che una classe
DettagliCos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa
di Ilaria Lorenzo e Alessandra Palma Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa Code::Blocks
DettagliTricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002
Tricks & Tips [Access] - Michele de Nittis - Tutorial - ActiveX - Controllo Tree View Versione: 1 Data Versione: venerdì 30 agosto 2002 1 SOMMARIO PREMESSA...3 INSERIMENTO DEL CONTROLLO...3 AGGIUNTA DELLE
DettagliLaboratorio di PROGRAMMAZIONE - a.a. 2010/2011
Laboratorio di PROGRAMMAZIONE - a.a. 2010/2011 02 - Creazione della macchina virtuale 18 Ottobre 2010 Srdjan Matic Laboratorio di PROGRAMMAZIONE - a.a. 2010/2011 1 / 30 Installazione di JDK [LINUX] Srdjan
DettagliEsercitazione di lunedì - TUTTE LE MATRICOLE -
1 Esercitazione di lunedì - TUTTE LE MATRICOLE - 2 Pre-esercitazione - Prova a fare il primo esercizio guidato in modo da riprendere le fila del discorso fatto a lezione su come strutturare un progetto.
DettagliProgrammazione a Oggetti Lezione 10. Ereditarieta
Programmazione a Oggetti Lezione 10 Ereditarieta Sommario Come definire sottoclassi Costruttori Abstract Classes Final Ereditarietà: promemoria Strumento tipico dell OOP per riusare il codice e creare
DettagliTutorial per l installazione del J2SE 6 e configurazione del sistema operativo
Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo Ing. Giovanni Ponti DEIS Università della Calabria gponti@deis.unical.it La piattaforma Java mette a disposizione una serie
DettagliTipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
DettagliBreve introduzione al Javadoc
Premessa Javadoc è uno strumento che permette di documentare i sorgenti di un programma all interno dei sorgenti stessi. Anziché scrivere la documentazione di un programma in un file separato, il programmatore
DettagliScope e visibilità per classi
Scope e visibilità per classi Packages Classi interne nelle loro diverse forme Interne / statiche / locali Utilizzo congiunto con interfacce Implementazione di iteratori Gestione di eventi Packages Package:
DettagliSiti web centrati sui dati Architettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
DettagliReflection in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010
Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Reflection in Java 1 Reflection Riflessione
DettagliIntroduzione a Dev-C++
Introduzione a Dev-C++ Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Note: Dev-C++ richiede Windows 95/98/NT/2000/XP
Dettagli15 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
15 - Packages Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di
DettagliParola chiave extends
Il Linguaggio Java Ereditarietà Ereditarietà L'ereditarietà permette di creare nuove classi sulla base di classi esistenti In particolare, permette di riusare il codice (metodi e campi); aggiungere nuovi
Dettagli14 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
14 - Packages Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di
DettagliFondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010
Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012 Introduzione a Visual Studio 2005/2008/2010 1 Outline Solution e Project Visual Studio e linguaggio C Visual Studio schermata principale
DettagliProgrammazione ad Oggetti Modulo A (Esame del 11/9/2015)
Programmazione ad Oggetti Modulo A (Esame del 11/9/2015) Esercizio 1 Considerate la seguente gerarchia di classi: class A { public void print(string s) { System.out.println(s); public void m1() { print("a.m1");
DettagliJava? Sì, grazie. Scopo del corso
Modulo di Java? Sì, grazie Il linguaggio di Internet? Portabilità su qualunque piattaforma (non solo calcolatori): It works everywhere Supporto e disponibilità di strumenti, librerie e documentazione garantiti
DettagliUtilizzare il NetBeans GUI Builder. Dott. Ing. M. Banci, PhD
Utilizzare il NetBeans GUI Builder Dott. Ing. M. Banci, PhD Lavorare con i Beans Queste slide ci guidano nel processo di creazione di un bean pattern nel progetto NetBeans 15 Giugno 2007 Esercitazione
DettagliUguaglianza e Identità. (no, non avete sbagliato corso )
1 Uguaglianza e Identità (no, non avete sbagliato corso ) Fondamenti di Java Che vuol dire "uguaglianza"? Che vuol dire "Identità"? Che differenza c è? Uguaglianza public class Test { public static void
DettagliEsercitazione n 4. Obiettivi
Esercitazione n 4 Obiettivi Progettare e implementare per intero un componente software in Java Linguaggio Java: Classi astratte Utilizzo di costruttori e metodi di superclasse Polimorfismo Esempio guida:
DettagliArchitettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
DettagliCapitolo 4 Pianificazione e Sviluppo di Web Part
Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,
DettagliProgrammazione Java: Variabili membro, Metodi La parola chiave final
Programmazione Java: Variabili membro, Metodi La parola chiave final romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap Definire una classe» Variabili membro» Metodi La parola chiave
DettagliProssime lezioni. Dai TDA agli oggetti. Riassunto. Riassunto TDA. Oggi. Stefano Mizzaro 1
Prossime lezioni Dai TDA agli oggetti Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione, lezione 18 19 gennaio
Dettagli13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti
13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
DettagliEclipse - Nozioni Base
Eclipse - Nozioni Base Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
DettagliProgrammazione II. Lezione 4. Daniele Sgandurra 30/09/2011. daniele.sgandurra@iit.cnr.it
Programmazione II Lezione 4 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 30/09/2011 1/46 Programmazione II Lezione 4 30/09/2011 Sommario 1 Esercitazione 2 Panoramica della Programmazione Ad Oggetti 3
DettagliEsercitazione 4 JDBC
JDBC Obiettivi dell esercitazione Familiarizzare con l'organizzazione dell'ambiente di lavoro per la realizzazione di applicazioni Java Utilizzare i costrutti di base della libreria JDBC per 1. la gestione
DettagliDipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1
Dipartimento di Sistemi e Informatica Università degli Studi di Firenze Dev-C++ Ing. Michele Banci 27/03/2007 1 Utilizzare Dev-C++ Tutti i programmi che seranno realizzati richiedono progetti separati
DettagliMOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY
MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY 1 Sommario 1. INTRODUZIONE... 3 2. GET METAIO... 4 2.1. PREREQUISITI... 4 2.2. INTALLAZIONE... 4 2.3. PROGETTI ESEMPLIFICATIVI... 4 3. USARE
DettagliEsercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010)
Sapienza - Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica, Ingegneria dei Sistemi Informatici Esercitazioni
DettagliFondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main
Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli
DettagliProgrammazione in Java Parte I: Fondamenti
Programmazione in Java Parte I: Fondamenti Lezione 1 Dott. Marco Faella Riferimenti Testi consigliati: Progettazione del software e design pattern in Java di C.S. Horstmann Apogeo Gli esempi di codice
DettagliGuida all utilizzo del compilatore lcc-win32 per creare una applicazione console
Guida all utilizzo del compilatore lcc-win32 per creare una applicazione console Il compilatore per i linguaggi c e c++ chiamato lcc-win32 è un prodotto gratuito scaricabile dal sito http://www.cs.virginia.edu/~lcc-win32/
DettagliGESTIONE DEI PROCESSI
Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto
DettagliJUG Ancona Italy. Google Web Toolkit. Giovanni Baleani Programmatore Java. Filippetti S.r.l.
JUG Ancona Italy Google Web Toolkit Giovanni Baleani Programmatore Java Filippetti S.r.l. AJAX e GWT - AJAX: Tecnologia emergente, tra le prime applicazione ajax ci sono proprio gmail e google calendar.
DettagliLa prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete
La prima applicazione Java Programma MyFirstApplication Il programma visualizza una finestra vuota sullo schermo. Importo il package delle classi usate nel seguito. Dichiaro la classe MyFirstApplication
DettagliIl Java Collections Framework
Il Java Collections Framework Il Java Collections Framework è una libreria formata da un insieme di interfacce e di classi che le implementano per lavorare con gruppi di oggetti (collezioni). Le interfacce
DettagliCorso Linguaggi di programmazione II - Unina Esercitazione (prova intercorso)
1) Si considerino le classi Java: Corso Linguaggi di programmazione II - Unina Esercitazione (prova intercorso) class Card Card (String seed, int value) this.seed=seed; this.value=value; String seed; int
DettagliObject Oriented Programming
OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in
DettagliInstallazione del JDK 6
Sommario Installazione del JDK 6 Anton Soppelsa Dipartimento di Ingegneria Elettrica http://www.die.unipd.it 15 Ottobre 2007 Sommario Sommario 1 Editor di testo Perché serve un editor di testo Editor per
DettagliGetting Started. Walter Cazzola. Dipartimento di Informatica e Comunicazione Università degli Studi di Milano
Getting Started Walter Cazzola Dipartimento di Informatica e Comunicazione Università degli Studi di Milano Walter Cazzola Getting Started Slide 1 of 7 . Il primo passo consiste nel procurarsi Java. Java
Dettagli12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,
DettagliL ambiente di sviluppo Android Studio
L ambiente di sviluppo Android Studio Android Studio è un ambiente di sviluppo integrato (IDE, Integrated Development Environment) per la programmazione di app con Android. È un alternativa all utilizzo
DettagliFondamenti di Informatica C Esercitazioni di Laboratorio / 3 http://polaris.ing.unimo.it/fic/laboratorio.html. Outline
Fondamenti di Informatica C Esercitazioni di Laboratorio / 3 http://polaris.ing.unimo.it/fic/laboratorio.html Ing. Francesco De Mola demola.francesco@unimore.it DII, Modena Via Vignolese (lab. Dottorandi
DettagliDevC++ vers. 4.9.9.2 Manuale d uso
DevC++ vers. 4.9.9.2 Manuale d uso Liceo Scientifico N. TRON di SCHIO (VI) Sommario 1 INTRODUZIONE... 3 2 SETUP... 5 2.1 Procedura di installazione... 5 2.2 Configurazione... 7 2.2.1 Opzioni dell ambiente...
DettagliIDE. Integrated Development Environment. Jacopo Torrini
IDE Integrated Development Environment Jacopo Torrini IDE Cosa chiede un programmatore da una IDE Gestibilità del codice avere il codice sotto controllo molto utile per grossi progetti Source assistant
DettagliOrganizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
DettagliUML Diagrammi delle classi. UML Diagramma classi 1
UML Diagrammi delle classi UML Diagramma classi 1 Diagramma delle classi Non è nei nostri obiettivi affrontare UML nel suo complesso Ci concentreremo sui diagrammi delle classi che ci forniscono un linguaggio
DettagliGuida di Installazione GCC
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Guida di Installazione GCC D. Bloisi, S. Peluso, S. Salza L ambiente di lavoro L ambiente di lavoro al
DettagliIntroduzione al Java Collections Framework. Java Collections Framework (cont.) Interfacce del Collections Framework
Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione (sede di Latina) Corso di Laurea in Ingegneria dell Informazione (consorzio Nettuno) Introduzione al Java Collections
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Conclusioni Parte b versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliMaps. a.k.a, associative array, map, or dictionary
Maps a.k.a, associative array, map, or dictionary Definition } In computer science, an associative array, map, or dictionary is an abstract data type composed of (key, value) pairs, such that each key
DettagliRegistratori di Cassa
modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...
DettagliIntroduzione al Java Collections Framework
Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione (sede di Latina) Corso di Laurea in Ingegneria dell Informazione (consorzio Nettuno) Insegnamento di PROGETTAZIONE
DettagliIntroduzione alla programmazione in Java
Introduzione alla programmazione in Java 1 Programmare ad oggetti La programmazione come attività di creazione di modelli. I concetti di classe, oggetto e scambio di messaggi. Un primo esempio di programma
DettagliOSSIF WEB. Manuale query builder
OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI
DettagliAlgoritmi e Strutture Dati. Tipo di dato astratto e Strutture dati elementari
Algoritmi e Strutture Dati Tipo di dato astratto e Strutture dati elementari 1 Argomenti della lezione Tipi di dato astratto Strutture dati elementari Liste o Implementazione di liste in Java Stack Code
DettagliApplication Server per sviluppare applicazioni Java Enterprise
Application Server per sviluppare applicazioni Java Enterprise Con il termine Application Server si fa riferimento ad un contenitore, composto da diversi moduli, che offre alle applicazioni Web un ambiente
Dettagli