As others have said the best self-defense is being aware and staying clear of threatening situations. Skill in a martial art becomes important when the options of avoidance have seized to exist.
There are three main realms in the empty-hand arts: mitigating attacks launched at you (distancing, deflecting, redirecting, blocking), offensive striking (slapping, punching, kicking, kneeing, elbowing) used to neutralize the attacker so they no longer can hurt you, and grappling when you get tangled up and/or are taken to the ground.
To make it simpler: you need both a stand-up/striking game and a ground game.... lacking in either will prove to be a major problem if find yourself in either position in a real conflict.... and a "real fight" will very likely involve both.
After studying martial arts a bit here's my general view: I think that from a self defense perspective the most important thing in the stand up game is to learn distancing. Learning to block and deflect attacks is a highly developed skill that takes a long time to effectively develop and is highly prone to error in a real confrontation, but remaining too far or too close from the attacker for them the launch an effective attack is relatively easy. When it comes to launching a strike, you want to understand the basics of throwing a good slap and/or jab, but the rest is really just details of a style and plenty of untrained fighters have knocked someone out with a sloppy haymaker.
Now, the skills you can learn when tangled up and on the ground are where there's a lot you can learn to neutralize a threat. Nobody wants to go to the ground in a real fight, but then again nobody should "want" to be in the real fight in the first place, but it can happen. Being able to control and neutralize someone on the ground is essential to survival. Yes, his buddies might kick you in the head, but they'll do that whether you know BJJ or not. There is NO system that is reliably effective against multiple attackers. Anyone who tells you otherwise lives in fantasy land.
So.... find a martial art you enjoy studying and with people in a school you enjoy being around. That's the most important thing. Realize that a lot of what you learn and practice is not going to be about self defense, accept that and enjoy the learning process. Arm yourself with some basic skills in distancing, know how to throw a good slap to the ear/eyes, kick/knee a groin, and then learn some basic combative BJJ (I'm not talking about perfecting a sporty rubber guard, but basic positional control, arm breaks, and chokes)... and that will cover you for the self-defense side.
As for Shotokan and Kyokushin karate, they are both considered hard striking styles. Kyokushin is often practiced with full force punches to the body which seems to give it some "tough guy" reputation, but its very similar to other karate styles. Whether you study Kung Fu, Karate, or Muay Thai is just a matter of preference for the enjoyment of doing so. The basic striking skills you will develop over time will help you, but it's a journey, not a quick fix for a street fight in 6 months.