質問: JAVAについて質問させてください。 初心者ですのでお手柔らかにお願いします。 ``` public class Hello{ public static void main(String[] args){ System.out.println("Hello"); } } ``` ただの文字を出力するプログラムですが、 1:2行目 "String[] args"にはどんな意味があるのですか? 2:3行目 "System"や"out"にはどんな意味があるのですか? 単にprintlnにしないでコンマ区切りで言葉を入れているのには何か意味があるように思えるのですが・・・ くだらない質問で申し訳ありませんが、お知恵を貸していただけると嬉しいです。
回答: まず、わからないことは。検索する癖を付けましょう。 java main こんなサイトが見つかったりします。 【Java】public static void main(String[] args)とは何か - TASK NOTES 今回は私なりに説明しますね。 > > 1:2行目 "String[] args"にはどんな意味があるのですか? > > > String[] というのは、String(文字列)配列をargsという名前で取りますということです。 例えば、このプログラムをコマンドプロンプトから実行した時のコマンドライン引数がargsに入ります。 ``` > java Hello abc def ``` 上の例では、abc と def がコマンドライン引数で argsに入ってきます プログラムの中で、 ``` System.out.prntln(args[0]); System.out.prntln(args[1]); ``` のようにすると確認出来るでしょう。 System というのは、 java.lang パッケージで定義されているクラスで、 説明に依ると「Systemクラスには有用なクラス」で標準入出力などを扱う処理が入っています。 outというのは、Systemクラスの中で定義されているstaticフィールド(実際には、PrintStreamクラス)です。 ちなみにprintln というのは、PrintStreamに定義されているメソッドです。 なので上の説明を読めばわかると思いますが、Systemクラスのoutフィールドのprintlnメソッドっを呼び出すということです。 分からない言葉がいくつか出てきたと思いますが、検索するなり本を読むなりして徐々に勉強していってください。 あと暇さえあれば、API ドキュメントを読むといいと思いますよ。 ※ 「**.**」 は、コンマではなく、ピリオドまたはドットと言います。