Main Lecturer: prof. Ferretti
Lab Sessions, 2017
The screencast will be broadcasted live using this web page.
- Introductory Lesson [2 slots]
- How to use your lab? (IT)
- Programs for the zero lesson, and some introductory slides.
- Native types, casts, String, Scanner from System.in, Math [2 slots]
- Exercises [EN,IT] and the proposed solutions. The exercises were extended from the last lesson
- Count-controlled (for) and Condition-controlled (while) loops
- Array and matrices
- “Driver” program for array and matrices operations
- Recursion (1)
- Recursion (2) and designing classes. ArrayLists (1)
- File IO. ArrayLists (2)
- Practical on the exam
- Suggested Exercises
Additional advanced notes
- Introductory Lesson
- First lesson topics
- What is integer overflow?
- What is parsing? (IT)
- What is a pairing function using the dovetailing technique?
- Iterations (For and While)
- Strings
- Reference Guide (complete set of string methods)
- Some tutorials: [1, 2]
- Recursion
- What is recursion?
- How to correctly use recursion?
- A tutorial on recursion (IT)
- Designing Classes
- An example of state driven programming (CSS theory is required)
Main References:
- Walter Savitch. “JAVA: An introduction to Problem Solving and Programming, 6th edition”. 2012, Pearson Education.
Further references:
- M. Felleisen et al. “How To Design Classes”
- H. Schildt. “Java: The Complete Reference, Ninth Edition”
FAQ (IT)
Come faccio ad installare un programma?
Molto probabilmente, la tua distribuzione Linux avrà solo gedit
o pluma
installati di default. Per installare gli altri editor, eseguire il comando di installazione:
sudo apt-get install nomeprogramma
. Questo comando è eseguibile direttamente in alcune distribuzioni, quali Ubuntu, dove il tuo utente predifinito è già previsto come sudoer.- Per altri sistemi operativi, si può o aggiungere l’utente corrente alla lista dei sudoer e poi proseguire con il comando di cui sopra, o diventare prima superutente con
su -
osudo su -
.
Come creare un file sorgente Java?
Come editor di testo, le macchine di laboratorio supportano gedit, jedit, geany. Conseguentemente, per editare il codice sorgente che da genererà il programma (bytecode), può eseguire da terminale i seguenti comandi (in grassetto):
gedit File.java
jedit File.java
geany File.java
Tuttavia, il file non è creato: esso verrà creato con il nome specificato solo dopo aver effettuato il salvataggio. Si può usare anche il comando touch
visto a lezione per generare un nuovo file vuoto.
Come compilare un file sorgente Java?
Dopo aver installato la Java JDK e JRE, “java si trova sotto forma” di due programmi, il compilatore javac
e l’interprete java
. In particolare, per compilare il programma è opportuno si deve eseguire il seguente comando javac File.java
. In particolare, il compilatore prende in input il file scritto in linguaggio java (.java) e produce il bytecode (.class) con il nome della classe dichiarata al suointero.
Come eseguire un programma Java?
In questo corso vedremo solamente la creazione di programmi nonsituati all’interno di un package
. Per eseguire un main
di classe non contenuta in un package, è sufficiente indcare all’interprete (java
) la classe da eseguire contenuta nella directory corrente nel seguente modo: java NomeClasse
.
Nel caso in cui la classe sia contenuta all’interno del package, bisognerà specificare il percorso completo della stessa classe all’interno del package: java full.package.path.NomeClasse
.
Sul mio computer l’editor di testo ha una visualizzazione differente rispetto a quella del computer del laboratorio. Come posso fare?
L’interfaccia grafica in sè non è un problema. Differenti visualizzazioni possono essere dovute a differenti sistemi operativi, a differenti versioni del pacchetto installato o a differenti window manager. L’unico scopo di un editor di testo è quello di produrre del testo, e di avere una comoda colorazione della sintassi.