Наверное, потому что нельзя инициализировать таким образом переменные и вне цикла for.
Вы же не можете написать: int a, double d
Но можете вот так: int a; double d;
А в цикле точка-запятая уже будет разделением блока.
Если вам так уж приспичело итерироваться по двум переменным, можно это обойти так:
int i = 1;
double j = 1.0;
for(; i<=10, j<=9.99; i++, j++) {}
В соответствии со спецификацией языка. В разделе LocalVariableDeclaration указано, что должен быть указан тип переменной (UnannType) и затем одно или несколько имён переменных