Operatoru prioritātes

Piezīmes

Kopienas interešu grupas tagad ir pārvietotas no Yammer uz Microsoft Viva Engage. Lai pievienotos Viva Engage kopienai un piedalītos jaunākajās diskusijās, aizpildiet veidlapu Pieprasīt piekļuvi Finance and Operations Viva Engage Community un izvēlieties kopienu, kurai vēlaties pievienoties.

Šajā rakstā ir aprakstīta operatora prioritāte.

Svarīga ir secība, kādā tiek novērtēta salikta izteiksme. Ja kompilatoram nav skaidri norādīts, kādā secībā vēlaties veikt operācijas, secība ir balstīta uz operatora prioritāti. Varat izmantot iekavas ( ) , lai skaidri norādītu X++ kompilatoram, kā vēlaties novērtēt izteiksmi.

Apsveriet izteiksmi x + y / 100, kas dod atšķirīgu rezultātu atkarībā no tā, vai vispirms tiek veikta pievienošana vai sadalīšana. Tā kā sadalījuma operatoram ir lielāka prioritāte nekā pievienošanas operatoram, kompilators novērtē y/100 vispirms. Tātad, x + y / 100 ir ekvivalents x + (y / 100). Ja pievienojat iekavas, lai izveidotu izteiksmi (x + y)/ 100, tad x + y vispirms tiek novērtēts.

Lai padarītu kodu viegli lasāmu un uzturamu, esiet skaidrs un iekavās norādiet, kuri operatori ir jānovērtē vispirms.

Operatora prioritātes secība

Tālāk esošajā tabulā norādītie operatori ir uzskaitīti prioritārā secībā. Jo augstāk tabulā parādās operators, jo lielāka prioritāte tam ir. Operatori ar augstāku prioritāti tiek novērtēti pirms operatoriem ar zemāku prioritāti. X++ operatora prioritāte nav tāda pati kā citās valodās, piemēram, C# un Java.

Operatori prioritārā secībā Sintakse
Vienreizējie operatori - ~ !
reizinājums, maiņa, bitu AND, bitu ekskluzīvs VAI * / % DIV << >> & ^
piedevām, bitu veidā ieskaitot VAI + -
attiecības, vienlīdzība < <= == != > >= like as is
loģiskie operatori (AND, VAI) &&, ||
nosacījuma ? :

Operatoriem, kas atrodas vienā un tajā pašā tabulas rindā, ir vienāda prioritāte. Ja izteiksmē ir vairāk nekā viens no šiem operatoriem, izteiksme tiek novērtēta no kreisās uz labo pusi, ja vien netiek izmantoti piešķiršanas operatori. Piešķiršanas operatori tiek novērtēti no labās uz kreiso pusi. Piemēram, && (loģiskajam AND) un (loģiskajam OR) ir || vienāda prioritāte un tie tiek vērtēti no kreisās uz labo pusi. Šī prioritāte nozīmē, ka 0 && 0 || 1 == 1, un 1 || 0 && 0 == 0