The three types of errors in Java programs are:
1. Syntax errors, which occur when code violates Java's coding rules, like missing brackets or semicolons.
2. Semantic errors, which change the meaning of code to the compiler by incorrectly using variables names.
3. Logic and runtime errors, resulting from flaws in program design, such as not handling invalid user input, that cause programs to run improperly even if they compile.