!expr is the logical NOT function. It gives False if expr is True, and True if it is False.
Not[expr] can be input in StandardForm and InputForm as expr. The character can be entered as !, not or \[Not].
Not gives symbolic results when necessary, applying various simplification rules to them.
If you are using Mathematica with a text-based front end, then you cannot use the notation !expr for Not[expr] if it appears at the very beginning of a line. In this case, !expr is interpreted as a shell escape.