Java, Java, Java
Free

Java, Java, Java

By Ralph Morelli and Ralph Walde
Free
The publisher has enabled DRM protection, which means that you need to use the BookFusion iOS, Android or Web app to read this eBook. This eBook cannot be used outside of the BookFusion platform.
Book Description
Table of Contents
  • 0 Computers, Objects, and Java
    • 0.1 Welcome
    • 0.2 What Is a Computer?
    • 0.3 Networks, the Internet and the World Wide Web
    • 0.4 Why Study Programming?
    • 0.5 Programming Languages
    • 0.6 Why Java?
    • 0.7 What Is Object-Oriented Programming?
  • 1 Java Program Design and Development
    • 1.1 Introduction
    • 1.2 Designing Good Programs
    • 1.3 Designing a Riddle Program
    • 1.4 Java Language Elements
    • 1.5 Editing, Compiling, and Running a Java Program
    • 1.6 From the Java Library: System and PrintStream
  • 2 Objects: Using, Creating, and Defining
    • 2.1 Introduction
    • 2.2 Using String Objects
    • 2.3 Drawing Shapes with a Graphics Object (Optional)
    • 2.4 Class Definition
    • 2.5 CASE STUDY: Simulating a Two-Person Game
    • 2.6 From the Java Library: java.util.Scanner.
  • 3 Methods: Communicating with Objects
    • 3.1 Introduction
    • 3.2 Passing Information to an Object
    • 3.3 Constructor Methods
    • 3.4 Retrieving Information from an Object
    • 3.5 Passing a Value and Passing a Reference
    • 3.6 Flow of Control: Control Structures
    • 3.7 Testing an Improved OneRowNim
    • 3.8 From the Java Library java.lang.Object
    • 3.9 Object-Oriented Design: Inheritance and Polymorphism
    • 3.10 Drawing Lines and Defining Graphical Methods (Optional)
  • 4 Input/Output: Designing the User Interface
    • 4.1 Introduction
    • 4.2 The User Interface
    • 4.3 A Command-Line Interface
    • 4.4 A Graphical User Interface (GUI)
    • 4.5 Case Study: The One Row Nim Game
    • 4.6 From the Java Library: java.io.File and File Input (Optional)
  • 5 Java Data and Operators
    • 5.1 Introduction
    • 5.2 Boolean Data and Operators
    • 5.3 Numeric Data and Operators
    • 5.4 From the Java Library java.lang.Math
    • 5.5 Numeric Processing Examples
    • 5.6 From the Java Library java.text.NumberFormat
    • 5.7 Character Data and Operators
    • 5.8 Example: Character Conversions
    • 5.9 Problem Solving = Representation + Action
  • 6 Control Structures
    • 6.1 Introduction
    • 6.2 Flow of Control: Repetition Structures
    • 6.3 Counting Loops
    • 6.4 Example: Car Loan
    • 6.5 Graphics Example: Drawing a Checkerboard
    • 6.6 Conditional Loops
    • 6.7 Example: Computing Averages
    • 6.8 Example: Data Validation
    • 6.9 Principles of Loop Design
    • 6.10 The switch Multiway Selection Structure
    • 6.11 OBJECT-ORIENTED DESIGN: Structured Programming
  • 7 Strings and String Processing
    • 7.1 Introduction
    • 7.2 String Basics
    • 7.3 Finding Things Within a String
    • 7.4 Example: Keyword Search
    • 7.5 From the Java Library: java.lang.StringBuffer
    • 7.6 Retrieving Parts of Strings
    • 7.7 Example: Processing Names and Passwords
    • 7.8 Processing Each Character in a String
    • 7.9 Comparing Strings
    • 7.10 From the Java Library: java.util.StringTokenizer
    • 7.11 Handling Text in a Graphics Context (Optional)
  • 8 Inheritance and Polymorphism
    • 8.1 Introduction
    • 8.2 Java's Inheritance Mechanism
    • 8.3 Abstract Classes, Interfaces, and Polymorphism
    • 8.4 Example: A Toggle Button
    • 8.5 Example: The Cipher Class Hierarchy
    • 8.6 Case Study: A Two Player Game Hierarchy
    • 8.7 Principles Of Object-Oriented Design
  • 9 Arrays and Array Processing
    • 9.1 Introduction
    • 9.2 One-Dimensional Arrays
    • 9.3 Simple Array Examples
    • 9.4 Example: Counting Frequencies of Letters
    • 9.5 Array Algorithms: Sorting
    • 9.6 Array Algorithms: Searching
    • 9.7 Two-Dimensional Arrays
    • 9.8 Multidimensional Arrays (Optional)
    • 9.9 OBJECT-ORIENTED DESIGN: [2pt]Polymorphic Sorting (Optional)
    • 9.10 From the Java Library: java.util.Vector
    • 9.11 Case Study: An N-Player Computer Game
    • 9.12 A GUI-Based Game (Optional Graphics)
  • 10 Exceptions: When Things Go Wrong
    • 10.1 Introduction
    • 10.2 Handling Exceptional Conditions
    • 10.3 Java's Exception Hierarchy
    • 10.4 Handling Exceptions Within a Program
    • 10.5 Error Handling and Robust Program Design
    • 10.6 Creating and Throwing Your Own Exceptions
    • 10.7 From the Java Library: JOptionPane
  • 11 Files and Streams: Input/Output Techniques
    • 11.1 Introduction
    • 11.2 Streams and Files
    • 11.3 CASE STUDY: Reading and Writing Text Files
    • 11.4 The File Class
    • 11.5 Example: Reading and Writing Binary Files
    • 11.6 Object Serialization: Reading and Writing Objects
    • 11.7 From the Java Library javax.swing.JFileChooser
    • 11.8 Using File Data in Programs
  • 12 Recursive Problem Solving
    • 12.1 Introduction
    • 12.2 Recursive Definition
    • 12.3 Recursive String Methods
    • 12.4 Recursive Array Processing
    • 12.5 Example: Drawing (Recursive) Fractals
    • 12.6 OBJECT-ORIENTED DESIGN: Tail Recursion
    • 12.7 OBJECT-ORIENTED DESIGN: Recursion or Iteration?
    • 12.8 From the Java Library: javax.swing.JComboBox
  • 13 Graphical User Interfaces
    • 13.1 Introduction
    • 13.2 Java GUIs: From AWT to Swing
    • 13.3 The Swing Component Set
    • 13.4 OBJECT-ORIENTED DESIGN: Model-View-Controller Architecture
    • 13.5 The Java Event Model
    • 13.6 CASE STUDY: Designing a Basic GUI
    • 13.7 Containers and Layout Managers
    • 13.8 Checkboxes, Radio Buttons, and Borders
    • 13.9 Menus and Scroll Panes
  • 14 Threads and Concurrent Programming
    • 14.1 Introduction
    • 14.2 What Is a Thread?
    • 14.3 From the Java Library: java.lang.Thread
    • 14.4 Thread States and Life Cycle
    • 14.5 Using Threads to Improve Interface Responsiveness
    • 14.6 CASE STUDY: Cooperating Threads
    • 14.7 CASE STUDY: The Game of Pong
  • 15 Sockets and Networking
    • 15.1 Introduction
    • 15.2 An Overview of Networks
    • 15.3 Using Multimedia Network Resources for a Graphical Program
    • 15.4 From the Java Library: java.net.URL
    • 15.5 The Slide Show Program
    • 15.6 Adding Text Network Resources for an Application
    • 15.7 Client/Server Communication via Sockets
    • 15.8 CASE STUDY: Generic Client/Server Classes
    • 15.9 Playing One Row Nim Over the Network
    • 15.10 Java Network Security Restrictions
    • 15.11 Java Servlets and Java Server Pages
  • 16 Data Structures: Lists, Stacks, and Queues
    • 16.1 Introduction
    • 16.2 The Linked List Data Structure
    • 16.3 OBJECT-ORIENTED DESIGN: The List Abstract Data Type (ADT)
    • 16.4 The Stack ADT
    • 16.5 The Queue ADT
    • 16.6 From the Java Library: The Java Collections Framework and Generic Types
    • 16.7 Using the Set and Map Interfaces
    • 16.8 The Binary Search Tree Data Structure
  • A Coding Conventions
  • B The Java Development Kit
  • C The ASCII and Unicode Character Sets
  • D Java Keywords
  • E Operator Precedence Hierarchy
  • F Java Inner Classes
  • G Java Autoboxing and Enumeration
  • H Java and UML Resources
    You May Also Like