 
                            Do not use the assignment operator in the contexts listed in the following table because doing so typically indicates programmer error and can result in unexpected behavior.
| Operator | Context | 
|---|---|
| if | Controlling expression | 
| while | Controlling expression | 
| do ... while | Controlling expression | 
| for | Second operand | 
| ?: | First operand | 
| ?: | Second or third operands, where the ternary expression is used in any of these contexts | 
| && | Either operand | 
| || | either operand | 
| , | Second operand, when the comma expression is used in any of these contexts | 
...