null
means that a variable contains a reference to a space in memory that does not contain an object.
0
is a numeric data type with a value of 0.
Nothing
doesn't really exist, however I think you may be viewing this as an empty String ""
which is simply a String
data type that does not contain a value.
If your looking at this from a Javascript
paradigm it may be confusing. In Java variables are not truthy and falsey therefore the type is considered in comparisons.