little confusion in analog stuffs

void setup()
{
  Serial.begin(9600);
 }
void loop()
{
  int a= analogRead(3);
  Serial.println(a);
  delay(1000);
}

but i have not connected anything to that analog pin but i am getting values around 500.whats the reason for that

The input is floating. Connect it to ground through a 10K resistor and it should read 0.

u mean you want me to activate internal pulldown resistor
yes i did .but i get values around 500

void setup()
{
  Serial.begin(9600);
digitalWrite(17,0); //activating pull down resistor
}
void loop()
{
  int a= analogRead(3);
  Serial.println(a);
  delay(1000);
}

am i right

bhuvaneshnick:
u mean you want me to activate internal pulldown resistor

I meant exactly what I said.
There is no internal pulldown resistor, hence I said to connect one to ground.