Latest web development tutorials

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

На данный момент можно легко увидеть, что расчетные результаты четырех.