Оператор (програмиране)
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