Swift Операторы
Оператор является символом, используемым для компилятора, чтобы выполнить математические или логические операции.
Swift предоставляет следующие операторы:
- Арифметические операторы
- сравнение
- Логические операторы
- Битовые операторы
- Операторы присваивания
- Интервальные Операторы
- Другие операторы
В этой главе мы объясним вам арифметические операторы, операторы сравнения, логические операторы, операторы побитового, оператор присваивания и других операторов.
Арифметические операторы
В следующей таблице перечислены Swift арифметические операторы поддержки языка, 10 из которых переменная переменная B 20:
операторы | описание | примеров |
---|---|---|
+ | плюс | Результаты поиска по запросу A + B 30 |
- | минус | A - результаты B -10 |
* | Умножение знак | А результаты * B для 200 |
/ | Знак деления | B / A 2 результатов |
% | остаток | В результате% А 0 |
++ | инкремент | A ++ 11 результатов |
- | декремент | A-- результат 9 |
примеров
Ниже приведен простой пример арифметических операций:
import Cocoa var A = 10 var B = 20 print("A + B 结果为:\(A + B)") print("A - B 结果为:\(A - B)") print("A * B 结果为:\(A * B)") print("B / A 结果为:\(B / A)") A++ print("A++ 后 A 的值为 \(A)") B-- print("B-- 后 B 的值为 \(B)")
Приведенные выше результаты выполнения программы:
A + B 结果为:30 A - B 结果为:-10 A * B 结果为:200 B / A 结果为:2 A++ 后 A 的值为 11 B-- 后 B 的值为 19
сравнение
В следующей таблице перечислены операторы сравнения Swift языковую поддержку, в которой переменные A 10, B 20 переменных:
операторы | описание | примеров |
---|---|---|
== | равных | (A == B) является ложным. |
! = | Не равно | (A! = B) истинно. |
> | Более | (A> B) неверно. |
< | Менее | (A <B) истинно. |
> = | Больше или равно | (A> = B) является ложным. |
<= | Меньше или равно | (A <= B) является истинным. |
примеров
Ниже приведен простой пример операций сравнения:
import Cocoa var A = 10 var B = 20 print("A == B 结果为:\(A == B)") print("A != B 结果为:\(A != B)") print("A > B 结果为:\(A > B)") print("A < B 结果为:\(A < B)") print("A >= B 结果为:\(A >= B)") print("A <= B 结果为:\(A <= B)")
Приведенные выше результаты выполнения программы:
A == B 结果为:false A != B 结果为:true A > B 结果为:false A < B 结果为:true A >= B 结果为:false A <= B 结果为:true
Логические операторы
В следующей таблице перечислены поддержки Swift язык логических операторов, где переменная А истинно, то переменная B является ложным:
операторы | описание | примеров |
---|---|---|
&& | Логика и. Если оператор TRUE, обе стороны было TRUE. | (A && B) является ложным. |
|| | Или логика. Если оператор с обеих сторон, по крайней мере один из Тру значение TRUE. | (A || B) истинно. |
! | Логическое НЕ. Это инвертирует логическое значение, так верно становится ложным, ложное становится истинным. | ! (A && B) истинно. |
Ниже приведен простой пример логической операции:
import Cocoa var A = true var B = false print("A && B 结果为:\(A && B)") print("A || B 结果为:\(A || B)") print("!A 结果为:\(!A)") print("!B 结果为:\(!B)")
Приведенные выше результаты выполнения программы:
A && B 结果为:false A || B 结果为:true !A 结果为:false !B 结果为:true
Битовые операторы
Битовые операторы битов, используемых для работы, ~, &, |, ^ были сведены на нет, а бит, или битом и, побитовое исключающее ИЛИ операции со следующими примерами таблицы:
р | Q | р & д | р | д | р ^ д |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
Если A = 60 и B = 13, две переменные, соответствующие двоичном виде:
A = 0011 1100 B = 0000 1101
Для битовых операций:
операторы | описание | диаграмма | примеров |
---|---|---|---|
& | Побитовое и. С побитовое И оператор работать два числа, а затем возвращает новый номер, каждый бит этого числа требуется два входных номера только от 1 до 1. | (A & B) результат 12, двоичная 0000 1100 | |
| | Побитовая или. Побитовое ИЛИ оператор | сравнить два числа, а затем возвращает новый номер каждый комплект это число на тех же условиях, как и первый из двух входных чисел отличны от нуля (то есть, любой из 1, или 1). | (A | B) результат равен 61, то двоичный файл 00111101 | |
^ | Побитовое XOR побитовое исключающее ИЛИ оператор ^ сравнить два числа, а затем возвращает число, это число имеет значение каждого бита Условие 1 два входа с различным числом, если равны нулю. | (А ^ В) приводит к 49 двоичных файлов для 00110001 | |
~ | Битовые операторы - для ряда операций каждый бит инвертируется. | (~ A) -61 результат, бинарный 1100 0011 в форме дополнения 2'S. | |
<< | Побитовая налево. Оператор сдвига влево (<<) будет двигаться к левому все числа битов битов, указанных операндом. | На следующем рисунке показано << 1 11111111 (11111111 левый) результаты. Синие цифры перемещаются бит серые отброшенные биты, заполнение вакансий с оранжевым 0. | A << 2 результаты для 240 двоичном составляет 11110000 |
>> | Побитовая право. Все биты вправо и переместить число битов указанного оператора (<<) операнд. | На следующем рисунке показаны >> 1 11111111 (11111111 правый) результаты. Синие цифры перемещаются бит серые отброшенные биты, заполнение вакансий с оранжевым 0. | A >> 2 результатов 15 0000 1111 двоичной системе счисления |
Ниже приведен простой пример битовых операций:
import Cocoa var A = 60 // 二进制为 0011 1100 var B = 13 // 二进制为 0000 1101 print("A&B 结果为:\(A&B)") print("A|B 结果为:\(A|B)") print("A^B 结果为:\(A^B)") print("~A 结果为:\(~A)")
Приведенные выше результаты выполнения программы:
A&B 结果为:12 A|B 结果为:61 A^B 结果为:49 ~A 结果为:-61
Операторы присваивания
В следующей таблице перечислены основного оператора присваивания Swift язык:
операторы | описание | примеров |
---|---|---|
= | Простой оператор присваивания, определяет правый операнд, назначенный левого операнда. | С результатом = А + В А + Б операция назначается C |
+ = | Добавление после присваивания, левая и правая стороны операнда прежде, чем добавить назначен левого операнда. | С + = А соответствует C = C + A |
- = | После присвоения вычитанием, левый и правый операнды по обе стороны левого операнда после вычитания назначен. | C - = A соответствует C = C - A |
* = | Тогда, умножая назначение, левые и правые части операндов умножаются перед тем назначением на левый операнд. | С * = А соответствует C = C * A |
/ = | Разделенные после присваивания, левая и правая стороны разделительного операнда после присваивания левого операнда. | С / = А эквивалентно С = С / А |
% = | Remainder после присваивания, левая и правая части остатка операнда после присваивания левого операнда. | С% = А эквивалентно C = C% A |
<< = | Побитовая оставил после присвоения | C << = 2 соответствует C = C << 2 |
>> = | Побитовая сразу после присвоения | C >> = 2 эквивалентно C = C >> 2 |
& = | Побитовое назначение после операции | С & = 2 эквивалентно С = С & 2 |
^ = | Побитовое исключающее ИЛИ оператора, а затем назначен | C ^ = 2 эквивалентно C = C ^ 2 |
| = | Побитовое ИЛИ назначение после | C | = 2 соответствует C = C | 2 |
Ниже приведен простой пример оператора присваивания:
import Cocoa var A = 10 var B = 20 var C = 100 C = A + B print("C 结果为:\(C)") C += A print("C 结果为:\(C)") C -= A print("C 结果为:\(C)") C *= A print("C 结果为:\(C)") C /= A print("C 结果为:\(C)") //以下测试已注释,可去掉注释测试每个实例 /* C %= A print("C 结果为:\(C)") C <<= A print("C 结果为:\(C)") C >>= A print("C 结果为:\(C)") C &= A print("C 结果为:\(C)") C ^= A print("C 结果为:\(C)") C |= A print("C 结果为:\(C)") */
Приведенные выше результаты выполнения программы:
C 结果为:30 C 结果为:40 C 结果为:30 C 结果为:300 C 结果为:30
Интервальные Операторы
Swift предлагает два оператора диапазона.
операторы | описание | примеров |
---|---|---|
Операторы замкнутый интервал | Закрытый интервал оператор (а ... б) определенный интервал содержит все значения от а до Ь (в том числе и б), Ь должно быть больше или равно а. Закрытый интервал оператор итерации в диапазоне всех значений очень полезен, так как в наличии для цикла: | 1 ... 5 Диапазон 1, 2, 3, 4 и 5 |
Интервал оператор Полуоткрытая | Полуоткрытый интервал (а .. | 1 .. <5 интервал значение 1, 2, 3, и 4 |
Ниже приведен простой пример интервальной арифметики:
import Cocoa print("闭区间运算符:") for index in 1...5 { print("\(index) * 5 = \(index * 5)") } print("半开区间运算符:") for index in 1..<5 { print("\(index) * 5 = \(index * 5)") }
Приведенные выше результаты выполнения программы:
闭区间运算符: 1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25 半开区间运算符: 1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20
Другие операторы
Swift предлагает другие типы операторов, таких как моно-, ди-, и оператор троичного.
- Унарные операторы на манипуляции одной операционной объекта (например ,
-a
). Унарный оператор минут до и после операторы, операторы должны предварительно работающие непосредственно перед объектом (например,!b
), Сзади оператора на операцию сразу после объекта (например , какi++
). - Бинарные операторы работают обе операционные объекты (такие , как
2 + 3
), то в доме, так как они появляются между двумя операндами. - Три тернарный оператор работает цель операции, и C языки, Swift является лишь тернарный оператор, является тернарный оператор (
a ? b : c
).
операторы | описание | примеров |
---|---|---|
Унарный минус | Добавить цифровой фронт - префикс | -3 Или -4 |
Унарный плюс | Digital Money Добавить + код | +6 Результат 6 |
троичный оператор | ? Условие X: Y | Если вы добавляете верно, то значение X, иначе Y |
Ниже приведен один доллар, простой пример двойных и тройных операций:
import Cocoa var A = 1 var B = 2 var C = true var D = false print("-A 的值为:\(-A)") print("A + B 的值为:\(A + B)") print("三元运算:\(C ? A : B )") print("三元运算:\(D ? A : B )")
Приведенные выше результаты выполнения программы:
-A 的值为:-1 A + B 的值为:3 三元运算:1 三元运算:2
Оператор Внеочередные
В выражении может содержать множество различных операторов, связывающих с различными типами данных объектов данных, так как выражение имеет разнообразные операции, различный порядок операций может иметь разные результаты даже ошибочными ошибки в работе, так как, когда когда выражение, содержащее различные операции, в соответствии с определенном порядке должны быть объединены, чтобы обеспечить рациональность и правильность результатов, уникальность работы.
Приоритет в порядке убывания сверху вниз, верхний имеет самый высокий приоритет, оператор запятая имеет самый низкий приоритет.
Тот же уровень приоритета, в соответствии с порядком связывания расчета. Большинство операций, вычисляются слева направо, только три приоритеты справа налево комбинации, они являются унарные операторы, операторы, условные операторы присваивания.
Основные приоритеты должны помнить:
- Оптимальный указатель, унарный, чем бинарные операторы. В качестве знака.
- Первое умножение и деление (модуль) после вычитания.
- Первая арифметическая операция сдвига после последнего разрядных вычислений. Пожалуйста, обратите особое внимание на следующее: << 1 2 & 3 + 7 эквивалентна (1 << (3 + 2)) и 7
- Окончательная расчетная операция логика
Тип оператора | операторы | Связывание направления |
---|---|---|
оценка Expression | () []. Expr ++ expr-- | Слева направо |
Унарный оператор | * & + -! ~ ++ Expr --expr * /% + - >> << <> <=> = ==! = | Справа налево |
Битовые операторы | & ^ | && || | Слева направо |
троичный оператор | ?: | Справа налево |
Операторы присваивания | = + = - = * = / =% = >> = << = & = ^ = | = | Справа налево |
запятая | , | Слева направо |
Ниже приведен простой пример оператора старшинства:
import Cocoa var A = 0 A = 2 + 3 * 4 % 5 print("A 的值为:\(A)")
Приведенные выше результаты выполнения программы:
A 的值为:4
Примеры анализа:
По словам оператора старшинства, вы можете запрограммировать работу вышеупомянутых шагов решает следующее выражение эквивалентно:
2 + ((3 * 4) % 5)
Первый шаг при расчете: (3 * 4) = 12, так что выражение эквивалентно:
2 + (12 % 5)
Второй шаг, чтобы вычислить 12% 5 = 2, поэтому данное выражение эквивалентно:
2 + 2
На данный момент можно легко увидеть, что расчетные результаты четырех.