The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus

Adding to that, they mean for different purposes as the name indicates.

in - for getting inputs from user out - for displaying any output to the user err - for displaying any errors to the user

They can be given the handles of any such capable devices by obtaining the Stream to it. A stream is nothing but the channel which facilitates your flow of data.

By default, the input stream is given with the handle of keyboard through or using which the user can provide any inputs. The output and error streams are given with the handle of the Console (also known as "monitor").

For dealing with the different streams you may have a look at the available streams in java.io package.