Primitive types are the basic, simple data types that are inherent to Java. Primitive types are lower case (`int`, `double`, `char`, and `boolean`). They are inherent to the Java language. They are the simplest data types, they only have a value. Primitives are different from objects. Objects are more complex data types, they are usually made up of multiple primitives. For example String objects are made up of several `char` values put together. An object is an instance of a class. Objects have both state and behavior, whereas primitives only have state (a single value).