Swift Academy · レッスン

比較演算子と同一性演算子

==、!=、 で値を比較し、===で同一性を判定します。

レッスン 2/413 ステップ

「比較演算子と同一性演算子」はCoddyKit上の無料Swift Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSwift Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Swift Academyコースには全4レッスンが含まれています。

比較演算子

比較演算子は、はい・いいえで答えられる質問を行い、Boolを返します。Swiftには==、!=、<、>、<=、>=があります。

print(3 == 3)
print(5 != 2)
print(4 < 10)

等価と不等価

==は2つの値が等しいかどうかを判定し、!=は異なるかどうかを判定します。これらは数値、文字列、その他多くの型で使用できます。

let a = "swift"
let b = "Swift"
print(a == b)
print(a != b)

小なりと大なり

<と>は順序を比較します。これらは、並べ替えや範囲チェックの基礎となります。

let temperature = 22
print(temperature > 18)
print(temperature < 0)

以下と以上

<=と>=は境界値を含みます。しきい値そのものも条件を満たす必要がある場合に便利です。

let score = 60
print("Pass:", score >= 60)
print("Perfect or less:", score <= 100)

条件で比較を使う

比較の結果はif文やループを動かし、プログラムが判断できるようにします。

let age = 17
if age >= 18 {
    print("Adult")
} else {
    print("Minor")
}

文字列の比較

文字列はUnicodeを使って辞書順に比較されます。==は完全に等しいかどうかを判定します。

print("apple" < "banana")
print("Zoo" < "apple")
print("cat" == "cat")

論理演算子で比較を連結する

比較を論理演算子と組み合わせると、値が範囲内にあるかどうかを調べるなど、範囲を表現できます。

let value = 7
let inRange = value >= 1 && value <= 10
print("In range 1...10:", inRange)

値型は内容で比較される

IntやStringのような値型では、==は実際の内容を比較します。構造的に等しい2つの値は等しいと判定されます。

let point1 = (x: 1, y: 2)
let point2 = (x: 1, y: 2)
print(point1 == point2)

トリプルイコールによる参照の同一性

クラスは参照型です。同一性演算子===は、2つの参照が内容と一致するかではなく、メモリ上のまったく同じオブジェクトを指しているかどうかを判定します。

class Box { var n: Int; init(_ n: Int) { self.n = n } }
let x = Box(5)
let y = x
print(x === y)

トリプルノットイコールによる非同一性

!==は===の反対です。同じデータを持つ別々のオブジェクトは、同一ではありません。

class Box { var n: Int; init(_ n: Int) { self.n = n } }
let a = Box(5)
let b = Box(5)
print(a === b)
print(a !== b)

同一性と等価性の違い

===は、同じインスタンスかどうかを調べる場合に、クラスに対してのみ使います。値の等価性には==を使います。これらは異なる問いに答える演算子です。

class Box { var n: Int; init(_ n: Int) { self.n = n } }
let first = Box(1)
let alias = first
let other = Box(1)
print("same object:", first === alias)
print("different object:", first === other)

理解度チェック

クラスのインスタンスについて、同一性と等価性の違いを考えてみてください。

まとめ:比較と同一性

順序と等価性の判定に使う== != < > <= >=、値型は内容で比較されること、そしてクラスでは===/!==を使って2つの参照が同じインスタンスかどうかを判定できることを学びました。

class Node { var v: Int; init(_ v: Int) { self.v = v } }
let n1 = Node(3)
let n2 = n1
print("equal value check:", n1.v == n2.v)
print("same instance:", n1 === n2)
無料で開始

AI チューターと学ぶ Swift — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
122
レッスン
409

よくある質問

「比較演算子と同一性演算子」レッスンは無料ですか?

はい。「比較演算子と同一性演算子」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Swift Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Swift Academyコースには全4レッスンが含まれています。

「比較演算子と同一性演算子」で何を学びますか?

==、!=、 で値を比較し、===で同一性を判定します。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Swift Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSwift Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「比較演算子と同一性演算子」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSwift Academyレッスンでコードを書いて実行できますか?

はい。すべてのSwift Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 算術演算子と複合代入演算子
  2. 比較演算子と同一性演算子
  3. 論理演算子と短絡評価
  4. ビット演算子とオーバーフロー演算子
← Swift Academyに戻る