Mood changes- FREQUENT!!

So I'm 16 and for the past few years I've realized that I can go from happy as can be to serious bitch, breath in my direction and I want to punch you in the face/ sad or upset. Today, my boyfriend of a year and half noticed that this happened and it really made me angry when he pointed it out and he assumed it was because one of his friends who I don't get along with texted him and kept asking if that was why. Does anyone else experience these random mood changes? Is it from puberty? I'm really not sure what to do!!!