This is fairly straightforward if we add some more spaces and parentheses:
if ( (i != j) and (A[i] == A[j]) )
v v v
| | +-----> equality operator comparing two array objects
| +---------------> AND logical operator testing if both expressions are true
+---------------------> inequality operator comparing i and j
- first test if i is not equal to j.
- if that is true then the AND operator means we must test the next expression
- test if array element A[i] is equal to A[j]
- If both are true then the whole expression is true