Swiftの基礎的な文法を備忘録としてまとめてみました。
1. 標準入力からの値取得方法
2. varとletの違い
3. 文字列分割
4. 型変換と加減剰余
5. コレクション
6. 繰り返し処理
7. 改行なしで出力
8. 小数点の扱い方
9. 条件分岐と論理演算
1. 標準入力からの値取得方法
let inputLine = readLine()!
let inputDouble = Double(readLine()!)!
let inputInt = Int(readLine()!)!
2. varとletの違い
let constant = "定数"
// constant = "値を書き換えられない"
var variable = "変数"
variable = "値を書き換えられる"
3. 文字列分割
import Foundation
let strNums = "5 2.5"
//スペースで区切る
let arr:[String] = strNums.components(separatedBy: " ")
print(arr[0]) // 5
print(arr[1]) // 2.5
//文字列連結となる
print(arr[0] + arr[1]) // 52.5
4. 型変換と加減剰余
let strNum1 = "5"
let strNum2 = "2.5"
// String → Double
let doubleNum1:Double = Double(strNum1)!
let doubleNum2:Double = Double(strNum2)!
print(doubleNum1) // 5.0
print(doubleNum2) // 2.5
print(doubleNum1 + doubleNum2) // 7.5
let strNum3 = "30"
// String → Int
let num3 = Int(strNum3)!
print(num3 + 5) //35
print(num3 - 5) //25
print(num3 * 5) //150
print(num3 / 5) //6
print(num3 % 5) //0
// Int → String
print(String(num3) + strNum2) //302.5(文字列連結)
5. コレクション
//配列
var arr: [Double] = [2.1, 4.2, 6.3, 8.4, 10.5]
print(arr[3]) //8.4
print(arr.count) //5(配列の要素数)
//集合
var num: Set<Int> = [1, 2, 3]
print(num.first!) // 1 or 2 or 3
//辞書
let dict: [Int: String] = [1:"りんご",2:"みかん", 3:"バナナ"]
for (key , value) in dict {
print("\(key): \(value)")
}
// 順不同
// 3: バナナ
// 1: りんご
// 2: みかん
6. 繰り返し処理
// 開始位置と終了位置指定
var total = 0
for i in 1...10 {
total += i
}
print(total) //55
// 配列指定
var arr: [Double] = [3.1, 1.3, 5.7]
var total:Double = 0
for num in arr {
total += num
}
print(total) //10.100000000000001
7. 改行なしで出力
var arr: [Double] = [3.1, 1.3, 5.7]
for num in arr {
print(num, terminator: ",") //3.1,1.3,5.7,
}
print()
for num in arr {
print(num, terminator: "") //3.11.35.7
}
8. 小数点の扱い方
var num:Double = 10.100000000000001
//切り捨て
print(floor(num)) // 10.0
//切り上げ
print(ceil(num)) // 11.0
//四捨五入
print(round(num)) // 10.0
// 小数点の位置をずらしたい場合
num = num * 10
//切り捨て
print(floor(num) / 10) // 10.1
//切り上げ
print(ceil(num) / 10) // 10.2
//四捨五入
print(round(num) / 10) // 10.1
9. 条件分岐と論理演算
let boo = true && false //false(論理積)
if (boo == false) {
print("偽です")
} else {
print("真です")
}
// 偽です