ゆるゆるプログラミング

・インクリメント・デクリメント演算子

インクリメント演算子とは、整数型の変数に1を足す(1増加)もので、半角の'+'を2つ並べた'++'で表します。

デクリメント演算子とは、整数型の変数から1を引く(1減少)もので、半角の'-'を2つ並べた'--'で表します。

演算 演算子
インクリメント(1足す) ++
デクリメント(1引く) --

インクリメント演算子とデクリメント演算子は、変数の前に書く方法と、後ろに書く方法の2つがあります。

前に書く方法は「前置」、後ろに書く方法は「後置」と呼ばれます。使い方は以下のとおりです。

// 前置インクリメント
    ++ 変数

// 後置インクリメント
    変数 ++

// 前置デクリメント
    -- 変数

// 後置デクリメント
    変数 --

以下のソースは、前置と後置でインクリメントを行う例です。

Increment1.java
001:    public class Increment1 {
002:    	public static void main( String[] args ) {
003:    		// 変数定義
004:    		int a;
005:    
006:    		// 前置インクリメント
007:    		a = 0;
008:    		++ a;
009:    		System.out.println( "前置インクリメント a=" + a );
010:    
011:    		// 後置インクリメント
012:    		a = 0;
013:    		a ++;
014:    		System.out.println( "後置インクリメント a=" + a );
015:    	}
016:    }

Increment1.javaの出力結果

前置インクリメント a=1
後置インクリメント a=1

前置と後置でインクリメントした値がどちらも同じa=1になっています。どちらもa=0に1が足されています。

以下のソースは、前置と後置で違う値になる例です。

Increment2.java
001:    public class Increment2 {
002:    	public static void main( String[] args ) {
003:    		// 変数定義
004:    		int a, b;
005:    
006:    		// 前置インクリメント
007:    		a = 0;
008:    		b = ++ a;
009:    		System.out.println( "前置インクリメント b=" + b );
010:    
011:    		// 後置インクリメント
012:    		a = 0;
013:    		b = a ++;
014:    		System.out.println( "後置インクリメント b=" + b );
015:    	}
016:    }

Increment2.javaの出力結果

前置インクリメント b=1
後置インクリメント b=0

前置と後置でインクリメントした値が違うことがわかります。

これは、前置の方がaに1を足した値をbに代入しているのに対して、後置の方はaの値をbに代入した後にaに1を足すことによって起こる違いです。

次はインクリメント演算子とデクリメント演算子を、配列添え字として使う例です。

Increment3.java
001:    public class Increment3 {
002:    	public static void main( String[] args ) {
003:    		// 変数定義
004:    		int a, b;
005:    		int n[] = new int[ 3 ];
006:    
007:    		n[ 0 ] = 2;
008:    		n[ 1 ] = 9;
009:    		n[ 2 ] = 8;
010:    
011:    		// 前置インクリメント
012:    		a = 0;
013:    		b = n[ ++ a ];
014:    		System.out.println( "前置インクリメント b=" + b );
015:    
016:    		// 後置インクリメント
017:    		a = 0;
018:    		b = n[ a ++ ];
019:    		System.out.println( "後置インクリメント b=" + b );
020:    	}
021:    }

Increment3.javaの出力結果

前置インクリメント b=9
後置インクリメント b=2

前置の方はaに1を足した値が添え字になります。この例ではa=1が添え字になるのでb=n[1]が代入されます。

後置の方はaが添え字になります。この例ではa=0が添え字になるのでb=n[0]が代入され、代入後にaに1が足されます。

■関連コンテンツ

計算結果の表示 四則演算で計算した結果を表示するプログラムについて解説
for文 繰り返し処理に使用するfor文について解説

■新着情報

2019.03.20 階乗 階乗について解説
2019.03.20 傾き45°縞模様 傾き45°の縞模様の画像作成方法を紹介
2019.03.18 市松模様(テキスト版) 市松模様のテキスト表示方法を紹介
2019.03.15 多次元配列 多次元配列について解説
2019.03.11 配列のソート 配列を昇順・降順に並び替える方法を解説
2019.03.04 市松模様 市松模様の画像作成方法を紹介
2019.02.26 水平線模様 水平線模様の画像作成方法を紹介
2019.02.26 垂直線模様 垂直線模様の画像作成方法を紹介
2019.02.26 十字線模様 十字線模様の画像作成方法を紹介
2019.02.25 模様の描画 いろいろな模様の描画方法を紹介

■広告

法人向けのETC専用カード

~約8,000名の受講生と80社以上の導入実績~ 企業向けプログラミング研修ならCodeCamp

日本最大級ショッピングサイト!お買い物なら楽天市場

 

 

 

 

 

 

 

Topへ