トップ 言語 Java クラス、メソッド、インターフェース Javaのメソッドとは mainメソッド、コンストラクタ、命名規則 Javaのmainメソッドとは

Javaのmainメソッドとは―実行方法、引数、特定のクラスのmain実行など

実行方法、引数、特定のクラスのmain実行など。Javaのmainメソッドとは何かについてまとめています。

▲記事トップへ

Javaのmainメソッドとは

Javaのmainメソッドとは、作成したJavaのプログラムを実行するときに最初に呼び出されるメソッドです。

Javaのプログラムを実行する際にはjavaコマンドを使用します。 このコマンドを使用すると、引数で指定したクラスをJVM(Java仮想マシン)がロードし、このクラスのmain()メソッドを呼び出します。 つまり、Javaアプリケーションのクラスにおけるmain()メソッドは、実行を制御するためのスタート地点となります。

Javaプログラムには必ずmainメソッドが必要ですが、意識して作らないケースもあります。 たとえば、TomcatなどにのせるWebアプリケーションを作成する場合は、Javaプログラムの一部をわれわれはつくります。 Tomcat側にmainメソッドが実装されているので、mainメソッドは作成する必要はありません。 作成してもTomcatから呼び出されないです。

mainメソッドのシグニチャとpublic、static、void、String[] argsの意味

mainメソッドの形は、以下のようにpublicでstatic、戻り値はvoidで、引数はString型の配列とJavaの仕様で決められています。 ここではこれらのキーワードの意味についてまとめていきます。

public static void main(String[] args)){
:
}

mainメソッドの実行とコマンドライン引数を受け取る

実際に例を見てみると分かりやすいと思います。 ここでは、コマンドライン引数を受け取る例を見てみます。

サンプルプログラム

class Sample {
    public static void main(String[] args) {
        System.out.println("args.length : " + args.length);
        for (int i = 0; i < args.length; i++) {
            System.out.println("args[" + i + "] : " + args[i]);
        }
    }
}

コンパイル

javac Sample.java

実行

実行は「java Sample <引数1> <引数2> ・・・」のように実行します。

java Sample 1 2 3
args.length : 3
args[0] : 1
args[1] : 2
args[2] : 3

説明

サンプルプログラムの実行結果を見ると分かるように、 コマンドラインから与えられた引数「1 2 3」は、String[]に0番目要素から順番に設定されます。 C言語では、一番最初にプログラム名が設定されますが、Javaの場合は引数の先頭から設定されます。

javaコマンドでのmainのあるクラスを指定して実行

サンプルのように1つのJavaクラスだけで作られたプログラムを実行する場合は問題になりませんが、 大きくなって複数のJavaクラスとなって、クラスファイルをアーカイブにまとめたjarファイルをロードする場合や mainメソッドをもったクラスが複数ある場合など、javaコマンド実行時にちゃんと教えてあげる必要があります。

こうしたときを想定して、Javaコマンドの実行の参考として、もうちょっとjavaコマンドのオプションを入れた実行例を見てみます。

例えば、以下のようなオプションと引数を指定してjavaコマンドを実行します。

java -Dfile.encoding=UTF-8 -classpath <jarファイル> -XmxXXXM -XmsXXM -XX:PermSize=XXXm -XX:MaxPermSize=XXXm <パッケージ.クラス名> <コマンドライン引数>

もっと知識を広げるための参考

戻る

スポンサーリンク

サイト内のページ

言語
C・C++ /HTML /Java /JavaScript /PHP /シェルスクリプト

開発環境
Ant /Burp /Eclipse /Fiddler /gcc /gdb /Git /g++ /JDK /JMeter /JUnit /Teraterm /ZAP

技術・仕様
Ajax /CORBA /Jakarta EE(旧称J2EE、Java EE) /JNI

ライブラリ/Framework/CMS
bootstrap /jQuery /FuelPHP /Lucene /MyBatis /Seasar2 /Spring /Struts /WordPress

Web API
Google Maps

ITインフラOSとミドルウェア
Linux /Windows /シェル
ActiveMQ /Tomcat /MariaDB /MySQL /Nagios /Redis /Solr

ITインフラサーバー
公開Webサーバー

ITインフラネットワーク
プログラミング /構築

ITインフラセキュリティ
公開サーバーのセキュリティ

PC製品
ZOTAC

SI
ホームページの作り方

その他
IT用語 /ITスキル体系

スポンサーリンク

関連サイト内検索ツール

zealseedsおよび関連サイト内のページが検索できます。

IPアドレス確認ツール

あなたのグローバルIPアドレスは以下です。

3.16.51.237

HTMLの表示色確認ツール

パスワード生成ツール

文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。

ここに生成されます。

スポンサーリンク