Come libro gratuito ti consiglio anche questo:
http://www.mokabyte.it/manualejava2/index.htm

Il libro uno:

Libro 1: "Dalla teoria alla programmazione"
Questo volume, che è stato adottato anche come testo di riferimento presso la Facoltà di Informatica all'Università di Milano, è dedicato ai principianti che desiderano apprendere le basi della tecnologia Java e del linguaggio.
IMHO: programmare usando blocco note è una cosa oscena secondo me, come minimo uso WorkPad su Win o KWrite su lin se devo testare poche righe.
Ma la cosa ideale è il testo colorato, indentato... insomma un IDE(per iniziare io ho usato Ginipad, lo trovi sempre su mokabyte)