Welcome to the Ranch

nice to see you around..
Recently I became very interested in learning Java. It would be my first programing language (I read that it's not the best language to begin with, but somehow it attracts me most.
It is hard to say which language is "best" to start with, if we can define such "best" at all. Programming isn't bounded to a particular language, it is more about the principles, which are very important to pick right ones at the beginning rather than specific language things. Java is just a tool to learn programming, but programming itself isn't Java as such. What is good about Java, that it has very good documentation and big community, so the starting steps can be easier than picking up for instance some other language. But I guess you have heard about the Python as about the better language to start with. Well, many universities around the world switching from Java to Python for introductory programming module. I personally think that if you start with Java, it is easier to pick up other languages, rather than you'd start with Python.
About the book. Head First Java is a very specific book, either you like it or you don't. Main difference from many books out there, that it contains a lot explanations in visual format. Some likes, some may not. In general it is very popular book and very well known among the starters. So again, it wouldn't be a bad choice. Anyway, it wouldn't be the last book you may need, so plan to own more
What tremendously helpful would be, is to contribute a lot in these forums here on Ranch, so you could see a lot of beginning problems to start with, common pitfals, how to avoid them, best practices...