An array is treated as an object, so the default outcome of Object#toString() will be used as string representation. See also this extract of the Javadoc (click the link):
The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:
getClass().getName() + '@' + Integer.toHexString(hashCode())
To achieve what you want, rather use Arrays#toString().
System.out.println(Arrays.toString(a));