Does Serial.print affects serial recieve buffer?

If you are sending nothing to the serial port, the while loop has no affect, so your program is equivalent to:

void setup (){
  Serial.begin(9600);
}

void loop ()
{
   Serial.print("print");
}

Which should make it pretty obvious why it keeps printing "print" over and over.