What is java += assignment operator ?

You might think upto now that x+=10 is exactly same as x=x+10;
But there is still some difference,

Check this program

public class Fun {
public static void main(String[] args){
short x=1;
x+=1;//No compilation error
x=x+1;//Compilation error

See in the above x+=1 does not give any error but x=x+1 will give compilation error as can not convert from short to int.
So we have to do that manually.

So x+=1 first does the calculation and type case the result as of x and then assigns to x.
So x+=1 is equivalent to x=(type of x)(x+1)

No comments:

Post a Comment