This book does not teach the basics of programming. It is assumed that you have taken an introductory course in programming and that you have learned how to write a program in Java. That is, you have learned the rules of Java syntax and you have learned how to put together Java statements in order to solve rudimentary programming problems. The following paragraphs describe more fully aspects of programming in Java with which you should be familiar.