Generally, the term "jock" is used to refer to high school or collegiate athletes. It does carry a negative connotation. But as with all words, that also depends on how you use it (the context).
If you want to avoid offending someone, it's better to refer to them as "athletes" instead of "jocks."