Introduzione  

Lezione1  ; Primo programma: stampa di Pippo sullo schermo. Per fare
          ; cio' si usa il metodo System.out.println()

Lezione2  ; Uso delle variabili

Lezione3  ; Introduzione ai tipi di variabili: intere e a virgola mobile

Lezione4  ; Lettura di una variabile da tastiera.

Lezione5  ; Un programma: area e circ. di un cerchio dato il raggio

Lezione6  ; Il loop for e gli operatori relazionali (<,>,ecc.)

Lezione7  ; Esecuzione di un blocco di istruzioni in un loop for

Lezione8  ; L'esecuzione a seconda di una condizione: costrutto if

Lezione9  ; Esecuzione di un blocco di istruzioni appartenenti a un if

Lezione10 ; Il ramo opzionale else del costrutto if

Lezione11 ; Come annidare degli if dentro gli altri.

Lezione12 ; Il costrutto switch per test multipli in un programma divino

Lezione13  ; Il programma divino piu' funzionale tramite un for

Lezione14 ; I loop tramite il while

Lezione15 ; I loop tramite il do while

Lezione16  ; Introduzione ai metodi (chiamati funzioni in C)

Lezione17  ; Divisione in metodi del programma divino

Lezione18  ; Introduzione agli array monodimensionali

Lezione19  ; Uso di una variabile come indice di un array

Lezione20  ; La media di 10 numeri immessi da tastiera usando un array

Lezione21  ; Array a 2 o piu' dimensioni

Lezione22  ; Le stringhe di testo, che in java sono oggetti (non array
               di char), su cui si puo' operare con vari metodi dedicati.

Lezione23  ; Vediamo come rovesciare una stringa immessa da tastiera.

Per quanto riguarda i listati sulle strutture, esse sono sostituite dalle
classi, quindi salteremo direttamente alle conversioni dei listati C++

Lezione24  ; Gestione files: copia di un file (creazione di un backup)
             ; utilizzando le classi FileInputStream e FileOutputStream.

Lezione25  ; Gestione files: informazioni su un file tramite la classe
             ; java.io.File, specializzata per i file sulla macchina host.

Lezione26  ; Gestione files: copia di un file qualunque, analogo al "copy"
             ; del dos. Cio' e' possibile usando i parametri della linea di
             ; comando (gli argomenti che si scrivono dopo il nome del prog.).
             ; Ad esempio "java Jlez6c file1.txt file1.bak" copia il file1.txt
             ; sotto il nome di file1.bak.

Ora passiamo alla conversione dei listatini C++, che per lo piu' riguardano
la OOP. In realta' gia' nei listati precedenti abbiamo istanziato degli
oggetti, siamo stati costretti!

Lezione27   ; Creazione di una classe con metodi pubblici e dati privati.

Lezione28   ; Aggiungiamo il costruttore alla classe. Da notare che il
              ; distruttore in Java sarebbe il metodo finalize(), pero' a causa
              ; del GC (Garbage Collector, che dealloca automaticamente le
              ; risorse non piu' utili) risulta difficile capire quando sia
              ; effettivamente chiamato.

Lezione29   ; Rendiamo parametrizzato il costruttore.

Lezione30   ; Un esempio di polimorfismo: scriviamo 3 funzioni somma(),
              ; che hanno lo stesso nome, ma parametri diversi: una e' per
              ; numeri int, una per i long e l'ultima per i float.
              ; In questo modo facciamo una sovrapposizione di funzioni,
              ; detta "overload": possiamo scrivere somma() per sommare
              ; numeri int,long e float, senza preoccuparci, sara' il
              ; compilatore a scegliere la funzione giusta volta per volta,
              ; rendendo piu' semplice il nostro compito.
            
Lezione31   ; Un esempio applicato alle classi: sovrapposizione (overload)
              ; di costruttori.

Lezione32   ; Sperimentiamo l'ereditarieta' (inheritance) derivando dalla
              ; classe animale (superclasse) delle sottoclassi "figlie", che
              ; erediteranno le variabili e i metodi della classe "padre",
              ; risparmiandoci di riscriverle, e limitando il nostro lavoro
              ; all'aggiunta delle variabili e dei metodi peculiari delle
              ; classi derivate. Il riutilizzo del codice e' evidente.
               
Lezione33  ; Quando si istanziano degli oggetti da una classe, ognuno
              ; di questi oggetti dispone di copie personali dei metodi e
              ; delle variabili definite dalla classe.
              ; Cioe', se a e b sono due classi di tipo animale, le due
              ; variabili a.numerozampe e b.numerozampe sono autonome,
              ; per cui cambiando una non si modifica l'altra.
              ; E' possibile pero' definire STATIC degli elementi di una
              ; classe: cio' significa che se ne fa esistere una sola
              ; copia, condivisa da tutti gli oggetti istanziati.


Potete inoltre visionare online gli esempi della seconda parte del corso:

Testo parte 2

MiaApplet1.html
MiaApplet1.java

MiaApplet2.html
MiaApplet2.java

VariFont.html
VariFont.java

VariGfx1.html
VariGfx1.java

d3DRect.html
d3DRect.java

Label1.html
Label1.java

Button1.html
Button1.java

Checkbox1.html
Checkbox1.java

CheckboxG1.html
CheckboxG1.java

Choice1.html
Choice1.java

List1.html
List1.java

Scrollbar1.html
Scrollbar1.java

TextField1.html
TextField1.java

TextArea1.html
TextArea1.java

String1.html
String1.java

Polygon1.html
Polygon1.java

Colors1.html
Colors1.java

Colors2.html
Colors2.java

LoadImg1.html
LoadImg1.java

LoadImg2.html
LoadImg2.java