加算演算子 + [VB 2010]

Visual Basic 2010/2008 超やさしい文法

   加算演算子 +

数値をたし算するためには、加算演算子 + を使います。変数には、数値型を指定する必要があります。

数値型のデータ型

Integer型 (整数型)

演算結果や代入する整数は、-2,147,483,648 ~ 2,147,483,647 に収まる必要があります。この範囲を超えるときや、超えると予想されるときは、Long型を使う必要があります。

  Dim anser As Integer
Long型

-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 までの整数を代入することができます。演算結果がInteger型で収まらないときに、このデータ型を使います。

  Dim anser As Long
Short 型

-32,768 ~ 32,767 までの整数を代入することができます。大きな整数を扱わないことが確定している場合のみ、このデータ型を使えますが、通常はInteger型のほうが安全です。

  Dim anser As Short
Double型 (倍精度浮動小数点数型)

-1.79769313486231570×10の38乗 ~ 1.79769313486231570×10の38乗の実数を代入することができます。

ただし、すべての数が正確に表現できないので、わずかではありますが誤差が出ます。お金の計算には、使えないと思ってください。浮動小数点のことを詳しく知りたい方は、浮動小数点数型と誤差 が参考になります。

  Dim anser As Double

Visual Basicには、多くの数値型があります。すべてのデータ型は、データ型の概要 (Visual Basic)を参考にしてください。


Integer型の変数と、加算演算子を使ったサンプルプログラムを作成します。変数を宣言したら、同時に初期値を代入しています。

Module Module1

    Sub Main()
       ' 整数値変数の宣言と初期値代入
       Dim anser As Integer = 0
       ' 加算
       anser = 5 + 2
       Console.WriteLine(anser)   ' anserは 7
       anser = 0 + 2
       Console.WriteLine(anser)   ' anserは 2

       ' 整数値変数の宣言と代入
       Dim a As Integer = 3
       Dim b As Integer = 12
       ' 加算
       anser = a + b
       Console.WriteLine(anser)   ' anserは 15

       ' 負の整数を使った例
       Dim c As Integer = -2
       Dim d As Integer = 100
       ' 加算
       anser = c + d
       Console.WriteLine(anser)   ' anserは 98
    End Sub

End Module

変数の使い方の応用として、一度演算に使った変数に、その演算結果を代入することができ、変数がひとつ減ってプログラムを短くできます。

この方法を使うと、anser = i + 1 を

  i = i + 1

のように書くことができ、anser変数を使わずに済みます。

Module Module1

    Sub Main()
       ' 整数値変数の宣言と初期値代入
       Dim i As Integer = 0
       ' i変数に1を加えて、再度i変数に代入
       i = i + 1
       Console.WriteLine(i)    ' i は 1
       ' さらにi変数に1を加えて、再度i変数に代入
       i = i + 1
       Console.WriteLine(i)    ' i は 2
    End Sub

End Module
参考図

このような使い方は、変数が少なくて済むので、プログラムでは良く見かけます。式としてはおかしいのですが、=が代入演算子だからできることです。

新たな変数をひとつ宣言しないで済み、慣れれば便利です。いずれこの変数の使い方が必要な場面が出てきます。


次回は、減算演算子 - について説明します。



Copyright© やさしいVB2010/2008 ADO.NET. All rights reserved.