In a recent incident where I was looking for Java on the console I noticed a difference between whereis and which. This is the short version:
searches the standard Linix (Unix) locations for a specified command
which returns the pathnames of the files which would be executed in the current environment
I prefer which because I am more interested in if a binary can be accessed in the current environment.