# Java: Preface

## Purpose of these notes

These notes were started to fill in areas that textbooks didn't adequately teach. Where features were adequately covered in the textbook (eg, loops), you won't find much here. Where features are missing entirely from the textbook (eg, GUI!), there are more notes.

## Choices made in these notes

These notes

- Use recent Java language features (currently including some version 1.5 features).
- Emphasize Graphical User Interfaces, using Swing instead of AWT. Simple console input/output is also used in some places.
- Use applications primarily, not applets. However, many examples subclass JPanel, which makes using them in applets trivial.
- Development Systems These notes do not assume a particular development system. I use Sun's NetBeans or JDK/SDK (Java/Software Development Kit) because they are commonly used by students, but there are other good choices (see Tools).

## Copyright

These text of these notes is released under the MIT License, an open source license which allows you to do pretty much what you want with this, but "copyright notice and this permission notice shall be included in all copies or substantial portions of the Software". In addition, all code examples are put in the public domain, so you can use them anywhere without a problem. I would appreciate credit, but that's really optional.

## Acknowledgments

Thanks to my Java classes at Assumption University, Faculty of Science and Technology, Thailand; Universidad San Francisco de Quito, Departamento de Multimedia, Ecuador; and University of Maryland University College, European Division. In addition, I'd like to thank others who have suggested improvements to these notes (see Acknowledgements).

Fred Swartz, www.fredswartz.com