Swift は、すべての数値型に対してスタンダードな 4 つの演算子をサポートしています。
- 加算 (
+
) - 減算 (
-
) - 乗算 (
*
) - 除算 (
/
)
1 + 2 // 3
5 - 3 // 2
2 * 3 // 6
10.0 / 2.5 // 4.0
C や Objective-C での算術演算子と異なり、Swift の算術演算子は値がオーバーフローすることをデフォルトでは許容しません。Swift の(a &+ b
のような)オーバーフロー演算子を使用して、値がオーバーフローしたときの動作を選択することができます。Overflow Operators を確認してください。
加算演算子は、String
の結合もサポートされています。
"hello, " + "world" // "hello, world"
剰余演算子
剰余演算子 (a % b
) は、a
に収まる b
の倍数を算出し、余り(剰余)の値を返します。
%
) は、他の言語ではモジュロ演算子としても知られています。しかしながら、Swift での負の値における動作は、厳密にはモジュロ演算よりもリメインダーにあたります。
剰余演算子がどのように動作するかを見ていきます。9 % 4
を計算するために、まず 9
に収まる 4
の個数を算出します。

9
には 2 つの 4
を収めることができ、残りは(オレンジ色で示された)1
です。
Swift では、次のように記述します。
9 % 4 // 1
a % b
の答えを求めるために、%
演算子は次の等式を算出し、出力として remainder
を返します。
a
= (b
x some multiplier
) + remainder
some multiplier
は、a
に収まる b
の最大数になります。
この等式に 9
と 4
を挿入してみます。
9
= (4
x 2
) + 1
剰余を算出する a
の値がマイナスであっても同じ方法が適用されます。
-9 % 4 // -1
この等式に -9
と 4
を挿入してみます。
-9
= (4
x -2
) + -1
剰余値は -1
になります。
b
のマイナス符号は無視され、a % b
と a % -b
は常に同じ答えになります。
浮動小数点剰余計算
C や Objective-C での剰余演算子とは異なり、Swift の剰余演算子は、浮動小数点数についても演算することができます。
8 % 2.5 // 0.5
この例では、8
割る 2.5
の答えが 3
余り 0.5
となり、剰余演算子は Double
値 0.5
を返しています。

単項マイナス演算子
単項マイナス演算子の -
を前置することで、数値の符号を切り替えて反転させることができます。
let three = 3
let minusThree = -three // minusThree は -3
let plusThree = -minusThree // plusThree は 3
単項マイナス演算子 (-
) は、スペースを空けず、値の先頭に直接置きます。
単項プラス演算子
単項プラス演算子 (+
) は、何も変化せず、値をそのまま返します。
let minusSix = -6
let alsoMinusSix = +minusSix // alsoMinusSix は -6
単項プラス演算子は、実際には何の変化もありませんが、負の数値に付けた単項マイナス演算子とのコード上の対称性を目的に、正の数値にも演算子を付けることができます。
Portions of this page are translations based on work created and shared by Apple and used according to terms described in the Creative Commons Attribution 4.0 International License.