He is 20! He is imatrue. This sounds like he falls into the most annoying rare personalities that I really dont care for at all. I refer to it as "frat boy". The college aged, super pumped, loud and ridiculiouse young man.
At twenty they just set out on there"own". They have escaped from mom and dads rules and are setting the limits for themselves. Usually the "frat boy" type goes wild. Not that all actual frat boys are crazy and loud not that all 20 somethings actually are completely annoying.
To me it sounds, truly immatrue, not so much a disorder but the need to grow up. And by all means when he is stepping out of line set a boundary for him. Say to him "come on 40 bucks for lunch dont take extream advantiage or your going to be doing dishes in the back to pay for your meal". When he is hitting himself in the face call him out on it. Tell him "go take some meds". In a very calm voice tell him its time to "stop". If he continues walk away. I doubt he would hit himself if he did not have an audience. I truly never knew a grown adult over the age of 30 who was a "frat boy" type personality. I believe they grow out of it.