Preface

The book Programming Basics with Java introduces the readers to writing programming code at a beginners level (basic coding skills), working with the development environment (IDE), using variables and data, operators and expressions, working with the console (reading input data and printing output), using conditional statements (if, if-else, switch-case), loops (for, while, do-while, foreach) and methods (declaring and calling methods, passing parameters, and returning values). This book teaches basic coding skills, using the programming language Java and the development environment IntelliJ IDEA. The learning material covered in this book delivers the basic training that is needed for a furthermore in-depth study of programming and prepares the reader for the practical exam at SoftUni.

 This book only gives you the first steps to programming. It covers basic skills that you must develop for years, to reach a high enough level and start working as a programmer.

The book is used as an unofficial textbook for school-level programming courses: in the high schools, studying professions like Programmer, Application Programmer and System Programmer, as well as an additional teaching tool in the initial programming courses at the secondary schools, mathematical and professional high schools.

Who is This Book Intended for?

This book is suitable for absolute beginners in programming who want to try what programming is and learn the basic constructions for writing program code used in software development, regardless of the programming language and the technologies used. The book gives a solid basis of practical skills that you can use in any future training in programming and software development.

Why Did We Choose Java?

For this book, we choose the Java because it is a modern programming language for high-level programming, open-source, easy to learn, and suitable for beginners. Using Java is widespread, with a well-developed ecosystem, numerous libraries and technology frameworks, and accordingly, it gives many perspectives for development. Java combines paradigms of procedural, object-oriented, and functional programming in a modern way with easy syntax although it is more descriptive than Python and JavaScript. In this book, we will use Java language and IntelliJ IDEA development environment, which are available for free.

As we will explain more about later, the programming language you start with does not make a significant difference in the process of learning to code, but you still need to choose one. For this book, we will focus specifically on Java. You can find the principles and concepts explained here illustrated with other programming languages like C#, Python, and JavaScript

The Book in Other Programming Languages: Java, JavaScript, Python, C++

This book on programming for beginners is available in several programming languages (or is in the process of being adapted for them):

If you prefer a different language, select it from the list above.

Programming is Learned by a Lot of Writing, Not Reading!

If someone assumes they will learn to program by just reading a book, without writing code and solving problems, they are deluding themselves. Programming needs a lot of practice, with code writing every day and solving hundreds, even thousands of problems, seriously and persistently for years.

You need to: solve a lot of problems, to make mistakes, to fix, to search for solutions and information from the Internet, to try, to experiment, to find better solutions, to get used to the code, syntax, the programming language, the development environment, to search for errors and debugging the broken code, the algorithmic thinking, breaking the problems into smaller parts, gaining experience and raising your skills every day, because when you learn to write code, this is only the first step to the profession of the "software engineer". You have a lot to learn!

We advise the reader, as a minimum, to try out all the examples from the book, to play with them, to change them, and test them. Even more important than the examples are the exercises because they develop the programmer's practical skills. This book provides nearly 150 practical coding exercises, so it is a good foundation for developing coding and algorithmic thinking skills.

You need to solve all the problems in the book because programming is learned with practice! The exercises after each topic are carefully selected to cover in-depth the learning material. The purpose of solving all the problems is to provide complete set of skills for writing programming code at a beginners level (which is the purpose of this book).

</tr></table>

 Solve all the exercises in the book. Otherwise you won't learn anything! Programming is learned by writing a lot of code and solving thousands of problems!