はじめに
前回までは、Swiftを使ってプログラムを試すための準備について説明しました。連載第2回は、Swiftでの演算子の使い方と簡単になった文法について説明します。
対象読者をObjective-Cが分かる方としている関係上、Objective-C自体の言語仕様やXcodeの使い方については解説を割愛する場合があることをご了承ください。同様にSwift自体の説明も必ずしも十分でない場合があります。そのような場合は末尾の参考文献等を参照してください。
対象読者
本記事は、次の方を対象にしています。
- Objective-Cの基本的なプログラムが出来る方
- Xcodeを使える方
演算子
演算子についてはC言語の仕様通りにObjective-Cと同じ演算子が利用できます。Swiftでは範囲を扱う演算子、文字列を扱う演算子が追加されました。
基本的な演算子
よく利用される基本的な演算子を以下に示します。
演算子 | 利用例 | 概要 |
---|---|---|
+ | a+b | aにbを足す |
- | a-b | aからbを引く |
* | a*b | aにbをかける |
/ | a/b | aをbで割る |
% | a%b | aをbで割った余り |
演算子 | 利用例 | 概要 |
---|---|---|
== | a==b | aとbが等しければ真 |
!= | a!=b | aとbが等しくなければ真 |
<> | a<>b | aとbが等しくなければ真 |
> | a>b | aがbより大きければ真 |
< | a<b | aがbより小さければ真 |
>= | a>=b | aがb以上であれば真 |
<= | a<=b | aがb以下であれば真 |
演算子 | 利用例 | 概要 |
---|---|---|
! | !a | aが真であれば偽、aが偽であれば真 |
&& | a && b | aが真、かつbが真の場合に真 |
|| | a || b | aが真、またはbが真の場合に真 |
演算子 | 利用例 | 概要 |
---|---|---|
... | a...b | aからbまで bを含む |
..< | a..<b | aからbまで bを含まない |
範囲演算子の利用は次の通りです。「..<」演算子は、最後の数を含めないため、配列のループカウントに利用すると便利です。
var i:Int=0 // ...最後の数字まで処理を行う for i in 0...3 { println(i) } // 結果:「0」「1」「2」「3」を出力 var langs:Array<String> = ["Java", "PHP", "Perl", "Ruby"] // 最後の数字は含めずに処理を行う for i in 0..<langs.count { println(langs[i]) } // 結果:「Java」「PHP」「Perl」「Ruby」を出力
Swiftで追加された演算子の利用例
Swiftでは、以下のような演算子も追加されました。
(1)文字列の結合
Swiftでは文字列の結合に演算子を利用できます。Objective-Cと違って、Stringクラスの文字列結合メソッドを呼び出す等の処理は必要ありません。
// 文字列の結合 var str = "iPhone" + "6" println(str) // 結果:「iPhone6」を出力
(2)文字列の比較
文字列の比較に「==」を利用できるようになりました。比較する対象は文字列同士で、文字列と数値等の型が違う変数は比較できませんので注意してください。
var a:String = "東京" var b:String = "大阪" // 文字列を比較 if a==b { println("aとbは同じです") }else{ println("aとbは違います") } // 結果:「aとbは違います」を出力