LoginSignup
4
3

More than 3 years have passed since last update.

【Java】public static void mainとは

Last updated at Posted at 2021-04-16

初めに

Javaを勉強すると最初にぶつかる壁といえば、Public static void main(String[]args) でしょうか。
私自身Java学習を開始して間もないですが、意味が分からず苦戦しています。
そこで、この構文の意味を調べてみました。
他の初学者様の参考になればと思います。

main メソッドについて

初めに、Public static void main(String[]args)の"main"に関してです。
これはメソッド名を示します。
そして、mainと名付けられたメソッドには初期設定として2つの役割が与えられます。
1つ目の役割は、コマンドライン(黒い画面)でプログラムを起動したタイミングで自動的に実行されるという事。
2つ目の役割を、他クラス(設計図)を使いオブジェクトの作成や操作を行うという事。
以上2つの役割を頭の隅に入れながら以下の説明を読んでいただけたらと思います。

staticについて

インスタンス化(クラスと呼ばれる設計図を参考に、データを作る事)をしなくても、
使える事を意味します。
プログラム実行のタイミングで起動する役割がありますので、データを作る前に実行
しなくてはいけないわけです。

voidについて

戻り値が無いことを意味します。
戻り値とは、呼び出し先に渡す処理結果の事です。
mainメソッドは他クラスを利用する事はあっても、利用されることはありません。
何故なら自動的に実行されるからです。
したがって、呼び出し先に値を渡す事態は起きず、戻り値は不要となります。

String[]argsについて

コマンドライン引数と呼ばれる引数です。
コマンドラインから渡す引数であり、文字列が打たれる事が想定されています。
なのでデータ型(データを入れる箱の種類)はString[]と呼ばれる文字列を保存するものになっています。
では、何故コマンドライン引数で値を渡す必要があるのか。
それはmainメソッドが一番最初に自動実行されるからです。
他クラスで引数を指定してメソッドを実行する事が出来ません。
そこで、コマンドラインでプログラム実行命令と一緒に引数も指定する必要が出てきました。
これがコマンドライン引数とString[]が使用される理由です。
※argに関しては慣例で使用されているだけなので、別の文字でも構いません。

最後に

初めての投稿になりますが、初学者さんの手助けになれば幸いです。
私自身Javaの学習を開始して日が浅いので間違いなどあればご指導お願い致します。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3