reply to post #8: Not fully true...

Check this code:
f
Code:
or(double j=1; ;j++) {
	double temp = Double.MAX_VALUE - j;
	if(temp != Double.MAX_VALUE) {
		break;
	}
}
When do you think you will leave the loop?

Double is trying to implement the mathematical infinite representation.

My 2 cents.