JavaA2Z

KAB-studio > プログラミング > JavaA2Z > mainとは

main

日本語 中心メソッド
英語 main
ふりがな めいん
フリガナ メイン

解説

時に呼ばれるメソッド
publicメソッド」「staticメソッド」「戻り値void」「メソッド名がmain」「引数String[]変数名は何でも可)」というメソッド
javaコマンドでの実時や、Eclipseで「実」「デバッグ」した際にクラスを指定することで、そのクラスのmain()メソッドがまず最初に呼ばれる。プログラムの開始点であるため「エントリーポイント」とも呼ばれる。
 
引数args」には、javaコマンドによる実時に指定された文字列が渡される。
指定された文字列スペースで分割され、各単語が各要素として格納される。
たとえば「AAA BBB」を指定した場合、args[0]"AAA"args[1]"BBB"が格納されることになる。
ちなみに引数変数名は「args」である必要はないが、慣例的に「args」とすることが多い。
 
main()メソッドであれば実時に勝手に呼ばれるというわけではなく、上記のように「クラスを指定」することで、main()メソッドが探し出され呼び出される。
main()メソッドと言っても普通のメソッドと同じであり、「さらに早く呼び出すメソッド」がありそれがmain()メソッドを呼ぶ、と考えた方がわかりやすいだろう。
また、開始時にmain()メソッドが呼ばれるのは上記の形式で実した時だけであり、アプレットサーブレットといった形式であればmain()メソッドは呼ばれない。Javaプログラムサーバーサイドで使われることが多いことを考えると、むしろmain()メソッドの使用機会は非常に少ないとも言える。

参考サイト

  • (参考サイトはありません)

(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
public class Sample
{
    /**
    *   ↓これがmain()メソッド。
    *   javaコマンドや、Eclipseのデバッグコマンドでクラスを指定すると、
    *   そのクラスのmain()メソッドが呼ばれます。
    */
    public static void main( String[] args )
    {
        System.out.println( "Sample#main()" );
        // Sample#main()

        // argsには、javaコマンドに渡された文字列が
        // 格納されています。
        forint iF1 = 0; iF1 < args.length; ++iF1 )
        {
            System.out.println( args[iF1] );
        }
    }

    /**
    *   引数が違ったら別メソッド(オーバーロード)なので
    *   呼ばれることはありません。
    */
    public static void main( String[] args, int i )
    {
        System.out.println( "HasMain#main( String[], int )" );
    }
}

/**
*   main()メソッドを持つクラス。
*/
class HasMain
{
    /**
    *   main()メソッド。
    *   実行時にこのクラスを指定すれば、こちらが呼ばれます。
    */
    public static void main( String[] args )
    {
        System.out.println( "HasMain#main()" );
    }
}

/*

 たとえば、以下のコマンドを実行した場合。

>java -classpath bin Sample AAA BBB CCC

 すると、以下のように出力されます。

Sample#main()
AAA
BBB
CCC

 このように、スペースで区切った単語のひとつひとつが、
argsの各要素に格納されます。
 また、このjavaコマンドの引数は、Eclipseではメニューの
「実行」-「実行」もしくは「デバッグ」のダイアログで、
「引数」タブの「プログラム引数」に記述することで
指定することができます。

*/
// Sample.java
public class Sample
{
    /**
    *   ↓これがmain()メソッド。
    *   javaコマンドや、Eclipseのデバッグコマンドでクラスを指定すると、
    *   そのクラスのmain()メソッドが呼ばれます。
    */
    public static void main( String[] args )
    {
        System.out.println( "Sample#main()" );
        // Sample#main()

        // argsには、javaコマンドに渡された文字列が
        // 格納されています。
        for( int iF1 = 0; iF1 < args.length; ++iF1 )
        {
            System.out.println( args[iF1] );
        }
    }

    /**
    *   引数が違ったら別メソッド(オーバーロード)なので
    *   呼ばれることはありません。
    */
    public static void main( String[] args, int i )
    {
        System.out.println( "HasMain#main( String[], int )" );
    }
}

/**
*   main()メソッドを持つクラス。
*/
class HasMain
{
    /**
    *   main()メソッド。
    *   実行時にこのクラスを指定すれば、こちらが呼ばれます。
    */
    public static void main( String[] args )
    {
        System.out.println( "HasMain#main()" );
    }
}

/*

 たとえば、以下のコマンドを実行した場合。

>java -classpath bin Sample AAA BBB CCC

 すると、以下のように出力されます。

Sample#main()
AAA
BBB
CCC

 このように、スペースで区切った単語のひとつひとつが、
argsの各要素に格納されます。
 また、このjavaコマンドの引数は、Eclipseではメニューの
「実行」-「実行」もしくは「デバッグ」のダイアログで、
「引数」タブの「プログラム引数」に記述することで
指定することができます。

*/

この単語を含むページ

「みだし」に含まれているページ

「サンプルプログラムとか」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2006/02/06
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。