Swift 入門 [No.1] ~初心者が始める~

基本文法
---
#1. 変数(variable)
###(1)変数とは
・任意のデータをコンピュータのメモリ内に一時的に格納する機能
・変数に初期値を代入することが推奨される。⇒ 安全だから
###(2)使い方(型指定なし)
<書式>

```swift
var 変数名 = 初期値
```

<凡例>

```swift
var x = 3
```

###(3)使い方(型指定する)
<書式>

```swift
var 変数名:型 = 初期値
```

<凡例>

```swift
car num:Int = 3
```


#2. 定数(constant)
###(1)定数とは
勝手に値が変えられない。最初に入れた値を変更できない

###(2)使い方
<書式>

```swift
let 定数名 = 初期値
```

<凡例>

```swift
let tax  = 1.08
```

#3. for
<書式>

```swift
for 定数名 in 範囲 {
   処理
}
```
<凡例>

```swift
for n in 1...9 {
   println(3 * n)
}

```
<範囲の指定方法>
**整数...整数**
整数の間を3つのピリオドでつなぐ
※注意
定数部は宣言も、初期値の設定もしてはいけない

#4. if
##(1)if
<書式>

```scala
if 条件式 {
   処理
}
```

<凡例>

```scala
var day = 24
if day < 25 {
   println("給料日前です。")
}
```
- 条件式になりえるのは、判定結果がブール値になる式のみです。
- 結果がブールになるとは、二項式で表される式
- 二項式では、左辺と右辺の値を比較演算子で比較する。

##(2)if-else
<書式>

```scala
if 条件式 {
   処理
} else {
   処理
}

```

<凡例>

```scala
var day = 24
if day < 25 {
   println("給料日前です。")
} else {
   println("給料日後です。")
}
```

##(3)if-elseif
<書式>

```scala
if 条件式A {
   処理A
} else if 条件式B {
   処理B
}
```

<凡例>

```scala
var day = 24
if day < 25 {
   println("給料日前です。")
} else if day = 25 {
   println("給料日です。")
}
```

#5. switch
<書式>

```swift
switch 式 {
   case 定数A:
      処理A
   case 定数B:
      処理B
   case 定数C:
      処理C
   default:
      処理X
}
```

<凡例>

```swift
var num = 1
switch num {
   case 0:
      println("0です")
   case 1:
      println("1です")
   case 2:
      println("2です")
   default:
      println("不明です")
}
```


#6. while
<書式>

```swift
while 条件式 {
   処理
｝
```

<凡例>

```swift
var i = 0
while i < 5 {
   println(i)
   i = i +5
}
```


#7. 配列
<書式>

```
var 配列名 = [値1, 値2, 値3, ...]
```
<凡例>

```
var animals = ["ゾウ","ライオン","キリン"]<要素の取出し>
```
配列名[添え字]

```
animals[0] ⇒ ゾウ
```
<要素の変更>

```
animals[0] = "カバ"
```
<要素の追加>

```
animals.append("クマ")
```
<要素の削除>

```
animals.removeAtIndex(0)
```

##配列を使用した繰り返し処理
<書式>

```swift
for 定数名 in 配列 {
   処理
}
```

<凡例>

```swift
for animal in animals {
   println(animal)
}

```

#8. 辞書
<書式>

```
var 辞書名 = [キー名1:値1,キー名2:値2,キー名3:値3,...]
```
<凡例>

```
var numberOfTires = ["車":4,"バイク":2,"船":0]
```
<要素の取出し>

```
辞書名[キー名]
numberOfTires["車"]
```
<要素の変更>

```
numberOfTires["車"] = 6
```
<要素の追加>

```
numberOfTires["飛行機"] = 3
```
<要素の削除>

```
numberOfTires["車"] = nil
```


#9. 関数
##(1)使い方
###[宣言]
<書式>

```swift
func 関数名() {
 処理
}
```
<凡例>

```swift
func sayHello() {
 println("Hello!")
}
```
###[呼び出し]
<書式>

```swift
関数名()
```
<凡例>

```swift
sayHello()
```

##(2)引数を使用した関数
<書式>

```swift
func 関数名(引数名:型) {
 処理
}
```
<凡例>

```swift
func kuku(dan:Int) {
   for x in 1...9 {
      println(dan * x)
}

```

##(3)外部引数名
###概要
引数が2つ以上あり、引数が同じ型である場合、どれがどれだかわかりにくいという
問題があります。この問題を解決する方法として、引数に引数名を付けることができる

<書式>

```swift
func 関数名(外部引数名 内部引数名:型, ...) {
   処理
}
```
<凡例1>

```swift
func areaOfTriangle(withBase base:Int, andHeight height:Int) {
   println(base * height / 2) 
}
areaOfTriangle(withBase:3, andHeight:4)
```
<凡例2>

```swift
func areaOfTriangle(#base:Int, #height:Int) {
   println(base * height / 2) 
}
areaOfTriangle(base:3, height:4)
```

##(4)戻り値(return value)
<書式>

```swift
func 関数名() -> 戻り値の型 {
   処理
   return 戻り値
}
```
<凡例>

```swift
func areaOfTriangle(withBase base:Int, andHeight height:Int) -> Int {
   let result = base * height / 2 
   return result
}
var area = areaOfTriangle(withBase:3, andHeight:4)
println(area)

```


#9. クラス
###概要
テンプレート(金型)
(1)基本機能をデザインしてテンプレート化しておき、それを部分的にカスタマイズして使いまわしたほうが効率がよい。
(2)クラスを使用して生成する実際の部品のことを「インスタンス」(実体)という。

###使い方
<書式>

```swift
var 変数名 = クラス名()
```
<凡例>

```swift
var slider = UISlider()
```