Para los que (como es mi caso) sabiendo programar, no dominan java, recomiendo un libro : Piensa en Java, 2ª adicion, de Bruce Eckel. Se puede descargar de rapidshare, aparece en google al poner literalemnte esto en el buscador: "PEJavaEspanol.pdf"
Antes de comenzar con java propiamente dicho, le pega un buen repaso a los conceptos de POO, y cosas así. No se si vale para quien no sepa nada, pero desde luego se puede aprender con muy pocos conocimientos anteriores.