http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=21041&forum=12&2

例えば、 
System.out.println("Hello"); 
は、「画面に"Hello"と出力してください」という意味なので、結果は特に必要ありません。 
でも、 
String key = "abc"; 
String ABC = key.toUpperCase(); 
は「文字列"abc"を大文字にして、その結果をください」という意味なので結果が必要です。 


戻り値のあるメソッドは、その戻り値の型を最初に書きますが、 
int foo(...) { ... } 
戻り値のない場合、何もなしに書くのは、文法上マズイので、 
foo(...) { ... } // 他のメソッドと書き方が異なってしまう 
じゃあ、「戻り値なし」と書けばいいじゃん、 
戻り値なし foo(...) { ... } 
というのを英語に直して、 
void foo(...) { ... } 
と書きます。 

簡単な質問ほど、答えるのが難しいです。
果たして理解してもらえるのでしょうか?