LoginSignup
0
0

More than 1 year has passed since last update.

【Swift】基本文法メモ

Last updated at Posted at 2023-02-04

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("真です")
}
// 偽です

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0