Java defines eight primitive data types: byte, short, int, long, char, float, double, and boolean. These can be grouped into four categories: integers, floating-point numbers, characters, and booleans. Variables are declared with a type, name, and optional initializer. Java supports selection statements like if/else and switch to control program flow, as well as iteration statements like for, while, and do-while loops. Other control statements include break, continue, and return.