JavaA2Z

KAB-studio > プログラミング > JavaA2Z > doステートメントとは

doステートメント

日本語 する命令
英語 do statement
ふりがな どぅすてーとめんと
フリガナ ドゥステートメント

解説

do-whileを使用した繰り返し文。
ステートメントの一種。
 
予約語do」と「while」を用いたステートメント
ループ」をステートメントのひとつ。
「doステートメントwhile( 評価);」という形式で記述する。
 
ほぼ「whileステートメント」と同じ。
処理の順番が「ステートメント」→「評価式」→……→「ステートメント」→「評価式」となる。
つまり「必ず最初にステートメントを処理する」「最初に評価式を処理しない」という点がwhileステートメントと異なる。
それ以外はwhileステートメントと同様である。
 
doステートメントの使用方法については以下の項目も参照のこと。
 
do-while
whilewhileステートメント
breakbreakステートメント
continuecontinueステートメント

参考サイト

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

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

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

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // 最も単純なdoステートメント。
        // do ; while( true );
        // ただし、無限ループになるので実際には意味がありません。
        
        int iW1 = 0;
        // iW1を1ずつ足していき、5以下の間繰り返します。
        do/* ここから「ステートメント」→ */
        {
            System.out.print( iW1 + ", " );
            ++iW1;
        }// ←ここまで「ステートメント」。
        while( iW1 < 5 );
        //     ↑↑↑↑
        //    これが評価式。
        System.out.println();
        // 0, 1, 2, 3, 4, 

        // このように、評価式がtrueの間、ループし続けます。

        // whileステートメントは「ステートメント」→「評価式」→……
        // ……→「ステートメント」→「評価式」の順に処理されます。
        do
        {
            System.out.println( "ステートメント" );
        }
        while( evaluate() );
        // ステートメント
        // 評価式 : 0
        // ステートメント
        // 評価式 : 1
        // ステートメント
        // 評価式 : 2

        // このように、必ず最初にステートメントが実行されます。


        iW1 = 0;
        // doとwhileの間が「ステートメント」です。
        do/* ここから「ステートメント」→ */System.out.print( ( iW1++ ) + ", " );/* ←ここまで「ステートメント」。*/while( iW1 < 5 );
        System.out.println();
        // 0, 1, 2, 3, 4, 

        // 通常は、「ステートメント」にはブロックを記述します。
        iW1 = 0;
        while( iW1 < 5 )/* ここから「ステートメント」→ */
        {
            System.out.print( iW1 + ", " );
            ++iW1;
        }// ←ここまで「ステートメント」。
        System.out.println();
        // 0, 1, 2, 3, 4, 

        int i;
        iW1 = 0;
        // 「ステートメント」にはステートメントで
        // あれば何でも記述できます。                      ↓↓↓↓代入ステートメントです。
        do/* ここから「ステートメント」→ */ i = 100; /* ←ここまで「ステートメント」。 */while( iW1 < 5 );

        // 記述できるステートメントはひとつです。
        // 以下のように「,」で複数記述することはできないため、通常は
        // ブロックを記述します。
        // do i = 100, ++i;while( iW1 < 5 );
        // コンパイルエラー:
        // トークン "," に構文エラーがあります。正しくは ";" です。

        // ステートメントを省略することはできません。
        // do /* ここから「ステートメント」→ */ /* ←ここまで「ステートメント」。*/ while( true );
        // コンパイルエラー:
        // トークン "}" に構文エラーがあります。正しくは "while" です。
    }

    // 処理順をチェックするためのフィールド。
    static int count = 0;

    // 処理順をチェックするためのメソッド。
    private static boolean evaluate()
    {
        System.out.println( "評価式 : " + count );
        ++count;
        if( count == 3 )
        {
            // countが3になったらfalseを返します。
            return false;
        }
        return true;
    }
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // 最も単純なdoステートメント。
        // do ; while( true );
        // ただし、無限ループになるので実際には意味がありません。
        
        int iW1 = 0;
        // iW1を1ずつ足していき、5以下の間繰り返します。
        do/* ここから「ステートメント」→ */
        {
            System.out.print( iW1 + ", " );
            ++iW1;
        }// ←ここまで「ステートメント」。
        while( iW1 < 5 );
        //     ↑↑↑↑
        //    これが評価式。
        System.out.println();
        // 0, 1, 2, 3, 4, 

        // このように、評価式がtrueの間、ループし続けます。

        // whileステートメントは「ステートメント」→「評価式」→……
        // ……→「ステートメント」→「評価式」の順に処理されます。
        do
        {
            System.out.println( "ステートメント" );
        }
        while( evaluate() );
        // ステートメント
        // 評価式 : 0
        // ステートメント
        // 評価式 : 1
        // ステートメント
        // 評価式 : 2

        // このように、必ず最初にステートメントが実行されます。


        iW1 = 0;
        // doとwhileの間が「ステートメント」です。
        do/* ここから「ステートメント」→ */System.out.print( ( iW1++ ) + ", " );/* ←ここまで「ステートメント」。*/while( iW1 < 5 );
        System.out.println();
        // 0, 1, 2, 3, 4, 

        // 通常は、「ステートメント」にはブロックを記述します。
        iW1 = 0;
        while( iW1 < 5 )/* ここから「ステートメント」→ */
        {
            System.out.print( iW1 + ", " );
            ++iW1;
        }// ←ここまで「ステートメント」。
        System.out.println();
        // 0, 1, 2, 3, 4, 

        int i;
        iW1 = 0;
        // 「ステートメント」にはステートメントで
        // あれば何でも記述できます。                      ↓↓↓↓代入ステートメントです。
        do/* ここから「ステートメント」→ */ i = 100; /* ←ここまで「ステートメント」。 */while( iW1 < 5 );

        // 記述できるステートメントはひとつです。
        // 以下のように「,」で複数記述することはできないため、通常は
        // ブロックを記述します。
        // do i = 100, ++i;while( iW1 < 5 );
        // コンパイルエラー:
        // トークン "," に構文エラーがあります。正しくは ";" です。

        // ステートメントを省略することはできません。
        // do /* ここから「ステートメント」→ */ /* ←ここまで「ステートメント」。*/ while( true );
        // コンパイルエラー:
        // トークン "}" に構文エラーがあります。正しくは "while" です。
    }

    // 処理順をチェックするためのフィールド。
    static int count = 0;

    // 処理順をチェックするためのメソッド。
    private static boolean evaluate()
    {
        System.out.println( "評価式 : " + count );
        ++count;
        if( count == 3 )
        {
            // countが3になったらfalseを返します。
            return false;
        }
        return true;
    }
}

この単語を含むページ

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

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

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