Swift 기본 연산자(둘)
1. Terminology 용어
연산자는 한 개, 두 개와 세 개 연산자, 한 개 연산자는 한 대상을 조작한다. 예를 들어 a는 전치부와 후치부를 구분한다. 예를 들어!b, i++ 쌍안 연산자는 두 대상 간의 조작에 사용된다. 예를 들어 2+3 삼안 연산자 조작과 세 대상 사이에 Swift는 단지 하나의 삼안 연산자 a?b:c
2. Assignment Operator 대입 연산자
let b = 10
var a = 5
a = b
// a is now equal to 10
// ,
let (x, y) = (1, 2)
// x is equal to 1, and y is equal to 2
// Swift ,if x=y , == = , Swift
if x = y {
// this is not valid, because x = y does not return a value
}
3. Arithmetic Operators 수치 연산
Swift는 수치 연산에서 넘침을 허용하지 않지만, 넘침 연산자를 사용할 수 있습니다. 예를 들어 (a & + b)
1 + 2 // equals 3 5 - 3 // equals 2 2 * 3 // equals 6 10.0 / 2.5 // equals 4.0 // 덧셈은 문자열의 결합에도 사용되며, 두 개의Character 또는 한 개의String,한 개의Character의 결합에도 사용된다. "hello, " + "world" // equals "hello, world"
4. Remainder Operator Request
구여운산은 다른 언어에도 있지만 사실은 같다. 원문은 매우 상세하게 말한다. 음수 b에 대한 구여는 b의 기호가 무시된다. 즉, a%b와 a%-b의 결과는 같다.
9 % 4 // equals 1
-9 % 4 // equals -1
5.Floating-Point Remainder Calculations 부동 소수점
Swfit는 부동점수에 대해 나머지 계산을 할 수 있는데, 이것은 다른 언어와 다른 특징이다
8 % 2.5 // equals 0.5
6.Increment and Decrement Operators 자동 증가 및 자동 증가 연산
자체에 1을 더하거나 빼는++, - 조작은 정형일 수도 있고 부동점형일 수도 있다
4
var i = 0
++i // i now equals 1
++가 앞에 있을 때 먼저 증가한 다음에 되돌아온다++ 뒤에 놓을 때, 먼저 되돌아와서 자증합니다
var a = 0
let b = ++a
// a and b are now both equal to 1
let c = a++
// a is now equal to 2, but c has been set to the pre-increment value of 1
7. Unary Minus Operator/Unary Plus Operator 음수 및 양수
let three = 3
let minusThree = -three // minusThree equals -3
let plusThree = -minusThree // plusThree equals 3, or "minus minus three"
let minusSix = -6
let alsoMinusSix = +minusSix // alsoMinusSix equals -6
8.Compound Assignment Operators 컴포지트 지정
가부 연산(+=), 복합 가부 값이 되돌아오지 않음,let b=a+=2 쓰기 오류가 있음
var a = 1
a += 2 // a is now equal to 3
9. Comparison Operators 비교
1 == 1 // true, because 1 is equal to 1
2 != 1 // true, because 2 is not equal to 1
2 > 1 // true, because 2 is greater than 1
1 < 2 // true, because 1 is less than 2
1 >= 1 // true, because 1 is greater than or equal to 1
2 <= 1 // false, because 2 is not less than or equal to 1
let name = "world"
if name == "world" {
println("hello, world")
} else {
println("I'm sorry \(name), but I don't recognize you")
}
// prints "hello, world", because name is indeed equal to "world"
10.Ternary Conditional Operator 3원 조건 연산
삼원 조건 연산은 세 개의 조작수 연산자,question?answer1: answer2, 만약 question이 성립되면 answer1로 돌아가고, 그렇지 않으면 answer2로 돌아갑니다
let contentHeight = 40
let hasHeader = true
let rowHeight = contentHeight + (hasHeader ? 50 : 20)
// rowHeight is equal to 90
11. Range Operators 구간 연산
닫힌 구간 (a... b) 은 a에서 b (a와 b 포함) 구간까지의 모든 값을 정의합니다.
for index in 1...5 {
println("\(index) times 5 is \(index * 5)")
}
// 1 times 5 is 5
// 2 times 5 is 10
// 3 times 5 is 15
// 4 times 5 is 20
// 5 times 5 is 25
반폐구간(a..b), a에서 b까지의 모든 값을 정의하지만 b의 모든 값을 포함하지 않습니다. 실용성은 0에서 시작하는 그룹을 사용하면 그룹의 값을 얻는 것입니다.
let names = ["Anna", "Alex", "Brian", "Jack"]
let count = names.count
for i in 0..count {
println("Person \(i + 1) is called \(names[i])")
}
// Person 1 is called Anna
// Person 2 is called Alex
// Person 3 is called Brian
// Person 4 is called Jack
12. Logical Operators 논리 연산
논리 비(!),부울 값 반전, 선행 조작부호
let allowedEntry = false
if !allowedEntry {
println("ACCESS DENIED")
}
// prints "ACCESS DENIED"
논리와 (a&&b), a와 b의 값만true이고 표현식의 값만true
let enteredDoorCode = true
let passedRetinaScan = false
if enteredDoorCode && passedRetinaScan {
println("Welcome!")
} else {
println("ACCESS DENIED")
}
// prints "ACCESS DENIED"
논리 또는 (a|||b), a와 b의 값 중 하나는true이고 표현식은true이다
let hasDoorKey = false
let knowsOverridePassword = true
if hasDoorKey || knowsOverridePassword {
println("Welcome!")
} else {
println("ACCESS DENIED")
}
// prints "Welcome!"
콤비네이션
if enteredDoorCode && passedRetinaScan || hasDoorKey || knowsOverridePassword {
println("Welcome!")
} else {
println("ACCESS DENIED")
}
// prints "Welcome!"
괄호를 사용하여 연산 우선 순위를 명확히 하다
if (enteredDoorCode && passedRetinaScan) || hasDoorKey || knowsOverridePassword {
println("Welcome!")
} else {
println("ACCESS DENIED")
}
// prints "Welcome!"
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swift의 패스트 패스Objective-C를 대체하기 위해 만들어졌지만 Xcode는 Objective-C 런타임 라이브러리를 사용하기 때문에 Swift와 함께 C, C++ 및 Objective-C를 컴파일할 수 있습니다. Xcode는 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.