プログラミングメモ

自分が忘れないようにJava、Python、PHP、Linux、パソコントラブル対応についてメモします

インクリメント演算子とデクリメント演算子 いろいろなプログラミング言語で比較

Java

//++インクリメント演算子と--デクリメント演算子が使える

int a = 0;

a++;  //aは1になる
a--;  //aは0になる

Python

#++インクリメント演算子と--デクリメント演算子は存在しない

a = 0

#a++  #エラーになる
#a--  #エラーになる

a += 1 #+=は使える。aは1になる
a -= 1 #-=は使える。aは0になる

PHP

//++インクリメント演算子と--デクリメント演算子が使える

$a = 0;

$a++;  //$aは1になる
$a--;  //$aは0になる

JavaScript

//++インクリメント演算子と--デクリメント演算子が使える
var a = 0;
a++;  //aは1になる
a--;  //aは0になる

VBA(Excel VBA、Access VBA)

'++インクリメント演算子と--デクリメント演算子は存在しない
'+=や-=という書き方もできない

Dim a As Integer
a = 0

'a++ 'エラーになる
'a-- 'エラーになる

'a+=1 'エラーになる
'a-=1 'エラーになる

a = a + 1  'aは1になる
a = a - 1  'aは0になる

++aとa++について

なお、++aやa++(デクリメントも同様)では使用する場所により、結果が異なってしまうことがある。代入と同一行に書かなければ問題ないと思われる。例えば(Javaで記述)、

int a = 0;
int b = a++; //bは0。bにaが代入された後、aが+1される

a = 0;
int c = ++a; //cは1。aが+1された後、cにaが代入される

というふうになるため、ややこしいので代入とインクリメント演算子・デクリメント演算子は同一行に書かないほうが良い。