In Mathematica there are compound expressions and atomic expressions.
Anything that AtomQ returns True for is atomic, and may behave in "strange" ways. These must be considered indivisible by users, and only standard and documented ways should be used to extract information from them.
All the rest are compound expressions and have the form head[arg1, arg2, ...]. Here head is the head of the compound expression.
Atomic expressions have "heads" too, by convention. These do not indicate a structure. They are used in practice to indicate the type of the atomic expression so we can programatically distinguish an Integer from a Real. The fact that Head[1] returns Integer does not imply that 1 is somehow represented as Integer[...] because AtomQ[1] is True.
Finally a warning:
Don't be fooled by what e.g. FullForm might show for an atomic expressions (e.g. FullForm[2/3] is Rational[2,3] which looks like it has a structure: an explicit head and two arguments. In reality it doesn't. AtomQ[2/3] is True. In practice atomic objects vary in how they behave when you attempt to disassemble them, but none of them work with all functions that would allow looking into their structure (such as pattern matching on the structure FullForm shows, Part, Extract, Depth, etc.). When you work with some objects, you must read their documentation and only handle them in standard and documented ways. Otherwise your code might misbehave in ways you didn't expect.
Other than the most basic data types in Mathematica (Symbol, String, Integer, Rational, etc.) there are more complex atomic objects such as SparseArray, Graph, Image, MeshRegion, etc. These are made to be atomic so that they can have a more efficient internal implementation.
IntegerandSymbolare special. While everything must have some head, atomic objects are effectively headless. See iftutorial/BasicObjectshelps to understand. Also, you'll find thatHead[Symbol]isSymbol, but that doesn't mean that everything in the language isSymbol[Symbol[Symbol[...– LLlAMnYP Mar 10 '16 at 12:111is literally1. EvenToBoxes[1]gives"1". – LLlAMnYP Mar 10 '16 at 12:15Truewhen tested withAtomQ. On the other hand, you rightly observe thatDepth[1]is 1 although it is atomic. Perhaps, some inconsistency in the documentation. – LLlAMnYP Mar 10 '16 at 12:21Integeris anAtom, it is a special type of expression. Therefore,Headof an expression does not imply the expression has a explicit form that start with the head. – Kattern Mar 10 '16 at 12:37