Junior software developers, often just out of university or a couple of years into their programming career, are who we think of as the core audience for this book. You’ll learn about fundamental topics that we expect to be of relevance throughout your software development career. You don’t need to have a university degree by any means, but you do need to know the basics of programming in order to make the best use of this book. We won’t explain what an if statement or a loop is, for example.
You don’t need to know much about object-oriented or functional programming in order to get started. We make no assumptions beyond that you know what a class is and can use collections with generics (e.g., List<String>).
Another group who will find this book of particular interest is developers learning Java while coming from another programming language, such as C#, C++, or Python. This book helps you quickly get up to speed with the language constructs and also the principles, practices, and idioms that are important to write good Java code.