Hello, could someone explain the differences between these two sentences, thank?
1. John has not swam before.
2. John has not been swimming before.
[CAUTION: I am not a teacher:take the advice and or corrections offered in this post at your own risk.
If you doubt the information, please get a qualified opinion from one of the teachers on these forums.]
Kahhong. Actions like swimming do not have a sense of beginning and ending built into them like say: opening a store or eating a meal.
As such, we can say things like "go swimming" or "go fishing" (which mean to engage in the activity for an unspecified time). But we cannot say "go opening" or "go eating" (at least not [in my knowledge] in American English).
If I go swimming, and then I am swimming, and then I return home I can say I "have been swimming". I can even say "I have been swimming (have been doing it) today.
However, if you say have never been swimming "before.", which here would be understood as "ever", then it means you have never gone to swim.
It makes more sense if we pair it with a location.
"I have been to France."
"I have been to the supermarket."
Because of the verb "to be" after we go somewhere we can say we "have been there" meaning we went to that place.
Your (apparent) confusion seems to come from the replacement of a location with an action. When we add the word before or never it means "go to do" something.
"He's never been fishing in his life." (he's never gone to fish/fished)
"Have you ever been skiing?"(have you ever gone to ski)
Although, this can be a bit confusing, you may want to ask for further explanation from one of the more qualified members.