Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
инфа теория передел.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
447.59 Кб
Скачать

Унарные операции Можно определять в классе следующие унарные операции:

+     -     !     ~     ++     --     true     false

Синтаксис объявителя унарной операции:

тип operator унарная_операция ( параметр )

Примеры заголовков унарных операций:

public static int operator +( MyObject m )

public static MyObject operator --( MyObject m )

Бинарные операции

Можно определять в классе следующие бинарные операции:

+   -   *   /   %   &   |   ^   <<   >>   ==   !=   >   <   >=   <=

Синтаксис объявителя бинарной операции:

тип operator бинарная_операция (параметр1, параметр2)

Примеры заголовков бинарных операций:

public static MyObject operator +  ( MyObject m1, MyObject m2 )

public static bool     operator == ( MyObject m1, MyObject m2 )

Тернарная операция, т.е. операция с тремя операндами, имеет форму

операнд1 ? операнд2 : операнд3

Пример:

max= a<=b? b:a;

Здесь переменной max присваивается максимальное значение из переменных а и b .

Приоритеты операций:

Первичные операторы

(xx.y f(x)a[xx++ x—new typeof sizeof checked unchecked

Унарные операторы

+ - ! ~ ++x --x (тип)x

Мультипликативные операторы

* / %

Аддитивные операторы

+ -

Операторы сдвига

<< >>

Операторы отношения

< > <= >= is as

Операторы равенства

== !=

Логическое И

&

Логическое исключающее ИЛИ

^

Логическое ИЛИ

|

Условное И

&&

Условное ИЛИ

||

Условный оператор

?:

Операторы присваивания

= *= /= %= += -= <<= >>= &= ^= |=

5.Выражения (порядок их вычисления, тип результата, оператор присваивания).

Выражение-это правило вычисления значения. В выражении участвуют операнды, объединенные знаками операций. Операндами простейшего выражения могут быть константы, переменные и вызовы функций.

Например:а+2-это выражение, в котором + является знаком операции , а а и 2-операндами.

Порядок вычисления выражений:

Первичные операторы

(xx.y f(x) a[xx++ x-- new typeof sizeof checked unchecked

Унарные операторы

+ - ! ~ ++x --x (тип)x

Мультипликативные операторы

* / %

Аддитивные операторы

+ -

Операторы сдвига

<< >>

Операторы отношения

< > <= >= is as

Операторы равенства

== !=

Логическое И

&

Логическое исключающее ИЛИ

^

Логическое ИЛИ

|

Условное И

&&

Условное ИЛИ

||

Условный оператор

?:

Операторы присваивания

= *= /= %= += -= <<= >>= &= ^= |=

Тип результата выражений

Для переменных или выражений типа bool результат выполнения логических операторов также имеет тип bool. Результатом логического оператора И является true, когда оба операнда — true. Результатом логического исключающего ИЛИ является true, когда один операнд — true, а другой — false. Результат логического ИЛИ — true, когда хотя бы один из операндов — true.

Оператор присваивания

Оператор присваивания обозначается одиночным знаком равенства (=).

Ниже приведена его общая форма:

    имя_переменной = выражение

Здесь имя_переменной должно быть совместимо с типом выражения. У оператора присваивания имеется одна интересная особенность: он позволяет создавать цепочку операций присваивания. Рассмотрим следующий фрагмент кода:

Int x,y,z

x=y=z=10