Learning Path: Professional Java Developer

Video description

40+ hours of video instruction.


The professional programmer’s Deitel® video guide to Java™ SE 7 and SE 8 development with the powerful Java™ platform


Written for programmers with a background in high-level language programming, this LiveLesson applies the Deitel signature live-code approach to teaching programming and explores the Java™ language and Java™ APIs in depth. The LiveLesson presents concepts in the context of fully tested programs, not code fragments. The LiveLesson features hundreds of complete Java™ programs with thousands of lines of proven Java™ code, and hundreds of tips that will help you build robust applications.

The source code repository for this LiveLesson can be found at www.informit.com/title/9780133489347.

Paul J. Deitel, CEO and Chief Technical Officer of Deitel & Associates, Inc., is a graduate of MIT, where he studied Information Technology. He holds the Sun (now Oracle) Certified Java Programmer and Certified Java Developer certifications, and is an Oracle Java Champion. Through Deitel & Associates, Inc., he has delivered Java, C#, Visual Basic, C++, C and Internet programming courses to industry clients, including Cisco, IBM, Sun Micro systems, Dell, Siemens, Lucent Technologies, Fidelity, NASA at the Kennedy Space Center, the National Severe Storm Laboratory, White Sands Missile Range, Rogue Wave Software, Boeing, SunGard Higher Education, Stratus, Cambridge Technology Partners, One Wave, Hyperion Software, Adra Systems, Entergy, CableData Systems, Nortel Networks, Puma, iRobot, Invensys and many more. He and his co-author, Dr. Harvey M. Deitel, are the world’s best-selling programming-language textbook/professional book authors.

About Sneak Peek:

Sneak Peek videos are available to Safari Books Online subscribers offering early access to the very latest information on a given topic. Sneak Peek videos do not include post-production editing and may include further revisions before the video is complete.

Skill Level


What you Will Learn

Start with an introduction to Java™ using an early classes and objects approach, then rapidly move on to more advanced topics, including GUI, graphics, exception handling, lambdas, streams, functional interfaces, object serialization, concurrency, generics, generic collections, JDBC™ and more. You’ll enjoy Deitels’ classic treatment of object-oriented programming and the object-oriented design ATM case study, including a complete Java™ implementation. When you’re finished, you’ll have everything you need to build industrial-strength object-oriented Java™ SE 7 and SE 8 applications.

Practical, Example-Rich Coverage of:

  • Java™ SE 7 and SE 8
  • Lambdas, Streams, Functional Interfaces with Default and Static Methods
  • Classes, Objects, Encapsulation, Inheritance, Polymorphism, Interfaces
  • Swing and JavaFX GUIs; Graphics
  • Integrated Exception Handling
  • Files, Streams, Object Serialization
  • Multithreading and Concurrency for Optimal Multi-Core Performance
  • Generics and Generic Collections
  • Database (JDBC™, SQL and JavaDB)
  • Using the Debugger and the API Docs
  • Industrial-Strength, Object-Oriented Design ATM Case Study and more.

Who should take this course?

Programmers experienced in a high-level programming language and interested in building industrial-strength applications in Java

Course requirements

Familiarity with any high-level programming language, including C, C++, C#, JavaScript, etc.

Table of contents

  1. Part I
    1. Learning Path: Professional Java Developer Introduction to Part I
  2. Before You Begin: Setting Up Your Development Environment
    1. Overview
    2. Software Used
    3. Installing the JDK (Required)
    4. Installing Eclipse (Optional)
    5. Installing IntelliJ IDEA
    6. Downloading the Code Examples and Contacting Me for Help
  3. Dive Into NetBeans: Using NetBeans to Compile Exiting Programs and Create New Ones (Optional)
    1. Overview
    2. Getting NetBeans, opening the IDE and configuring tabs and line numbers
    3. Creating a project and adding existing code to the project
    4. Creating a new program
  4. Dive Into Eclipse: Using Eclipse to Compile Exiting Programs and Create New Ones (Optional)
    1. Overview
    2. Getting Eclipse, opening the IDE and configuring tabs and line numbers
    3. Creating a project and adding existing code to the project
    4. Creating a new program
  5. Dive Into IntelliJ IDEA: Using NetBeans to Compile Exiting Programs and Create New Ones (Optional)
    1. Overview
    2. Getting IntelliJ, opening the IDE and configuring tabs and line numbers
    3. Creating a project and adding existing code to the project
    4. Creating a new program
  6. Lesson 1: Test Driving a Java Program at the Command Line
    1. Introduction
    2. Test-Driving the command line
  7. Lesson 2: Introduction to Java Applications
    1. Introduction
    2. Text-printing program
    3. Printing a line of text with multiple statements
    4. Printing multiple lines of text with a single statement
    5. Displaying multiple lines with method System.out.printf
    6. Addition program and an Introduction to using the online Java documentation
    7. Compare integers using if statements, relational operators and equality operators
  8. Lesson 3: Introduction to Classes, Objects, Methods and Strings
    1. Introduction
    2. Primitive Types vs. Reference Types
    3. Account class that contains a name instance variable and methods to set and get its value
    4. Creating and manipulating an Account object
    5. Conceptual view of an Account object
    6. Account class with a constructor that initializes the name instance variable
    7. Using the Account constructor to initialize the name instance variable when each Account object is created
    8. Account class with a double instance variable balance and a constructor and deposit method that perform validation
    9. Inputting and outputting floating-point numbers with Account objects
  9. Lesson 4: Control Statements, Part 1
    1. Introduction
    2. Student Class: Nested if…else Statements
    3. Calculating a class average using the while statement and counter-controller repetition
    4. Calculating a class average using the while statement and sentinel-controller repetition
    5. Arithmetic assignment operators
    6. Prefix increment and postfix increment operators
  10. Lesson 5: Control Statements, Part 2
    1. Introduction
    2. Compound-interest calculations with for
    3. do…while repetition statement
    4. LetterGrades class that uses the switch statement to count letter grades
    5. Demonstrating Strings in switch—Class that represents an auto insurance policy
    6. break statement exiting a for statement
    7. continue statement terminating an iteration of a for statement
    8. Logical operators
  11. Lesson 6: Methods—A Deeper Look
    1. Introduction
    2. static Methods, static Fields and Class Math
    3. Programmer-declared method maximum with three double parameters
    4. Argument Promotion and Casting
    5. Java API Packages
    6. Shifted and scaled random integers
    7. Roll a six-sided die 6,000,000 times
    8. Craps class simulates the dice game craps
    9. Scope class demonstrates field and local-variable scopes
    10. Overloaded method declarations
  12. Lesson 7:Arrays
    1. Introduction
    2. Initializing the elements of an array to default values of zero
    3. Initializing the elements of an array with an array initializer
    4. Calculating the values to be placed into the elements of an array
    5. Computing the sum of the elements of an array
    6. Bar chart printing program
    7. Die-rolling program using arrays instead of switch
    8. Poll analysis program
    9. Card shuffling and dealing
    10. Using the enhanced for statement to total integers in an array
    11. Passing arrays and individual array elements to methods
    12. GradeBook class using an array to store test grades
    13. Initializing two-dimensional arrays
    14. GradeBook class using a two-dimensional array to store grades
    15. Using variable-length argument lists
    16. Initializing an array using command-line arguments
    17. Arrays class methods and System.arraycopy
    18. Generic ArrayList collection demonstration
    19. Part II
      1. Learning Path: Professional Java Developer: Introduction to Part II
    20. Lesson 8: Classes and Objects—A Deeper Look
      1. Introduction
      2. Time1 class declaration maintains the time in 24-hour format
      3. Private members of class Time1 are not accessible
      4. "this" used implicitly and explicitly to refer to members of an object
      5. Time2 class with overloaded constructors
      6. Composition demonstration with classes Date and Employee
      7. Declaring an enum type with a constructor and explicit instance fields and accessors for these fields
      8. Garbage Collection
      9. Declaring and using static variables and methods to maintain a count of the number of Employee objects in memory
      10. static import of Math class methods
      11. Package access members of a class are accessible by other classes in the same package
      12. Compound-interest calculations with BigDecimal
    21. Lesson 9: Object-Oriented Programming—Inheritance
      1. Introduction
      2. Inheritance hierarchy UML class diagrams
      3. Creating and using a CommissionEmployee class
      4. Creating and Using a BasePlusCommissionEmployee Class
      5. Creating a CommissionEmployee—BasePlusCommissionEmployee Inheritance Hierarchy
      6. CommissionEmployee—BasePlusCommissionEmployee Inheritance Hierarchy Using protected Instance Variables
      7. CommissionEmployee—BasePlusCommissionEmployee Inheritance Hierarchy Using private Instance Variables
      8. Class Object
    22. Lesson 10: Object-Oriented Programming—Polymorphism
      1. Introduction
      2. Demonstrating Polymorphic Behavior—Assigning superclass and subclass references to superclass and subclass variables
      3. Abstract Classes and Methods
      4. Case Study: Payroll System Using Polymorphism
      5. Abstract Superclass Employee
      6. Concrete Subclass SalariedEmployee
      7. Concrete Subclass HourlyEmployee
      8. Concrete Subclass CommissionEmployee
      9. Indirect Concrete Subclass BasePlusCommissionEmployee
      10. Polymorphic Processing, Operator instanceof and Downcasting
      11. final Methods and Classes
      12. Creating and Using Interfaces (Java SE 7 and earlier)
      13. Developing a Payable Hierarchy
      14. Class Invoice
      15. Modifying Class Employee to Implement Interface Payable
      16. Modifying Class SalariedEmployee for Use in the Payable Hierarchy
      17. Using Interface Payable to Process Invoices and Employees Polymorphically
      18. Java SE 8 Interface Enhancements overview
    23. Lesson 11: Exception Handling—A Deeper Look
      1. Introduction
      2. Integer division without exception handling
      3. Handling ArithmeticExceptions and InputMismatchExceptions
      4. Throwable hierarchy; Introduction to checked and unchecked exceptions
      5. try…catch…finally exception-handling mechanism
      6. Stack unwinding and obtaining data from an exception object
      7. Chained exceptions
      8. Declaring new exception types
      9. Checking with assert that a value is within range
      10. try-with-Resources: Automatic Resource Deallocation
    24. Lesson 12: GUI Components: Part 1
      1. Introduction
      2. Using Java's Nimbus Look-and-Feel
      3. Simple GUI-Based Input/Output with JOptionPane
      4. Common superclasses of the lightweight Swing components
      5. Displaying Text and Images in a Window
      6. Text Fields and an Introduction to Event Handling with the ActionListener interface Nested Classes
      7. Common GUI Event Types and Listener Interfaces
      8. How Event Handling Works
      9. JButton
      10. Buttons That Maintain State: JCheckBox and the ItemListener interface
      11. Buttons That Maintain State: JRadioButton and the ItemListener interface
      12. JComboBox and the ItemListener interface; Using an Anonymous Inner Class for Event Handling
      13. JList and the ListSelectionListener interface
      14. Multiple-Selection Lists
      15. Mouse Event Handling with the MousListener and MouseMotionListener interfaces
      16. Adapter Classes in Event Handling: Mouse Event Handling with the MouseAdapter class
      17. Custom JPanels
      18. Key Event Handling
      19. FlowLayout
      20. BorderLayout
      21. GridLayout
      22. Using Panels to Manage More Complex Layouts
      23. JTextArea and JScrollPane
    25. Lesson 13: Graphics and Java 2D
      1. Introduction
      2. Color control: Drawing rectangles and strings in various colors
      3. Choosing colors with JColorChooser
      4. Displaying strings in different fonts and colors
      5. FontMetrics and Graphics methods useful for obtaining font metrics
      6. Drawing lines, rectangles and ovals
      7. Drawing arcs with Graphics methods drawArc and fillArc
      8. Drawing polygons with Graphics methods drawPolygon and fillPolygon
      9. Demonstrating Java 2D shapes
      10. Java 2D general paths and rotating/translating Java 2D shapes
    26. Lesson 14: Strings, Characters and Regular Expressions
      1. Introduction
      2. String class constructors
      3. String methods length, charAt and getChars
      4. Comparing Strings: String methods equals, equalsIgnoreCase, compareTo and regionMatches
      5. Comparing Strings: String methods startsWith and endsWith
      6. String-searching methods indexOf and lastIndexOf
      7. Extracting substrings from Strings: String class substring methods
      8. String method concat
      9. String methods replace, toLowerCase, toUpperCase, trim and toCharArray
      10. String valueOf methods
      11. StringBuilder constructors
      12. StringBuilder length, setLength, capacity and ensureCapacity methods
      13. StringBuilder methods charAt, setCharAt, getChars and reverse
      14. StringBuilder append methods
      15. StringBuilder methods insert, delete and deleteCharAt
      16. Character static methods for testing characters and converting case
      17. Character class static conversion methods
      18. Character class instance methods
      19. StringTokenizer object used to tokenize strings
      20. Validating user input with regular expressions
      21. String methods replaceFirst, replaceAll and split
      22. Classes Pattern and Matcher
    27. Lesson 15: Files, Streams and Object Serialization
      1. Introduction
      2. Obtaining file and directory information
      3. Writing data to a sequential text file with class Formatter
      4. Reading from a sequential text file using a Scanner
      5. Credit-inquiry program
      6. Creating a Sequential-Access File Using Object Serialization
      7. Reading and Deserializing Data from a Sequential-Access File
      8. Opening Files with JFileChooser
    28. Part III
      1. Learning Path: Professional Java Developer Introduction to Part III
    29. Lesson 16: Generic Collections
      1. Introduction
      2. Manipulating lists with List, ArrayList, Collection and Iterator
      3. Manipulating lists with List, LinkedList and ListIterator
      4. Viewing arrays as Lists and converting Lists to arrays
      5. Collections method sort
      6. Collections method sort with a Comparator object
      7. Collections method sort with a custom Comparator object
      8. Card shuffling and dealing with Collections method shuffle
      9. Collections methods reverse, fill, copy, max and min
      10. Collections method binarySearch
      11. Collections methods addAll, frequency and disjoint
      12. HashSet used to remove duplicate values from an array of strings
      13. Using SortedSets and TreeSets
      14. Using a Map to count the number of occurrences of each word in a String
    30. Lesson 17: Java SE 8 Lambdas and Streams
      1. Introduction
      2. Functional Programming
      3. Functional Interfaces
      4. Lambda Expressions
      5. Streams
      6. IntStream Operations: Creating an IntStream and Displaying Its Values with the forEach Terminal Operation
      7. IntStream Operations: Terminal Operations count, min, max, sum and average
      8. IntStream Operations: Terminal Operation reduce
      9. IntStream Intermediate Operations: Filtering and Sorting IntStream Values
      10. IntStream Intermediate Operation: Mapping
      11. IntStream Operations: Creating Streams of ints with IntStream Methods range and rangeClosed
      12. Stream Manipulations
        1. Stream Manipulations
          1. Stream Manipulations: Creating and Displaying a List

Product information

  • Title: Learning Path: Professional Java Developer
  • Author(s): Paul J. Deitel
  • Release date: July 2016
  • Publisher(s): Pearson
  • ISBN: 0134662040