CS0401 COE0401 Intermediate Java Programming

Final Exam Review Sheet

Summer 2007

The final covers the following topics:

· Chapter 2: Data and Expressions

o Character Strings: be able to print strings using print and println, use escape sequences correctly, and understand string concatenation.

o Variables and Assignment: declare and initialize variables and constants.

o Primitive Data Types: understand and use the different primitive data types(byte, short, int, long, double, float, char, boolean), understand the differences between them,

o Expressions: write and evaluate arithmetic expressions, understand operator precedence, increment and decrement (postfix and prefix), assignment operators.

o Data Conversion: understand and use promotion and casting.

o Interactive Programs: use the Scanner class to input data from the user.

o Applets: write and use applets properly

o Drawing Shapes: draw lines and shapes using Graphics object

· Chapter 3: Using Classes and Objects

o Creating Objects: understand how to create objects, assign them, invoke methods on them and re-assign references.

o The String Class: understanding and using strings and String methods

o Packages: use import statement when needed, understand and use the Math class methods, and generate random numbers

o Formatting Output: use the DecimalFormat and NumberFormat class properly

o Wrapper Classes: use Wrapper classes to parse strings.

o Components and Containers: use JPanels and JLabels properly

o Images: Use JLabels and ImageIcons to display images.

· Chapter 4: Writing classes

o Anatomy of a Class: understand the concept of a class, define its instance variables, constructor and methods.

o Anatomy of a Method: understand class methods, be able to write methods.

o Encapsulation: understand visibility modifiers, write accessors and mutators, write the toString method.

o Graphical Objects: write JPanel classes.

o Graphical User Interfaces: understand and use events and listeners

o Buttons and Text Fields: create and add buttons and text fields to components, create and attach listeners to them.

· Chapter 5: Conditionals and Loops

o The if Statement and Conditions: use if statements, understand and use boolean expressions and logical operators.

o Other Conditional Statements: understand and use if-else statements, the conditional operator, nested if-else statements and switch statements.

o Comparing Data: be able to compare primitive data types, objects and strings properly.

o The while Statement: understand and use while loops, nested loops. Recognize infinite loops

o Iterators: use the Scanner class to read files and divide sentences into words.

o Other Repetition Statements: understand and use for loops and do-while loops.

o Decisions and Graphics: be able to determine event sources using getSource method

o More Components: understand and use Dialog boxes.

· Chapter 6: Object-Oriented Design

o Identifying Classes and Objects

o Static Variables and Methods: understand and use static variables and static methods. Differentiate between static members and non-static members.

o Class Relationships: understand and use dependencies and aggregation relationships to communicate between classes. Understand and use the “this” reference.

o Interfaces: understand the concept of interfaces and be able to implement them in classes.

o Method Design: be able to decompose methods into smaller easier to manage methods. Understand the difference between passing by value (primitive data type variables) and passing by reference (objects). Use method overloading and constructor overloading correctly when needed.

o GUI Design and Layout: understand and use FlowLayout, BorderLayout, GridLayout and BoxLayout.

· Chapter 7: Arrays

o Declaring and Using Arrays: understand the concept and structure of an array, declare an array, use its elements, access its contents, check its bounds using the length variable, understand ArrayIndexOutOfBoundsException, understand and use initializer lists, and pass arrays as parameters to methods

o Arrays of Objects: understand and use arrays of objects, understand and use command-line arguments.

o Variable Length Parameter Lists: understand and use Variable Length Parameter Lists

o Two-Dimensional Arrays: understand and use two-dimensional arrays.

o The ArrayList Class: understand and use the ArrayList class to define a list of Objects of the class Object or of a certain class.

o Mouse Events and Key Events: understand and listen to MouseEvents and KeyEvents

· Chapter 8: Inheritance

o Creating Subclasses: understand the concept of inheritance, create subclasses, understand and use the protected modifier, the super reference.

o Overriding Methods: understand and use the concept of overriding methods, differentiate between overriding and overloading methods.

o Class Hierarchies: understand the concept of class hierarchies, the position and importance of the Object class, and define abstract classes.

o Inheritance and Visibility: understand the visibility of superclass members in subclasses.

o Designing for Inheritance: understand the final modifier.

o Inheritance and GUIs: understand and use event adapter classes.

o The Timer Class: understand and use the timer class.

· Chapter 9: Polymorphism

o Polymorphic References: understand the concept of Binding and Polymorphism

o Polymorphism via Inheritance: understand and use polymorphism via inheritance.

o Polymorphism via Interfaces: understand and use polymorphism via interfaces.

o Sorting: understand and demonstrate the use of Selection Sort and Insertion Sort.

o Searching: understand and demonstrate the use of Linear Search and Binary Search.

o File Choosers and Color Choosers: understand and use File Choosers and Color Choosers

· Chapter 10: Exceptions

o Exception Handling: understand and handle exceptions.

o The try-catch Statement: understand and use the try-catch-finally statement, understand Exception Propagation.

o Exception Classes: understand checked and unchecked exceptions, the throw statement, be able to create your own exception and throw it.

o I/O Exceptions: understand and handle I/O exceptions when reading and writing a file.

· Chapter 11: Recursion

o Recursive Thinking: understand recursive definitions, be able to exercise recursive thinking and understand and recognize infinite recursions.

o Recursive Programming: understand and use recursive programming, be able to write recursive methods.

o Using Recursion: understand the Maze problem and the Towers of Hanoi problem.

· Chapter 12: Collections

o understand the concept of stacks and queues.

You should be able to write, compile and run programs correctly.

Good Luck!!