Personally, for control structures like if both are fine to me. For classes and methods I like to put them bellow, to avoid the symbol to be "glued" to other symbols, making it easier (for me) to scan the page.
However, in real life (work) I really can't go writing code like I want to. It's usually best to follow the style that is already in place in the project. That's often the language's default style. I even had to learn to ignore style mistakes (in code I'm not touching at the moment), otherwise I would go crazy and waste my time trying to fix everything at once.
Conclusion: it's fine to have preferences. But be flexible! Otherwise you'll waste your time and people will get angry at you :D