整型数据溢出的问题

给出一个数据,如int i=0xFFFFFFF1;
明显的超出了int的32位范围,用eclips运行了system.out.print(i);打印出的结果是-15.
为什么会是这个结果?java是怎么处理这种数据溢出的?
查了半天没弄明白,不要笑我,本人初学java。

在JAVA中设置的int最大值是
0111,1111,1111,1111,1111,1111,1111,1111 这个值就是2147483647
如果你给+1就会变成
1000,0000,0000,0000,0000,0000,0000,0000, 这个值就溢出来了,这成了负数了。

你上面的数是因为溢出了,,被截去了前面(32位以前的)的部分。。最后就变成了
以11111111111开头的数,,这个就是负数