It may take some ingenuity to exchange the values of two variables.
If we say X = Y and then Y = X we will find that the initial value of X has been lost after the first statement executes.
A common way to exchange two variables starts by saving one value in a temporary variable T = X. Then the exchange is completed with X = Y and then Y = T.
Some computer languages offer a swap operation that completes the exchange in with one statement X :=: Y.
Some computer languages offer a parallel assignment that has both assignments happening at once without interference [X, Y] = [Y, X].
Many sorting algorithms work by swapping carefully selected elements of a single array A[ j ] :=: A[ k ].