I understand that String[] args is an array of strings passed into main as parameters.
java Print \"Hello, World!\"
That's how the language was designed. C and C++ both do it in a similar fashion, though with a separate count, information that's included in the string array for Java.
You could have designed it to take integers or booleans but that would have added more work to the Java runtime for potentially little benefit.
Strings can be used to transmit any sort of information into the main program (including integers and booleans). Not so for integers if you want to pass in a string (short of the user having to manually encode it as UTF-8 or something, not something that would endear people to the language).
Just remember to declare it. By all means, raise a change request on the language if you wish (to make it optional, or allow other signatures) but I suspect that will not get very far.