Serial.available()

At the end:
data does not occupy the serial buffer on Arduino, until I hit "enter".
and the function that extracts data from the buffer is the Serial.read function. And when i call it, one digit (or character, depending on the variables initialization), comes out from the buffer and the "available elements" in the buffer decrease by one unit?