パブリックスタティックヴォイドメイン
昨日会社で2年目の男の子に、Javaのstatic mainメソッドは、
public static void main(String args) と、
public static void main(String args) の、
どちらでもコンパイルは通って動くのだが、どちらが正しいのか?という質問をされたが(もともとJavaには明るくないのもあって)即答できなかった。
少し調べてみると、Javaでは配列の宣言は、
int ar;
int ar;
の、どちらも許しているようであり、基本的には前者がふつうのようであるが、Sun の公式コメントには至れなかったので、もう少し調べてみようと思う。美しさを優先するJavaからしてみれば、後者はJavaの妥協であろう。
Javaに詳しい後輩曰くは、
int ar[] = new int[5];
という宣言と導入を兼ねた記述において、見やすくするために、後者の宣言を許しているのではないか、とのことであった。Cの配列宣言は後者が近いしね。
いずれにせよ、宗教的な議論になりそうだ。
public static void main(String args) と、
public static void main(String args) の、
どちらでもコンパイルは通って動くのだが、どちらが正しいのか?という質問をされたが(もともとJavaには明るくないのもあって)即答できなかった。
少し調べてみると、Javaでは配列の宣言は、
int ar;
int ar;
の、どちらも許しているようであり、基本的には前者がふつうのようであるが、Sun の公式コメントには至れなかったので、もう少し調べてみようと思う。美しさを優先するJavaからしてみれば、後者はJavaの妥協であろう。
Javaに詳しい後輩曰くは、
int ar[] = new int[5];
という宣言と導入を兼ねた記述において、見やすくするために、後者の宣言を許しているのではないか、とのことであった。Cの配列宣言は後者が近いしね。
いずれにせよ、宗教的な議論になりそうだ。