Tokens are the smallest individual units that make up a program. There are 6 types of tokens: keywords, identifiers, constants, strings, special symbols, and operators. Keywords have fixed meanings and cannot be changed, identifiers name variables and functions, constants are fixed values, strings are sequences of characters in double quotes, special symbols define functions, and operators perform mathematical or logical operations.