It depends on the quality of the recording setting and the length of the song. But, a better answer that gives you a rough idea is that a 2GB mp3 player will hold 68 hours of music, or approximately 1,300 songs at 3 minutes a song.
I like to say instead 1000 songs on a 2GB player since some will run longer, some way longer. That translates to 2000 songs on a 4GB player, 500 on a 1GB player, and 250 on a 512MB one. But read your manual, new technology will lead to eventual changes in storage methods and volume.
Well, after personal real world experience and research, I have to say that separate songs generally take about 5 megabytes, with part of the memory probably taken up with spacing and digital cataloging. So, unfortunately, that will lower the the amount of individual songs to somewhere around 500.