JavaA2Z

KAB-studio > プログラミング > JavaA2Z > /演算子とは

/演算子

日本語 割る演算子
英語 slash operator
ふりがな すらっしゅえんざんし
フリガナ スラッシュエンザンシ

解説

割り算演算子
二項演算子のひとつ。
計算用演算子整数値や実数値を文字通り「割る」ことができる。
左オペランド右オペランドを割った結果が戻り値として返される。割った結果は両オペランドには反映されない。
booleanを除くプリミティブ型で使用できる。
 
オペランドint整数の場合、返される値のは同じく整数となる。
その際、計算結果に小数が含まれていても切り捨てられるため注意。
オペランドのうちどちらかがdouble浮動小数点であれば、返される値の浮動小数点となる。
そのため、整数同士の割り算でも、どちらか一方のオペランド浮動小数点キャストすることで小数点も含まれた値が返される。
 
ただし、浮動小数点丸め誤差を生むため、正確な値を返さないこともある。
割り算で正確な値を計算したい場合にはBigDecimalクラスの使用を勧める。

参考サイト

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

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

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

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // 整数値の割り算。
        System.out.println( 4 / 2 );
        // 2

        // 変数を使用した場合。
        int intL = 20;
        int intR = 5;
        System.out.println( intL );
        System.out.println( intR );
        System.out.println( intL / intR );
        System.out.println( intL );
        System.out.println( intR );
        // 20
        // 5
        // 4
        // 20
        // 5
        // このように、/演算子の結果は、オペランドには書き込まれません。
        // /演算子の演算結果が戻り値として返されるのでそれを受け取ります。
        int i = intL / intR;
        System.out.println( i );
        // 4

        // int型同士の割り算の場合、返される型はint型なので、
        // たとえ小数点が出ても小数点は切り捨てられます。
        double d = intL / 8;
        System.out.println( d );
        // 2.0

        // この場合、どちらかの型をdouble型かfloat型にキャストすることで
        // 実数の割り算と見なされます。
        d = (double)intL / 8;
        System.out.println( d );
        // 2.5

        // 浮動小数点型同士であれば当然結果は浮動小数点型となります。
        d = 10.0 / 8.0;
        System.out.println( d );
        // 1.25

        // 0で割ろうとするとArithmeticException例外が投げられます。
        try
        {
            System.out.println( 3 / 0 );
        }
        catch( ArithmeticException e )
        {
            e.printStackTrace();
            // java.lang.ArithmeticException: / by zero
            //     at Sample.main(Sample.java:32)
        }

        // クラスには使えません。
        // コンパイルエラーになります。
        Integer integerL = new Integer( 100 );
        Integer integerR = new Integer( 300 );
        // System.out.println( integerL / integerR );
        // コンパイルエラー:
        // 演算子 / は引き数の型 java.lang.Integer, java.lang.Integer で未定義です。
    }
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // 整数値の割り算。
        System.out.println( 4 / 2 );
        // 2

        // 変数を使用した場合。
        int intL = 20;
        int intR = 5;
        System.out.println( intL );
        System.out.println( intR );
        System.out.println( intL / intR );
        System.out.println( intL );
        System.out.println( intR );
        // 20
        // 5
        // 4
        // 20
        // 5
        // このように、/演算子の結果は、オペランドには書き込まれません。
        // /演算子の演算結果が戻り値として返されるのでそれを受け取ります。
        int i = intL / intR;
        System.out.println( i );
        // 4

        // int型同士の割り算の場合、返される型はint型なので、
        // たとえ小数点が出ても小数点は切り捨てられます。
        double d = intL / 8;
        System.out.println( d );
        // 2.0

        // この場合、どちらかの型をdouble型かfloat型にキャストすることで
        // 実数の割り算と見なされます。
        d = (double)intL / 8;
        System.out.println( d );
        // 2.5

        // 浮動小数点型同士であれば当然結果は浮動小数点型となります。
        d = 10.0 / 8.0;
        System.out.println( d );
        // 1.25

        // 0で割ろうとするとArithmeticException例外が投げられます。
        try
        {
            System.out.println( 3 / 0 );
        }
        catch( ArithmeticException e )
        {
            e.printStackTrace();
            // java.lang.ArithmeticException: / by zero
            //     at Sample.main(Sample.java:32)
        }

        // クラスには使えません。
        // コンパイルエラーになります。
        Integer integerL = new Integer( 100 );
        Integer integerR = new Integer( 300 );
        // System.out.println( integerL / integerR );
        // コンパイルエラー:
        // 演算子 / は引き数の型 java.lang.Integer, java.lang.Integer で未定義です。
    }
}

この単語を含むページ

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

「解説」に含まれているページ

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

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