目录

  • 1 Introduction
    • 1.1 Introduction
    • 1.2 Machine Lang, Assembly lang and High-level lang
    • 1.3 History of Java
    • 1.4 Characteristics of Java
    • 1.5 Typical Java Development Environment
    • 1.6 Introduction to Java Application
  • 2 Classes and Objects
    • 2.1 Primitive Types vs. Reference Types
    • 2.2 Classes and Objects
      • 2.2.1 Declaring a Class
      • 2.2.2 Local and Instance Variables
      • 2.2.3 Methods: A Deeper Look
      • 2.2.4 Constructors
  • 3 Control Statements
    • 3.1 Control Structures
    • 3.2 if Selection
    • 3.3 while Repetition
    • 3.4 for Repetition
    • 3.5 do…while repetition
    • 3.6 switch multiple-selection
  • 4 Arrays and Collections
    • 4.1 Arrays
    • 4.2 ArrayList
    • 4.3 Set
    • 4.4 Generic Programming
  • 5 Object-Oriented Programming: Inheritance
    • 5.1 Inheritance
    • 5.2 Superclasses and Subclasses
    • 5.3 Constructors in Subclasses
  • 6 Object-Oriented Programming: Polymorphism
    • 6.1 Polymorphism
    • 6.2 Polymorphic Behavior
    • 6.3 Enable and Disable Polymorphism
  • 7 Exception Handling
    • 7.1 Exceptions
    • 7.2 Error-Handling
  • 8 Java I/O
    • 8.1 Java I/O Streams
    • 8.2 Decorator Design Pattern
  • 9 GUI Components
    • 9.1 AWT and SWING
    • 9.2 Event Model
  • 10 Multithreading
    • 10.1 Life Cycle of a Thread
    • 10.2 Thread Synchronization
    • 10.3 Producer/Consumer
Machine Lang, Assembly lang and High-level lang


Programmers write instructions in various programming languages, some directly understandable by computers and others requiring intermediate translation steps. 

Three general language types:

§Machine languages

§Assembly languages

§High-level languages


Machine Languages

}Any computer can directly understand onlyits own machine language

  §This is the computer’s “natural language,” defined by its hard-ware de-sign. 

  §Generally consist of strings of numbers (ultimately reduced to 1s and 0s) that instruct computers to perform their most elementary operations one at a time. 

  §Machine dependent—a particular machine language can beused on only one type of computer.

Assembly Languages

}Englishlike abbreviations that represent elementary operations formed the basis of assembly languages.

}Translator programs called assemblers convert assembly-language programs to machine language.

High-Level Languages 

}High-level languages

  §Single statements accomplish substantial tasks.

  §Compilers convert high-level language programs into machine language

  §Allow you to write instructions that look almost like everyday English and contain commonly used mathematical notations. 

}C, C++, Microsoft’s .NET languages (e.g.,Visual Basic, Visual C++ and C#) are among the most widely used high-levelprogramming languages; Java is by far the most widely used. 

}Compiling a high-level language programinto machine language can take a considerable amount of computer time.

}Interpreter programs execute high-level language programs directly, although slower than compiled programs run.

}Java uses a clever mixture of compilation and interpretation to run programs.