【Swift】複合代入演算子

複合代入演算子とは、前の記事で紹介した算術演算子と代入を組み合わせた演算子のことを言います。
複合代入演算子を使うとコードを簡潔にできたり、読みやすくなります。
インクリメントやデクリメントなんかにも使われてるのをよく見かけます。
まず複合代入演算子の前に算術演算子について理解しておきましょう。

前回は for文と範囲演算子 について書きました。

今回は 複合代入演算子 について書いていこうと思います。

複合代入演算子とは

複合代入演算子とは、前の記事で紹介した算術演算子と代入を組み合わせた演算子のことを言います。
複合代入演算子を使うとコードを簡潔にできたり、読みやすくなります。
インクリメントやデクリメントなんかにも使われてるのをよく見かけます。
まず複合代入演算子の前に算術演算子について理解しておきましょう。

算術演算子 についてはこちらで紹介しています。

では複合代入演算子の種類を見ていきましょう。

複合代入演算子の種類

演算子意味
+=足し算(加算)と代入
-=引き算(減算)と代入
*=掛け算(乗算)と代入
/=割り算(除算)と代入
%=割り算の余り(剰余)と代入

演算例

複合代入演算子を使った演算例と、使わなかった場合の例

+= (加算と代入)

// +=
var a = 1
a += 1
print(a) //2

//複合代入演算子を使わなかった場合
a = a + 1

-= (減算と代入)

// -=
var b = 2
b -= 1
print(b) //1

//複合代入演算子を使わなかった場合
b = b - 1

*= (乗算と代入)

// *=
var c = 2
c *= 2
print(c) //4

//複合代入演算子を使わなかった場合
c = c * 2

/= (除算と代入)

// /=
var d = 4
d /= 2
print(d) //2

//複合代入演算子を使わなかった場合
d = d / 2

%= (剰余と代入)

// %=
var e = 5
e %= 2
print(e) //1

//複合代入演算子を使わなかった場合
e = e % 2
+=コードimg

ちょっとですが簡潔になり可読性も良くなったと思います。
以上 複合代入演算子 でした。

次回は ネスト について書いていこうと思います。

実行環境

version
Xcode 14.2 (14C18)
Swift 5.2.4

公式ドキュメント

https://docs.swift.org/swift-book/documentation/the-swift-programming-language/

【Swift】数値型の演算

数値型は大きく分類すると整数型、浮動小数点型に分けられます。
複数のデータを算術演算子を使って演算して、別のデータを生成できます。
演算子のことをオペレータ、演算するデータのことをオペランドとも言いますね。まずは算術演算子の種類を見ていきましょう。

前回は データ型 について記事を書きました。

今回は 数値型の演算 について書いていこうと思います。

数値型の演算とは

数値型は大きく分類すると整数型、浮動小数点型に分けられます。
複数のデータを算術演算子を使って演算して、別のデータを生成できます。
演算子のことをオペレータ、演算するデータのことをオペランドとも言いますね。まずは算術演算子の種類を見ていきましょう。

算術演算子の種類

演算子意味記号
+足し算(加算)プラス
引き算(減算)マイナス
*掛け算(乗算)アスタリスク
/割り算(除算)スラッシュ
%割り算の余り(剰余)パーセント

上記の記号を使って演算していきます。

演算例

+ (加算)

let one = 1 //Int
let two = 2
let three = 3
let four = 4
let five = 5
let six = 6
 
var answer = one + two //演算した結果をanswerに代入

print(answer) //3
print(type(of: answer)) //Int

Int型 の定数を宣言して、演算した結果を 変数 answer に代入しています。ただ 12 を足し算してるだけなので answer には 3 が代入されます。
定数 onetwo は型を定義していないので型推論によって Int型 となり、 Int型 同士の演算なので answer も型推論によって Int型 となります。

※ 演算する時は同一の型同士でなければ演算できないので注意。

(減算)

let one = 1 //Int
let two = 2
let three = 3
let four = 4
let five = 5
let six = 6

var answer2 = four - three

print(answer2) //1
print(type(of: answer2)) //Int

* (乗算)

let one = 1 //Int
let two = 2
let three = 3
let four = 4
let five = 5
let six = 6

var answer3 = five * six

print(answer3) //30
print(type(of: answer3)) //Int

/ (除算)

let one = 1 //Int
let two = 2
let three = 3
let four = 4
let five = 5
let six = 6

var answer4 = six / three

print(answer4) //2
print(type(of: answer4)) //Int

//Int型の演算する際、割り切れない割り算は少数が切り捨てられる
var answer5 = five / two

print(answer5) //2
print(type(of: answer5)) //Int

//小数点以下も扱う場合はFloat型かDouble型で宣言しましょう
let floatFive:Float = 5
let floatTwo:Float = 2

var answer6 = floatFive / floatTwo

print(answer6) //2.5
print(type(of: answer6)) //Float

% (剰余)

let one = 1 //Int
let two = 2
let three = 3
let four = 4
let five = 5
let six = 6

var answer7 = three % two
print(answer7) //1
print(type(of: answer7)) //Int
//3を2で割ると1余るので剰余は1になります
//剰余はInt型以外で演算しようとするとエラーになります

※ 除算 / をする時は型と、小数点以下も扱うのかどうかなど注意が必要です。
※ 剰余 %Int型 以外で演算しようとするとエラーになります。
以上 数値型の演算 についてでした。

次回は 文字列型と文字列の型変換 について書いていこうと思います。

実行環境

version
Xcode 14.2 (14C18)
Swift 5.2.4

公式ドキュメント

https://docs.swift.org/swift-book/documentation/the-swift-programming-language/