У овом чланку ћемо научити све о различитим врстама оператора у програмском језику Ц # и како их користити.
Оператори су симболи који се користе за извођење операција над операндима. Операнди могу бити променљиве и / или константе.
На пример , ин 2+3
, +
је оператор који се користи за извршавање операције сабирања, а 2
анд 3
су операнди.
Оператори се користе за манипулацију променљивим и вредностима у програму. Ц # подржава бројне операторе који су класификовани на основу врсте операција које изводе.
1. Основни оператор доделе
Основни оператор додељивања (=) користи се за додељивање вредности променљивим. На пример,
доубле к; к = 50,05;
Овде је к додељено 50,05.
Пример 1: Основни оператор доделе
using System; namespace Operator ( class AssignmentOperator ( public static void Main(string() args) ( int firstNumber, secondNumber; // Assigning a constant to variable firstNumber = 10; Console.WriteLine("First Number = (0)", firstNumber); // Assigning a variable to another variable secondNumber = firstNumber; Console.WriteLine("Second Number = (0)", secondNumber); ) ) )
Када покренемо програм, излаз ће бити:
Први број = 10 Други број = 10
Ово је једноставан пример који показује употребу оператора доделе.
Можда сте приметили употребу коврџавих заграда ( )
у примеру. О њима ћемо разговарати у обликовању низова. За сада само имајте на уму да (0)
је замењена првом променљивом која следи низ, (1)
замењена је другом променљивом и тако даље.
2. Аритметички оператори
Аритметички оператори се користе за извођење аритметичких операција као што су сабирање, одузимање, множење, дељење итд.
На пример,
инт к = 5; инт и = 10; инт з = к + и; // з = 15Ц # Аритметички оператори
Оператор | Име оператора | Пример |
---|---|---|
+ | Оператер сабирања | 6 + 3 процењује на 9 |
- | Оператор одузимања | 10 - 6 процењује на 4 |
* | Оператор множења | 4 * 2 оцењује на 8 |
/ | Дивизиониста | 10/5 процењује на 2 |
% | Модуло Оператор (остатак) | 16% 3 процењује на 1 |
Пример 2: Аритметички оператори
using System; namespace Operator ( class ArithmeticOperator ( public static void Main(string() args) ( double firstNumber = 14.40, secondNumber = 4.60, result; int num1 = 26, num2 = 4, rem; // Addition operator result = firstNumber + secondNumber; Console.WriteLine("(0) + (1) = (2)", firstNumber, secondNumber, result); // Subtraction operator result = firstNumber - secondNumber; Console.WriteLine("(0) - (1) = (2)", firstNumber, secondNumber, result); // Multiplication operator result = firstNumber * secondNumber; Console.WriteLine("(0) * (1) = (2)", firstNumber, secondNumber, result); // Division operator result = firstNumber / secondNumber; Console.WriteLine("(0) / (1) = (2)", firstNumber, secondNumber, result); // Modulo operator rem = num1 % num2; Console.WriteLine("(0) % (1) = (2)", num1, num2, rem); ) ) )
Када покренемо програм, излаз ће бити:
14,4 + 4,6 = 19 14,4 - 4,6 = 9,8 14,4 * 4,6 = 66,24 14,4 / 4,6 = 3,1304347826087 26% 4 = 2
Аритметичке операције се изводе у горњем примеру. Променљиве се у изразима могу заменити константама. На пример,
резултат = 4,5 + 2,7; // резултат ће садржати 7,2 резултат = први број - 3,2; // резултат ће се одржати 11.2
3. Релациони оператери
Релациони оператори се користе за проверу односа између два операнда. Ако је веза тачна, резултат ће бити true
, иначе ће резултирати false
.
Релациони оператори се користе у доношењу одлука и петљама.
Ц # релациони операториОператор | Име оператора | Пример |
---|---|---|
== | Једнако | 6 == 4 оцењује као нетачно |
> | Веће од | 3> -1 оцењује као тачно |
< | Мање од | 5 <3 оцењује као нетачно |
> = | Већи или једнак | 4> = 4 оцењује као тачно |
<= | Мање или једнако | 5 <= 3 оцењује се као нетачно |
! = | Неједнако са | 10! = 2 оцењује као тачно |
Пример 3: Релациони оператори
using System; namespace Operator ( class RelationalOperator ( public static void Main(string() args) ( bool result; int firstNumber = 10, secondNumber = 20; result = (firstNumber==secondNumber); Console.WriteLine("(0) == (1) returns (2)",firstNumber, secondNumber, result); result = (firstNumber> secondNumber); Console.WriteLine("(0)> (1) returns (2)",firstNumber, secondNumber, result); result = (firstNumber < secondNumber); Console.WriteLine("(0) = secondNumber); Console.WriteLine("(0)>= (1) returns (2)",firstNumber, secondNumber, result); result = (firstNumber <= secondNumber); Console.WriteLine("(0) <= (1) returns (2)",firstNumber, secondNumber, result); result = (firstNumber != secondNumber); Console.WriteLine("(0) != (1) returns (2)",firstNumber, secondNumber, result); ) ) )
Када покренемо програм, излаз ће бити:
10 == 20 враћа Фалсе 10> 20 враћа Фалсе 10 = 20 враћа Фалсе 10 <= 20 враћа Труе 10! = 20 враћа Труе
4. Логички оператори
Логички оператори се користе за обављање логичан операцију као што су and
, or
. Логички оператори оперишу логичке изразе ( true
и false
) и враћају логичке вредности. Логички оператори се користе у доношењу одлука и петљама.
Ево како се резултат процењује за логичке AND
и OR
операторе.
Операнд 1 | Операнд 2 | ИЛИ (||) | И (&&) |
---|---|---|---|
истина | истина | истина | истина |
истина | лажно | истина | лажно |
лажно | истина | истина | лажно |
лажно | лажно | лажно | лажно |
Једноставним речима, табела се може сажети као:
- Ако је један од операнда тачан,
OR
оператор ће га проценитиtrue
. - Ако је један од операнда нетачан,
AND
оператор ће то проценитиfalse
.
Пример 4: Логички оператори
using System; namespace Operator ( class LogicalOperator ( public static void Main(string() args) ( bool result; int firstNumber = 10, secondNumber = 20; // OR operator result = (firstNumber == secondNumber) || (firstNumber> 5); Console.WriteLine(result); // AND operator result = (firstNumber == secondNumber) && (firstNumber> 5); Console.WriteLine(result); ) ) )
Када покренемо програм, излаз ће бити:
Тачно нетачно
5. Унарни оператери
За разлику од осталих оператора, унарни оператори раде на једном операнду.
Ц # унарни операториОператор | Име оператора | Опис |
---|---|---|
+ | Унари Плус | Оставља знак операнда какав јесте |
- | Унари Минус | Обрне знак операнда |
++ | Повећање | Повећај вредност за 1 |
- | Декремент | Умањи вредност за 1 |
! | Логичка негација (није) | Инвертује вредност логичке вредности |
Пример 5: Унарни оператори
using System; namespace Operator ( class UnaryOperator ( public static void Main(string() args) ( int number = 10, result; bool flag = true; result = +number; Console.WriteLine("+number = " + result); result = -number; Console.WriteLine("-number = " + result); result = ++number; Console.WriteLine("++number = " + result); result = --number; Console.WriteLine("--number = " + result); Console.WriteLine("!flag = " + (!flag)); ) ) )
Када покренемо програм, излаз ће бити:
+ број = 10 -број = -10 ++ број = 11 --број = 10! застава = Нетачно
Оператори прираста (++)
и смањења (--)
могу се користити као префикс и постфикс. Ако се користи као префикс, промена вредности променљиве се види у истом реду, а ако се користи као постфикс, промена вредности променљиве се види у следећем реду. То ће бити јасно из примера испод.
Пример 6: Оператори за пост и инкремент у Ц #
using System; namespace Operator ( class UnaryOperator ( public static void Main(string() args) ( int number = 10; Console.WriteLine((number++)); Console.WriteLine((number)); Console.WriteLine((++number)); Console.WriteLine((number)); ) ) )
Када покренемо програм, излаз ће бити:
10 11 12 12
We can see the effect of using ++
as prefix and postfix. When ++
is used after the operand, the value is first evaluated and then it is incremented by 1
. Hence the statement
Console.WriteLine((number++));
prints 10
instead of 11
. After the value is printed, the value of number is incremented by 1
.
The process is opposite when ++
is used as prefix. The value is incremented before printing. Hence the statement
Console.WriteLine((++number));
prints 12
.
The case is same for decrement operator (--)
.
6. Ternary Operator
The ternary operator ? :
operates on three operands. It is a shorthand for if-then-else
statement. Ternary operator can be used as follows:
variable = Condition? Expression1 : Expression2;
Тернарни оператер ради на следећи начин:
- Ако је израз наведен у Услову
true
, резултат Израза1 додељује се променљивој. - Ако јесте
false
, резултат израза2 додељује се променљивој.
Пример 7: Тернарни оператер
using System; namespace Operator ( class TernaryOperator ( public static void Main(string() args) ( int number = 10; string result; result = (number % 2 == 0)? "Even Number" : "Odd Number"; Console.WriteLine("(0) is (1)", number, result); ) ) )
Када покренемо програм, излаз ће бити:
10 је паран број
Да бисте сазнали више, посетите Ц # тернарни оператер.
7. Оператори бит-а и бит схифт-а
Оператори бит-а и помака бита користе се за извођење операција манипулације битовима.
Ц # Битвисе и Бит Схифт оператериОператор | Име оператора |
---|---|
~ | Бит-ов комплемент |
& | У битовима И. |
|. | | У битовима ИЛИ |
^ | Битно ексклузивно ИЛИ |
<< | Преко левог померања |
>> | Промена удесно померање |
Пример 8: Битвисе и Бит Схифт Оператор
using System; namespace Operator ( class BitOperator ( public static void Main(string() args) ( int firstNumber = 10; int secondNumber = 20; int result; result = ~firstNumber; Console.WriteLine("~(0) = (1)", firstNumber, result); result = firstNumber & secondNumber; Console.WriteLine("(0) & (1) = (2)", firstNumber,secondNumber, result); result = firstNumber | secondNumber; Console.WriteLine("(0) | (1) = (2)", firstNumber,secondNumber, result); result = firstNumber secondNumber; Console.WriteLine("(0) (1) = (2)", firstNumber,secondNumber, result); result = firstNumber << 2; Console.WriteLine("(0) <> 2; Console.WriteLine("(0)>> 2 = (1)", firstNumber, result); ) ) )
Када покренемо програм, излаз ће бити:
~ 10 = -11 10 & 20 = 0 10 | 20 = 30 10 20 = 30 10 <> 2 = 2
Да бисте сазнали више, посетите Ц # Битвисе и Бит Схифт оператер.
8. Сложени оператери доделе
Ц # Оператори за доделу сложених компонентиОператор | Име оператора | Пример | Еквивалентно са |
---|---|---|---|
+ = | Задатак сабирања | x += 5 | x = x + 5 |
- = | Додељивање одузимања | x -= 5 | x = x - 5 |
* = | Задатак множења | x *= 5 | x = x * 5 |
/ = | Задатак дивизије | x /= 5 | x = x / 5 |
% = | Задатак по модулу | x %= 5 | x = x % 5 |
& = | Битно И додељивање | x &= 5 | x = x & 5 |
| = | Битно ИЛИ додељивање | x |= 5 | x = x | 5 |
= | Битно додељивање КСОР-а | x ^= 5 | x = x 5 |
<< = | Задатак леве смене | x <<= 5 | x = x << 5 |
>> = | Додељивање десне смене | x>>= 5 | x = x>> 5 |
=> | Ламбда Оператор | x => x*x | Returns x*x |
Пример 9: Оператор сложеног додељивања
using System; namespace Operator ( class BitOperator ( public static void Main(string() args) ( int number = 10; number += 5; Console.WriteLine(number); number -= 3; Console.WriteLine(number); number *= 2; Console.WriteLine(number); number /= 3; Console.WriteLine(number); number %= 3; Console.WriteLine(number); number &= 10; Console.WriteLine(number); number |= 14; Console.WriteLine(number); number ^= 12; Console.WriteLine(number); number <>= 3; Console.WriteLine(number); ) ) )
Када покренемо програм, излаз ће бити:
15 12 24 8 2 2 14 2 8 1
О Ламбда операторима ћемо разговарати у каснијем упутству.