Դաս 8.2։ Java – Հիմնական օպերատորները

0

Assignment Operators

Ստորև ներկայացված են assignment operator-ները, որոնք առկա են Java ծրագրավորման լեզվում՝

Operator Description Example
= Պարզ assignment օպերատոր: Նշանակում է արժեքներ աջ կողմում գտնվող օպեատորներից դեպի ձախ C = A + B տալիս է A + B-ի արժեքը  C-ին
+= Ավելացնում է AND assignment օպերատորը։ Այն ավելացնում է աջ օպերատորը ձախին և կցում ձախ օպերատորի արդյունքը C += A էկվիվալենտ է C = C + A
-= Հանում է AND assignment օպերատորը։ Այն հանում է աջ օպերատորը ձախից և կցում ձախ օպերատորի արդյունքը C -= A էկվիվալենտ է C = C – A
*= Բազմապատկում է AND assignment օպերատորը։ Այն բազմապատկում է աջ օպերատորը ձախին և կցում ձախ օպերատորի արդյունքը C *= A  էկվիվալենտ է C = C * A
/= Բաժանում է AND assignment օպերատորը։ Այն բաժանում է ձախ օպերատորը աջի հետ և կցում ձախ օպերատորի արդյունքը C /= A  էկվիվալենտ է C = C / A
%= Մոդուլ AND assignment օպերատոր։ Այն հաշվարում է մոդուլը երկու օպերատորների և կցում ձախ օպերատորի արդյունքը C %= A էկվիվալենտ է C = C % A
<<= Դեպի ձախ AND assignment օպերատոր C <<= 2 նույն է ինչ C = C << 2
>>= Դեպի աջ AND assignment օպերատոր C >>= 2 նույն է ինչ C = C >> 2
&= Bitwise AND assignment օպերատոր C &= 2 նույն է ինչ C = C & 2
^= bitwise exclusive OR և assignment օպերատոր C ^= 2 նույն է ինչ C = C ^ 2
|= bitwise inclusive OR և assignment օպերատոր C |= 2 նույն է ինչ C = C | 2

 

Miscellaneous Operator

Գոյություն ունեն մի քանի այլ օպերատորներ, որոնք աջակցվում են Java-ի կողմից՝

Conditional Operator ( ? : )

Conditional operator կամ պայմանական օպերատորները, որոնք հայտնի են նաև որպես եռակի օպերատորներ: Այս օպերատորը բաղկացած են երեք օպերատորներից և օգտագործվում են Boolean արտահայտությունների գնահատման համար: Օպերատորի նպատակն է որոշել, որ արժեքը պետք է նշանակվի փոփոխականին: Օպերատորը գրվում է ՝

variable x = (expression) ? value if true : value if false

Օրիանակ՝

public class Test {

 

  public static void main(String args[]) {

     int a, b;

     a = 10;

     b = (a == 1) ? 20: 30;

     System.out.println( “Value of b is : “ +  b );

 

     b = (a == 10) ? 20: 30;

     System.out.println( “Value of b is : “ + b );

  }

}

Արդյունքը՝

Value of b is : 30

Value of b is : 20

 

instanceof Operator

Այս օպերատորը օգտագործվում են միայն օբյեկտի հղման փոփոխականների համար: Օպերատորը ստուգում է, արդյոք օբյեկտը որոշակի տեսակի (դասի տեսակը կամ ինտերֆեյսի տեսակը) է, թե ոչ:

instanceof օպերատորը գրված է `

( Object reference variable ) instanceof  (class/interface type)

Եթե օպերատորի ձախ կողմում գտնվող փոփոխականով ներկայացված օբյեկտը անցնում է IS-A ստուգումը դեպի աջ կողմ, ապա արդյունքը ճիշտ կլինի: Ահա օրինակը`

 

public class Test {

  public static void main(String args[]) {

     String name = “James”;

     // following will return true since name is type of String

     boolean result = name instanceof String;

     System.out.println( result );

  }

}

 

Արդյունքը՝

true

Այս օպերատորը դեռ կվերադառնա ճիշտ արժեքը, եթե համեմատվող օբյեկտը համատեղելի է աջ տիպի հետ: Եվս մեկ օրինակ`

class Vehicle {}

public class Car extends Vehicle {

  public static void main(String args[]) {

     Vehicle a = new Car();

     boolean result =  a instanceof Car;

     System.out.println( result );

  }

}

Արդյունքը՝

true

 

Java օպերատորների նախապատվությունը

Օպերատորի նախապատվությունը կամ գերազանցությունը որոշում է տերմինների խմբավորումը արտահայտության մեջ: Սա ազդում է արտահայտության գնահատականի վրա: Որոշ օպերատորներ ունեն ավելի բարձր դիրք, քան մյուսները: Օրինակ բազմապատկման օպերատորն ունի ավելի բարձր գերազանցություն, քան գումարման օպերատորը։

Օրինակ, x = 7 + 3 * 2; այստեղ x- ն նշանակվում է 13 ոչ թե 20, քանի որ օպերատորը ունի ավելի բարձր գերազանցություն, քան + ը, ուստի այն առաջին հերթին բազմապատկվում է  3 * 2-ով, ապա ավելացնում 7:

Այստեղ ամենաբարձր նախապատվությունը ունեցող օպերատորները գտնվում են աղյուսակի վերևում, և հակառակը։ Արտահայտության մեջ առաջին հերթին բարձր կգնահատվեն բարձր նախասիրություն ունեցող օպերատորները:

Category Operator Associativity
Postfix >() [] . (dot operator) Left toright
Unary >++ – – ! ~ Right to left
Multiplicative >* / Left to right
Additive >+ – Left to right
Shift >>> >>> << Left to right
Relational >> >= < <= Left to right
Equality >== != Left to right
Bitwise AND >& Left to right
Bitwise XOR >^ Left to right
Bitwise OR >| Left to right
Logical AND >&& Left to right
Logical OR >|| Left to right
Conditional ?: Right to left
Assignment >= += -= *= /= %= >>= <<= &= ^= |= Right to left

 

Հաջորդիվ կուսումնասիրենք loop control-ը Java ծրագրավորման մեջ: Մյուս դասում կներկայացնենք տարբեր տեսակի հանգույցները (loop control-ի տեսակները), դրանց կիրառումը և նպատակը Java ծրագրավորման համար։

Share.