Чрез операторите в програмните езици се осъществява обработката на данни. Всеки оператор има строго определена функционалност, в зависимост от конкретния програмен език, към който принадлежи. Операторите се обозначават със символи (напр. !, %, +, || и др.) и се характеризират с: позиция спрямо аргументите си (инфиксен или постфиксен), приоритет и асоциативност.
Видове оператори Операторите са обособени в отделни категории: според естеството на извършваните от тях операции и според броя аргументи, които приемат.
Според естеството на извършваните операции аритметични – извършват математически операции (като събиране, изваждане, умножение, деление) логически – извършват булеви операции върху данните и връщат булев резултат побитови – работят на принципа на логическите оператори, но върху двоичното представяне на числата. за сравнение – извършват операции за сравнение на две или повече операнди за присвояване – присвояват стойност на дадена променлива
Според броя на аргументите едноаргументни () – приема един аргумент двуаргументни () – приема два аргумента триаргументни () – приема три аргумента
Предефиниране на оператори Предефинирането на оператори в обектно-ориентираното програмиране позволява дефиниране на различна функционалност на вече съществуващи оператори, в зависимост от типовете, върху които се използват. Те могат да бъдат предефинирани както от езика (напр. в C# и Java аритметичният оператор + може да означава събиране на числа или конкатениране на низове), така и от програмиста (напр. в C++).
Операторите в различните програмни езици C# Java C++ JavaScript PHP Аритметични Отрицание – – – – - Събиране + + + + + Изваждане – – – – - Умножение * * * * * Деление / / / / / Деление по модул % % % % % Инкрементиране ++ ++ ++ ++ ++ Декрементиране -- -- -- -- -- За присвояване Присвояване = = = = = Прибавяне и присвояване += += += += += Изваждане и присвояване -= -= -= -= -= Умножение и присвояване *= *= *= *= *= Деление и присвояване /= /= /= /= /= Деление по модул и присвояване %= %= %= %= %= Побитово „И“ и присвояване &= &= &= &= &= Побитово „ИЛИ“ и присвояване |= |= |= |= |= Изключващо „ИЛИ“ и присвояване ^= ^= ^= ^= ^= Отместване вляво и присвояване <<= <<= <<= <<= <<= Отместване вдясно и присвояване >>= >>= >>= >>>= >>= Отместване вдясно, запълване с нули и присвояване >>>= >>>= За сравняване Равно == == == == == Идентично === === Различно != != != != !=, <> Неидентично !== !== По-малко < < < < < По-голямо > > > > > По-малко или равно <= <= <= <= <= По-голямо или равно >= >= >= >= >= Логически Логическо „И“ && && && && and, && Логическо „ИЛИ“ || || || || or, || Изключващо „ИЛИ“ ^ ^ xor Логическо отрицание ! ! ! ! ! Побитови Побитово „И“ & & & & & Побитово „ИЛИ“ | | | | | Изключващо „ИЛИ“ ^ ^ ^ ^ ^ Побитово отрицание ~ ~ ~ ~ ~ Побитово отместване вляво << << << << << Побитово отместване вдясно >> >> >> >> >> Побитово отместване вдясно и запълване с нули >>> >>> Условни ?:,?? ?: ?: ?: ?:,?? За работа с типове (type), as, is, typeof, sizeof (type), instanceof (type), sizeof(), typeid() typeof instanceof Оператори за низове Съединяване + + + . Съединяване и присвояване += += += .= Оператори за масиви +, ==, ===, !=, <>, !==
Операторите в 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
Операторите в 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
Източници
www.fmi.uni-sofia.bg www.introprogramming.info www.cplusplus.com www.php.net
Вижте също Софтуер Програмиране Езици за програмиране
Категория:Програмни конструкции