https://github.com/moonwave99/java2012
Lessons and code from 2012 Java Cource [Scienze e Tecnologie per i Media @ uniroma2.it]
https://github.com/moonwave99/java2012
Last synced: 2 months ago
JSON representation
Lessons and code from 2012 Java Cource [Scienze e Tecnologie per i Media @ uniroma2.it]
- Host: GitHub
- URL: https://github.com/moonwave99/java2012
- Owner: moonwave99
- Created: 2012-03-29T08:09:35.000Z (about 14 years ago)
- Default Branch: master
- Last Pushed: 2012-09-17T08:50:46.000Z (over 13 years ago)
- Last Synced: 2025-03-06T06:46:52.090Z (over 1 year ago)
- Language: Java
- Homepage: http://www.diegocaponera.com/java
- Size: 547 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Programmazione in Java e Gestione della Grafica
Università degli Studi di Tor Vergata, Corso di Laurea in Scienza e Tecnologia per i Nuovi Media - Anno Accademico 2011/2012
Qui trovate il materiale delle lezioni, eventualmente commentato. Per qualsiasi comunicazione fate riferimento a http://www.diegocaponera.com/java.
##Programma completo
Questo è l'elenco degli argomenti visti a lezione, è necessario prendere visione di tutto il materiale proposto durante il corso, reperibile in questo repositorio.
### Introduzione e programmazione strutturata
* Variabili: dichiarazione, assegnazione, inizializzazione;
* Tipi di dati;
* Operatori aritmetici;
* Operatori di confronto, costrutto ```if/elseif/else```;
* Array, matrici, costrutto ```for```, costrutto ```while```, costrutto ```do-while```;
* Algebra booleana e tabelle di verità [AND, OR, NOT];
* Cast tra tipi nativi [no, non si tratta di scegliere indiani per un film];
* Funzioni: parametri in ingresso e in uscita;
### Programmazione ad Oggetti
* Classi e oggetti: definizione, campi d'istanza, modificatori d'accesso, metodi costruttori, getter e setter; metodi ```toString()``` ed ```equals()```; ```this``` keyword;
* Passaggio per riferimento, passaggio per valore;
* Ereditarietà, ```super``` keyword;
* Campi e metodi statici, ```final``` keyword;
* Classi astratte;
* Interfacce: keyword ```implements``` comparata ad ```extends```;
* Classi interne, classi interne locali, classi interne anonime;
* Ascoltatori di eventi: tutti i costrutti per implementarne l'utilizzo.
* Gestione delle eccezioni: costrutto ```try / catch```;
### Gestione della Grafica
* Package ```javax.swing```: ```JFrame```, ```JPanel```;
* Gestione dei Layout: ```BorderLayout```, ```GridLayout```;
* Eventi del mouse: interfacce ```MouseListener```, ```MouseMotionListener```;
* Metodi di disegno: ```Graphics2D```, classi di ```java.awt.geom``` [```Rectangle2D```, ```Ellipse2D```, ```Point2D```...];
* Eventi della tastiera: interfaccia ```KeyListener```;
* Animazioni: utilizzo di ```Thread```, interfaccia ```Runnable```;
* Caricamento immagini: classe ```Image```;
* Filtri su immagini: classi ```BufferedImage```, ```ConvolveOP```, ```Kernel```.