Оператор (програмиране)
From Wikipedia, the free encyclopedia
Remove ads
Чрез операторите в програмните езици се осъществява обработката на данни. Всеки оператор има строго определена функционалност, в зависимост от конкретния програмен език, към който принадлежи. Операторите се обозначават със символи (напр. !, %, +, || и др.) и се характеризират с: позиция спрямо аргументите си (инфиксен или постфиксен), приоритет и асоциативност.
- Вижте пояснителната страница за други значения на Оператор.
Remove ads
Видове оператори
Операторите са обособени в отделни категории: според естеството на извършваните от тях операции и според броя аргументи, които приемат.
Според естеството на извършваните операции
- аритметични – извършват математически операции (като събиране, изваждане, умножение, деление)
- логически – извършват булеви операции върху данните и връщат булев резултат
- побитови – работят на принципа на логическите оператори, но върху двоичното представяне на числата.
- за сравнение – извършват операции за сравнение на две или повече операнди
- за присвояване – присвояват стойност на дадена променлива
Според броя на аргументите
Remove ads
Предефиниране на оператори
Предефинирането на оператори в обектно-ориентираното програмиране позволява дефиниране на различна функционалност на вече съществуващи оператори, в зависимост от типовете, върху които се използват. Те могат да бъдат предефинирани както от езика (напр. в C# и Java аритметичният оператор + може да означава събиране на числа или конкатениране на низове), така и от програмиста (напр. в C++).
Операторите в различните програмни езици
Операторите в C Sharp
Аритметични оператори
int a = 2;
int b = 3;
int result;
result = a + b; // в променливата result ще се запази сумата на a и b
result = a – b; // в променливата result ще се запази разликата на a и b
result = a * b; // в променливата result ще се запази произведението на a и b
result = a / b; // в променливата result ще се запази частното на a и b
result = a % b; // в променливата result ще се запази остатъкът от делението на a и b
result = a++; //в променливата result ще се запази стойността на променливата a, увеличена с 1
result = a--; // в променливата result ще се запази стойността на променливата a, намалена с 1
Логически оператори
bool a = true;
bool b = false;
Console.WriteLine(a && b); // На конзолата ще се изпише False
Console.WriteLine(a || b); // На конзолата ще се изпише True
Console.WriteLine(!b); // На конзолата ще се изпише True
Побитови оператори
int a = 3; // 0000 0011 = 3
int b = 5; // 0000 0101 = 5
Console.WriteLine(a | b); // 0000 0111 = 7
Console.WriteLine(a & b); // 0000 0001 = 1
Console.WriteLine(a ^ b); // 0000 0110 = 6
Console.WriteLine(~a & b); // 0000 0100 = 4
Console.WriteLine(a << 1); // 0000 0110 = 6
Console.WriteLine(a << 2); // 0000 1100 = 12
Console.WriteLine(a >> 1); // 0000 0001 = 1
Оператори за сравнение
int x = 10, y = 5;
Console.WriteLine(“x > y : “ + (x > y)); // true
Console.WriteLine(“x < y : “ + (x < y)); // false
Console.WriteLine(“x >= y : “ + (x >= y)); // true
Console.WriteLine(“x <= y : “ + (x <= y)); // false
Console.WriteLine(“x == y : “ + (x == y)); // false
Console.WriteLine(“x != y : “ + (x != y)); // true
Условни оператори
int a = 6;
int b = 4;
Console.WriteLine(a > b ? “a>b” : “b<=a”); // a>b
Remove ads
Операторите в Java
Аритметични оператори
int squarePerimeter = 17;
double squareSide = squarePerimeter / 4.0;
double squareArea = squareSide * squareSide;
System.out.println(squareSide); // 4.25
System.out.println(squareArea); // 18.0625
int a = 5;
int b = 4;
System.out.println(a + b); // 9
System.out.println(a + b++); // 9
System.out.println(a + b); // 10
System.out.println(a + (++b)); // 11
System.out.println(a + b); // 11
System.out.println(14 / a); // 2
System.out.println(14 % a); // 4
Логически оператори
boolean a = true;
boolean b = false;
System.out.println(a && b); // false
System.out.println(a || b); // true
System.out.println(!b); // true
System.out.println(b || true); // true
System.out.println((5>7) ^ (a==b)); // false
Побитови оператори
short a = 3; // 0000 0011 = 3
short b = 5; // 0000 0101 = 5
System.out.println(a | b); // 0000 0111 = 7
System.out.println(a & b); // 0000 0001 = 1
System.out.println(a ^ b); // 0000 0110 = 6
System.out.println(~a & b); // 0000 0100 = 4
System.out.println(a << 1); // 0000 0110 = 6
System.out.println(a << 2); // 0000 1100 = 12
System.out.println(a >> 1); // 0000 0001 = 1
Оператори за сравнение
int x = 10, y = 5;
System.out.println(“x > y : “ + (x > y)); // true
System.out.println(“x < y : “ + (x < y)); // false
System.out.println(“x >= y : “ + (x >= y)); // true
System.out.println(“x <= y : “ + (x <= y)); // false
System.out.println(“x == y : “ + (x == y)); // false
System.out.println(“x != y : “ + (x != y)); // true
Условни оператори
int a = 6;
int b = 4;
System.out.println(a > b ? “a>b” : “b<=a”); // a>b
Remove ads
Източници
Вижте също
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads