Domino HTML y CSS, de PHP y Java sé muy poquito, lo mínimo para echar a andar un script que me permita por ejemplo validar un formulario de contacto. Por suerte en la web puedes encontrar código gratis que te sirve para la mayoría de tareas simples.
Deberías empezar con CSS, es muy asequible y se complementa con HTML, es lo mínimo que necesitas para diseñar una web sencilla.
¿Dónde aprender? Pues es cuestión de practicar y acudir a Google para consultas puntuales, sobretodo a la hora de arreglar bugs en determinados navegadores.
Saludos!