4. Nuts and Bolts of the Java Programming Language
The purpose of this chapter is to get acquainted with more elements of 
the Java  language such as data types, flow of control, 
accessibility of objects and classes, packages, and so on. 
We shall not discuss all possible topics, but we shall concentrate on 
two major issues:
 
- Fundamental Programming Structures
 
- Encapsulation and Packages
 
If you have a background in programming in C, the first part of
this chapter will be a short refresher course. Only a few new things 
will show up. Occasionally we shall discuss differences between 
Java and the C language for the interested reader. 
In any case, it is expected that you have some 
knowledge about fundamental programming structures like condition and 
repetition. The second part of this chapter is meant for dotting one's i's and
crossing one's t's in object-oriented programming in Java.