Programming languages are classified by how close they are to human language versus machine instructions. Low-level languages (like assembly or machine code) are written close to the hardware and are hard for humans to read. High-level languages use English-like keywords and syntax, making them easier to write, read, and maintain, and they must be translated into machine code by a compiler or interpreter before a computer can run them.
Java uses readable keywords such as class, public, if, and for, and it is compiled into an intermediate form (bytecode) that runs on the Java Virtual Machine. This English-like syntax and reliance on a translator are the defining features of a high-level language, which is why Java is classified as one.
Java is not a machine language (which consists of raw binary instructions specific to a processor) and it is not an algorithm (which is a step-by-step problem-solving procedure, not a programming language at all).
Exam tip: if a language uses readable words and structured grammar rather than binary or processor-specific instructions, classify it as high level.