Basically, key
word final is acting a constant to a variable.
so ,final int x =2; means x = 2 and is fixed(Const)through out the code.
Now for case x: //nothing but x=2;
case x-1://it will not assign the value to x but it wiil evalute as (2-1) = 1.
case x-2://same as above except evalute as (2-2) = 0.
So, In a nutcell you can't modify the value of x but you can use it for any mathematical expression as constant.
Hope It will help.
Regards,
Sumit Jain