# Operators

Blackey Script’s Operator Precedence is mostly like C language,

the following table lists the precedence and associativity of operators.

Operators are listed top to bottom, in descending precedence.

For example, the expression below:

x = 5;

y = z = 1 * -2 + 3 * 4 – -x;

The unary minus operator is in Group 2, much higher than other operators.

Then, the multiplication operator (Group 3),

which is much higher than the addition and subtraction operator (Group 4).

After the addition and subtraction, finally is the simple assignment operator. (Group 9, from Right to Left)

So the calculated result will be **y** equals to **z** equals to **15**.

**Group 1**

Function |
Operator |
Example |

Function call | () | print(x); |

**Group 2，Right-to-left**

Function |
Operator |
Example |

Unary minus | – | x = -1;
y = 1 * -3; |

**Group 3**

Function |
Operator |
Example |

Multiplication | * | x = 1 * 2; |

Division | / | x = 6 / 2; |

Remainder | % | x = 5 % 3; |

**Group 4**

Function |
Operator |
Example |

Addition | + | x = 1 + 2; |

Subtraction | – | x = 1 – 2; |

**Group 5**

Function |
Operator |
Example |

Less | < | x < 1 |

Larger | > | x > 1 |

Less or equal | <= | x <= 1 |

Larger or equal | >= | x >= 1 |

**Group 6**

Function |
Operator |
Example |

Equal | == | x == 1 |

Not euqal | != | x != 1 |

**Group 7**

Function |
Operator |
Example |

Logical AND | && | x && y |

**Group 8**

Function |
Operator |
Example |

Logical OR | || | x || y |

**Group 9，Right-to-Left**

Function |
Operator |
Example |

Simple assignment | = | x = 1;
x = y = z = 1; |

**Group 10**

Function |
Operator |
Example |

Comma | , | x = 1, y = 2;
print(x, y); |