Swift 기본 연산자(둘)

5299 단어 iosswift사과.
기본 연산자

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!" 

좋은 웹페이지 즐겨찾기