[от DeviLeR] Урок 6: Изрази
Публикувано на: 06 Окт 2016, 17:14
Изразите са точно такива, както звучат по математика. Те са групи от символи, които връщат една част от данните. Изразите обикновено се състоят от вмъкнати изрази и се пресмятат в определен ред (подред, първо скобите, след това умножение, деление, събиране, изваждане и т.н.). Можете да сложите изрази навсякъде. Също така можете да задавате променливи, равни на тях, или да ги придавате към функции.
Ако даден израз не е равен на нула или не е „false“, той не само възвръща дадена стойност, той задава и стойността „true“ на израза. В противен случай той ще възвръща 0, което е „false“.
Разликата между тези два израза е много важна, тъй като може да бъде доста коварна. a++ се пресмята в израза последна, а ++a първа! Тези разлики са доста удобни при кодове, които използват „loop“ по различни начини. Важно е да запомните и че инкрементирането и декрементирането на оператори не само ще възвърне a+1, но ще зададе и стойността a+1 на променливата a.
Също така математическите оператори не са единствените оператори, които съществуват. Съществуват булеви оператори, които ви помагат с логическите схеми или логическите решения.
Има и други оператори, които може да не използвате много често. Операторът „bitwise and“ се възвръща, ако двоичната, малка последователност се съдържа в друга последователност. В техническите термини „и (&&)“ извършва операция на всеки бит в двете числа. Например имаме числото 9, което е 1001 в двоичен код. Ако искате да разберете дали тази последователност съдържа числото 8 (1000), може да направите това:
Тези два оператора също са важни, но не са използвани често. Те са „bitwise shift“ операторите. << е левият shift, а >> е десният. Те променят битовете в число в една посока.
Последният оператор е „bitwise not“. Той връща точно обратното, на каквото му бъде дадено. Когато е използван върху число, той ще върне всеки бит наобратно(1 към 0 ще го върне така - 0 към 1).
Източник: amxmodx.org
Превод: DeviLeR
Код за потвърждение: Избери целия код
//Това е най-простият израз. Той връща числото 0.
0
//За да го направите по-лесно за четене, това също е валидно:
(0)
Код за потвърждение: Избери целия код
//Ето още математически изрази. Математическите оператори са:
// „+“ за събиране
// „-“ за изваждане
// „*“ за умножение
// „/“ за деление
// „%“ за деление с остатък
(5+6) //връща 11
((5*6)+3) //връща 33
((((5+3)/2)*4)-9) //връща 5
((5*6) % 7) //връща 2
//Ето други изрази:
(true) //възвръща „true“
(5.0 + 2.3) //възвръща 7.3, което е число с плаваща запетая
//Има и разширения за директно използване върху променливи.
new a = 5
new b = 6
//Първите са постът / предварително инкрементиране и декрементиране на оператори.
a++ //възвръща a+1 или 6. Това е пост за нарастване.
++a //also returns a+1, or 6. Това е пост за предварително увеличение.
Код за потвърждение: Избери целия код
a-- //възвръща 4 след декрементиране
--a //възвръща 4, предварително декрементиране
//Наблюдаваме:
a += 1 //Това задава „a“ на „a + 1“
a -= b //Това задава „b“ на „a - b“
a *= 0 //Това умножава „a“ по „0“
a /= 2 //Това разделя „a“ на „2“
Код за потвърждение: Избери целия код
// Операторите проверяват и двете страни(и лявата, и дясната).
// Ако и двете са „true“, тогава се възвръща стойността „true“
//Ето примери:
(1 && 0) //Това е „false“, защото 1 връща „true“,а 0 връща „false“.
//След като и двете не са „true“, && възвръща „false“.
(1 && 2) //И двете числа са „true“, следователно и изразът е „true“.
(true && false) //Това е „false“
(false && false) //Това е „false“
(true && true) //Това е „true“
//Другият важен оператор е „или“. Той възвръща „true“, ако една от двете стойностти е „true“.
(1 || 0) //„true“, защото едната стойност е „true“
(1 || 2) //„true“
(true || true) //„true“
(false || false) //„false“
(true || true) //„true“
Код за потвърждение: Избери целия код
//Това ще върне 8, което означава, че 8 наистина е бит от 9.
(9 & 8)
//4 (00100) не е бит в 16 (10000) и това ще върне 0.
(16 & 4)
//Следващият оператор е "bitwise or"
//„или (||)“ извършва операция на всеки бит в двете числа.
//Това ще вземе 9 (1001) и ще го свърже с 3 (0011), което впоследствие е равно на 1011, или 11.
(9 | 3)
Код за потвърждение: Избери целия код
//Това взима числото 3 (00011) и го променя на 3 места в двоичния код (11000) или 24.
(3 << 3)
//Това взима числото 24 (11000) и го променя на 3 места в двоичния код (00011) или 3.
(24 >> 3)
Код за потвърждение: Избери целия код
//Това връща „false“
(!true)
//Това връща „true“
(!false)
//Това взима 9 (1001) и го прави на 6 (0110).
(!(9))
Превод: DeviLeR