SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Objective-CユーザーのためのSwift入門

Swiftの追加された演算子と簡単になった文法

Objective-CユーザーのためのSwift入門 第2回


  • このエントリーをはてなブックマークに追加

 本連載では、Objective-Cの基本的なプログラムが出来る読者を対象に、Swiftを使ってアプリを開発する際の基本的な事柄を解説します。Objective-CもSwiftもC言語を母体としたプログラム言語なので両者に共通する概念は非常に多いです。Objective-CとSwiftとの最低限度の違いを踏まえつつ、Swiftでのアプリ開発にシフトして行けるような内容をサンプルを交えながら解説します。今回は、Swiftでの演算子の使い方と文法について説明します。

  • このエントリーをはてなブックマークに追加

はじめに

 前回までは、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を含まない

 範囲演算子の利用は次の通りです。「..<」演算子は、最後の数を含めないため、配列のループカウントに利用すると便利です。

リスト1 範囲演算子の利用例(ViewController.swift抜粋)
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クラスの文字列結合メソッドを呼び出す等の処理は必要ありません。

リスト2 文字列の結合(ViewController.swift抜粋)
// 文字列の結合
var str = "iPhone" + "6"
println(str)
//  結果:「iPhone6」を出力

(2)文字列の比較

 文字列の比較に「==」を利用できるようになりました。比較する対象は文字列同士で、文字列と数値等の型が違う変数は比較できませんので注意してください。

リスト3 文字列の比較(ViewController.swift抜粋)
var a:String = "東京"
var b:String = "大阪"
// 文字列を比較
if a==b {
  println("aとbは同じです")
}else{
  println("aとbは違います")
}
//  結果:「aとbは違います」を出力

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
簡単になった文法

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Objective-CユーザーのためのSwift入門連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 片渕 彼富(カタフチ カノトミ)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8288 2014/12/19 18:53

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング