we don’t see these values themselves. We can’t see the value 27 for example, we instead just see a textual representation of the value 27. It looks like this: 27. Every value that can be stored in a primitive variable is represented by a literal. So when we see a primitive value returned as output we are really just seeing the literal representation of it. A literal simply represents its equivelent value textually. For example, if a variable of type double holds the value 23.2, then 23.2 is the literal equivalent, because that’s what we can see the value as. If a boolean variable holds the value true, then true is the literal. If a char variable holds the value ‘d’, then ‘d’ is the literal. So a literal simply represents the value of a primitive type variable. Literals also exists outside of variables. If I need to use a number in my code, for example 55 as part of a calculation, then that number is a literal. Or if I need to use a char, then that char is a literal.