I am using java 7 update 26. I have a class where i have a while loop. When i decompiled that .class file with jd-gui (<http://java.decompiler.free.fr/?q=jdgui>) its giving me some strange while loop.

```
try {
  while (true) {
    c = in.read();
    if ((c >= '0' && c <= '9') || c == '-' || c == '+')
    {
      numBuf[len++] = (char) c;
    } else if (c == '.' || c == 'e' || c == 'E') {
      numBuf[len++] = (char) c;
      isFloat = true;
    } else if (c == -1) {
      throw new IOException("EOF");
    } else {
      in.unread(c);
    }
  }
} catch (ArrayIndexOutOfBoundsException e) {
  throw new IOException("Exception with Array ");
}

```

The compiled version is like the following:

```
try {
  while (true) {
    c = in.read();
    if (((c >= 48) && (c <= 57)) || (c == 45) || (c == 43))
    {
      numBuf[(len++)] = (char)c;
      continue; 
    } 
    if ((c != 46) && (c != 101) && (c != 69))
      break;
    numBuf[(len++)] = (char)c;
    isFloat = true;
  }
  if (c == -1) {
    throw new IOException("EOF");
  }
    in.unread(c);      
} catch (ArrayIndexOutOfBoundsException localArrayIndexOutOfBoundsException) {
    throw new IOException("Exception with Array ");
}

```

My code seems totally different.. Any ideas?