O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

OCA Java SE 8 Programmer I (1Z0-808)

Video Description

Upcoming Live Online Training Event

Join Simon Roberts for ​a live training session on Functional Design for Java 8
https://www.safaribooksonline.com/live-training/courses/functional-design-for-java-8/0636920107095/

Description

More than 18 hours of video training covering all the objectives in the Java SE 8 Programmer I.

Learn everything needed to pass the new Java SE 8 Programmer exam. OCA, Java SE 8 Programmer I (1Z0-808) Complete Video Course is a comprehensive training course designed to help you master the Java SE 8 Programmer I exam. The course brings the Java SE 8 Programmer I exam topics to life through the use of real-world live instruction, whiteboard teaching, and demonstrations so these foundational Java programming topics are easy and fun to learn. Simon Roberts a leading Java instructor, trainer, book author, video trainer, and creator of the original Sun Certified Programmer, Developer, and Architect certifications for Sun Microsystems will walk you through each topic covered in the exam, so you have a full understanding of the material. He begins with an introduction to the Oracle Certification program and also discusses preparation and test-taking strategies, so you can begin your training confidently. Simon then dives into the exam topics, covering all objectives in the exam using a variety of video presentation styles, including live whiteboarding, code demonstrations, and dynamic KeyNote presentations.

About the Instructor

Simon Roberts started his computing career as a programmer in the early 1980s and built several of his own microprocessor-based computers. He moved to Sun Microsystems, Inc. in mid-1995 and almost immediately became the lead Java instructor in the U.K. In 1998, Simon moved to Colorado, where he still lives. While at Sun, he created the Sun Certified Programmer, Developer, and Architect certifications, and worked in teams on several other certifications and subsequent revisions to those exams. He wrote three books on Java, including two certification study guides, one covering the Programmer and Developer exams, and one on the Architect exam. He left Sun in 2004 and became an independent instructor, architect, and software engineer.

Skill Level
Beginner to Intermediate

Who Should Take This Course
The primary audience includes candidates for the Java SE 8 Programmer I Exam; however, anyone interested in building a basic competence in the Java programming language will benefit from using this course.

Course Requirements
The audience should have a basic knowledge of Java or another object-oriented programming language in the syntactic traditions of C/C++. For example, a candidate with a good knowledge of C# should benefit from this material, even if one does not have prior experience in Java.

About LiveLessons Videos
The LiveLessons Video Training series publishes hundreds of hands-on, expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. This professional and personal technology video series features world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include: IT Certification, Programming, Web Development, Mobile Development, Home & Office Technologies, Business & Management, and more. View All LiveLessons http://www.informit.com/livelessons.

Table of Contents

  1. Introduction
    1. OCA Java SE 8 Programmer I (1Z0-808): Introduction 00:08:13
  2. Module 1 Before You Begin
    1. Module Intro 00:00:27
  3. Lesson 1: Why would I take the Oracle Certified Associate Java Programmer Exam
    1. Learning Objectives 00:00:15
    2. 1.1 Why would I take the Oracle Certified Associate Java Programmer Exam 00:05:10
  4. Lesson 2: The path to certification
    1. Learning Objectives 00:00:28
    2. 2.1 The path to certification 00:02:36
  5. Lesson 3: Preparation strategies
    1. Learning Objectives 00:00:25
    2. 3.1 Preparation strategies 00:07:06
  6. Lesson 4: Test Taking Strategies
    1. Learning Objectives 00:00:56
    2. 4.1 How to take exam questions 00:08:00
    3. 4.2 Prepare for exam questions, confidence, and other resources 00:07:31
  7. Module 2 Java Basics
    1. Module Intro 00:00:53
  8. Lesson 1: Define the scope of variables
    1. Learning Objectives 00:00:21
    2. 1.1 The meaning of scope, blocks, and curly braces 00:06:46
    3. 1.2 Special cases of scope 00:06:25
  9. Lesson 2: Define the structure of a Java class
    1. Learning Objectives 00:00:43
    2. 2.1 Java class files: Contents and naming rules 00:13:27
    3. 2.2 Java classes: The class, member variables, methods and constructors 00:08:22
  10. Lesson 3: Create executable Java applications with a main method; run a Java program from the command line; including console output
    1. Learning Objectives 00:01:30
    2. 3.1 Create executable Java applications with a main method 00:06:58
    3. 3.2 Running Java from the command line 00:06:44
    4. 3.3 Managing the classpath 00:09:00
    5. 3.4 Working with console output 00:09:13
  11. Lesson 4: Import other Java packages to make them accessible in your code
    1. Learning Objectives 00:01:32
    2. 4.1 About packages and their purpose 00:07:11
    3. 4.2 Statement order, wildcard imports, importing sub-packages, and handling duplicate class names 00:18:32
  12. Lesson 5: Compare and contrast the features and components of Java such as: platform independence, object orientation, encapsulation, etc.
    1. Learning Objectives 00:01:15
    2. 5.1 Understanding Java's execution model 00:06:44
    3. 5.2 Understanding the value of threading and garbage collection 00:08:58
    4. 5.3 Understanding the value of object orientation and encapsulation 00:10:47
  13. Module 3 Working with Java Data Types
    1. Module Intro 00:01:08
  14. Lesson 1: Declare and initialize variables (including casting of primitive data types)
    1. Learning Objectives 00:01:23
    2. 1.1 Using the general form of simple declarations 00:05:26
    3. 1.2 Using the general form of initialized declarations 00:03:24
    4. 1.3 Understanding integer primitive types, literal forms 00:07:29
    5. 1.4 Understanding floating point primitive types, literal forms 00:06:35
    6. 1.5 Understanding logical and character primitive types, literal forms 00:07:22
    7. 1.6 Casting primitive types 00:05:25
  15. Lesson 2: Differentiate between object reference variables and primitive variables
    1. Learning Objectives 00:01:29
    2. 2.1 Using the == operator with primitives and references 00:11:07
    3. 2.2 Understanding method argument passing 00:06:19
  16. Lesson 3: Know how to read or write to object fields
    1. Learning Objectives 00:01:18
    2. 3.1 Selecting a field from a reference expression 00:10:58
    3. 3.2 Using "this" to access fields 00:10:44
    4. 3.3 Code examples 00:07:26
  17. Lesson 4: Explain an Object's Lifecycle (creation, "dereference by reassignment" and garbage collection)
    1. Learning Objectives 00:01:08
    2. 4.1 Understanding allocation and referencing 00:06:01
    3. 4.2 Collecting garbage 00:11:38
  18. Lesson 5: Develop code that uses wrapper classes such as Boolean, Double, and Integer
    1. Learning Objectives 00:00:35
    2. 5.1 Understanding and identifying wrapper objects, understanding autoboxing 00:06:11
    3. 5.2 Investigating the API of Integer 00:04:36
  19. Module 4 Using Operators and Decision Constructs
    1. Module Intro 00:00:59
  20. Lesson 1: Use Java operators; including parentheses to override operator precedence
    1. Learning Objectives 00:01:54
    2. 1.1 Using operators, operands, and expressions 00:03:59
    3. 1.2 Using arithmetic operators + - * / % 00:06:20
    4. 1.3 Using the plus operator with Strings 00:05:02
    5. 1.4 Promoting operands 00:05:05
    6. 1.5 Using increment and decrement operators 00:10:46
    7. 1.6 Using shift operators 00:10:10
    8. 1.7 Using comparison operators 00:04:42
    9. 1.8 Using logical operators 00:06:33
    10. 1.9 Using short-circuit operators 00:05:43
    11. 1.10 Using assignment operators 00:09:43
    12. 1.11 Understanding assignment compatibility 00:07:06
    13. 1.12 Understanding other elements of expressions 00:07:38
    14. 1.13 Using parentheses and operator precedence 00:08:04
  21. Lesson 2: Test equality between Strings and other objects using == and equals ()
    1. Learning Objectives 00:00:52
    2. 2.1 Understanding the meaning of == and the intended meaning of equals () 00:07:33
    3. 2.2 Determining if equals() is implemented, and implementing equals() 00:10:04
  22. Lesson 3: Create if and if/else and ternary constructs
    1. Learning Objectives 00:00:49
    2. 3.1 Understanding the basic form of if and if/else 00:03:01
    3. 3.2 Using braces with if/else. Effect of "else if" 00:08:12
    4. 3.3 Understanding the if / else if / else structure 00:05:40
    5. 3.4 Using the ternary operator 00:07:38
  23. Lesson 4: Use a switch statement
    1. Learning Objectives 00:01:01
    2. 4.1 Using the general form of switch, case, break, and default 00:04:40
    3. 4.2 Code examples for the general form of switch 00:04:59
    4. 4.3 Understanding break 00:03:48
    5. 4.4 Identifying switchable types 00:03:03
  24. Module 5 Creating and Using Arrays
    1. Module Intro 00:00:47
  25. Lesson 1: Declare, instantiate, initialize and use a one-dimensional array
    1. Learning Objectives 00:00:31
    2. 1.1 Understanding simple array declarations, and variables of array type 00:03:19
    3. 1.2 Instantiating an array, array length 00:04:44
    4. 1.3 Initalizing arrays by iteration, array indexes 00:04:47
    5. 1.4 Using a combined declaration and intialization of arrays 00:03:46
    6. 1.5 Using immediate array creation not in a declaration 00:04:28
    7. 1.6 Initializing arrays by copying 00:06:41
  26. Lesson 2: Declare, instantiate, initialize and use multi-dimensional array
    1. Learning Objectives 00:01:15
    2. 2.1 Declaring multi-dimensional arrays 00:02:59
    3. 2.2 Using immediate initialization of multi-dimensional arrays 00:06:02
    4. 2.3 Using iterative initialization of multi-dimensional arrays 00:08:33
    5. 2.4 Code examples for multi-dimensional arrays 00:08:52
  27. Module 6 Using Loop Constructs
    1. Module Intro 00:01:21
  28. Lesson 1: Create and use while loops
    1. Learning Objectives 00:00:29
    2. 1.1 Creating and using while loops 00:03:50
    3. 1.2 Code examples of the while loop 00:04:51
  29. Lesson 2: Create and use for loops including the enhanced for loop
    1. Learning Objectives 00:01:09
    2. 2.1 Understanding the simple use of the for loop 00:05:46
    3. 2.2 Understanding the initialization section of the for loop 00:09:20
    4. 2.3 Understanding the test section of the for loop 00:01:30
    5. 2.4 Understanding the increment section of the for loop 00:03:08
    6. 2.5 Omitting sections of a for loop 00:03:21
    7. 2.6 Code examples for basic for loops 00:08:23
    8. 2.7 Understanding the simple use of the enhanced for loop 00:05:19
    9. 2.8 Identifying the valid targets of the enhanced for loop 00:03:11
    10. 2.9 Using the enhanced for loop with generic collections 00:03:05
    11. 2.10 Code examples for enhanced for loops 00:04:46
  30. Lesson 3: Create and use do/while loops
    1. Learning Objectives 00:00:29
    2. 3.1 Creating and using do/while loops 00:02:48
  31. Lesson 4: Compare loop constructs
    1. Learning Objectives 00:00:31
    2. 4.1 Comparing while and do while loops 00:01:07
    3. 4.2 Comparing while and simple for loops 00:02:48
    4. 4.3 Comparing while and enhanced for loops working on Iterables 00:03:51
    5. 4.4 Comparing while and enhanced for loops working on arrays 00:03:39
  32. Lesson 5: Use break and continue
    1. Learning Objectives 00:01:03
    2. 5.1 Using break from a single loop 00:06:47
    3. 5.2 Using continue in a single loop 00:07:18
    4. 5.3 Using a labeled break from multiple loops 00:06:10
    5. 5.4 Using a labeled continue from multiple loops 00:03:05
  33. Module 7 Working with Methods and Encapsulation
    1. Module Intro 00:00:57
  34. Lesson 1: Create methods with arguments and return values; including overloaded methods
    1. Learning Objectives 00:01:03
    2. 1.1 Creating Methods 00:11:34
    3. 1.2 Code example for simple methods 00:07:24
    4. 1.3 Understanding basic syntax of overloaded methods 00:04:44
    5. 1.4 Understanding rules and guidance for using overloaded methods 00:05:40
    6. 1.5 Code example for overloaded methods 00:04:08
    7. 1.6 Investigating variable length argument lists 00:06:02
  35. Lesson 2: Apply the static keyword to methods and fields
    1. Learning Objectives 00:00:46
    2. 2.1 Comparing class fields and object fields 00:03:37
    3. 2.2 Using static on methods 00:08:45
    4. 2.3 Code example 00:11:53
  36. Lesson 3: Create and overload constructors; including impact on default constructors
    1. Learning Objectives 00:00:56
    2. 3.1 Creating and overloading constructors 00:06:09
    3. 3.2 Differentiating between default and user defined constructors 00:05:14
  37. Lesson 4: Apply access modifiers
    1. Learning Objectives 00:00:38
    2. 4.1 Using the access modifiers public and private 00:03:17
    3. 4.2 Using default access and the protected modifier 00:03:19
  38. Lesson 5: Apply encapsulation principles to a class
    1. Learning Objectives 00:01:05
    2. 5.1 Designing for encapsulation 00:05:37
    3. 5.2 Implementing encapsulation 00:11:48
  39. Lesson 6: Determine the effect upon object references and primitive values when they are passed into methods that change the values
    1. Learning Objectives 00:00:36
    2. 6.1 Changing values through method local variables 00:07:57
    3. 6.2 Changing the value of method local variables 00:04:50
    4. 6.3 Code example 00:03:44
  40. Module 8 Working with Inheritance
    1. Module Intro 00:01:08
  41. Lesson 1: Describe inheritance and its benefits
    1. Learning Objectives 00:01:10
    2. 1.1 Understanding interface and implementation inheritance 00:05:40
    3. 1.2 Basic coding of implementation inheritance 00:09:34
    4. 1.3 Changing inherited behavior 00:06:30
    5. 1.4 Code examples 00:05:55
    6. 1.5 Philosophy and terminology of inheritance (part 1) 00:09:00
    7. 1.6 Philosophy and terminology of inheritance (part 2) 00:08:14
  42. Lesson 2: Develop code that demonstrates the use of polymorphism
    1. Learning Objectives 00:00:39
    2. 2.1 Understanding the concepts of polymorphism 00:08:35
    3. 2.2 Code example 00:06:20
    4. 2.3 Understanding the core terminology of polymorphism 00:04:56
    5. 2.4 Understanding variable type and object type 00:03:56
    6. 2.5 Determining object type 00:03:03
    7. 2.6 Code examples 00:07:25
  43. Lesson 3: Determine when casting is necessary
    1. Learning Objectives 00:00:43
    2. 3.1 Understanding the Liskov substitution principle and the "is a" relationship 00:05:45
    3. 3.2 Recognizing impossible assignments 00:02:29
    4. 3.3 Understanding casting with interface types in assignments 00:06:16
  44. Lesson 4: Use super and this to access objects and constructors
    1. Learning Objectives 00:00:52
    2. 4.1 Understanding "this" for accessing object features 00:05:08
    3. 4.2 Understanding "super" for accessing parent features 00:07:48
    4. 4.3 Understanding "this()" for accessing overloaded constructors 00:05:43
    5. 4.4 Understanding "super()" for accessing parent constructors 00:09:00
    6. 4.5 Understanding the underlying principles of "this" and "super" for invoking other constructors 00:08:28
    7. 4.6 Code examples 00:15:15
  45. Lesson 5: Use abstract classes and interfaces
    1. Learning Objectives 00:01:34
    2. 5.1 Preventing instantiation 00:06:20
    3. 5.2 Marking behaviors abstract 00:09:33
    4. 5.3 Understanding the rules about abstract classes and methods 00:04:16
    5. 5.4 Understanding and defining interfaces 00:06:09
    6. 5.5 Implementing and using interfaces 00:07:09
    7. 5.6 Code example for interfaces 00:13:22
    8. 5.7 Understanding the rules about interfaces 00:03:19
    9. 5.8 Understanding static and default methods 00:07:55
  46. Module 9 Handling Exceptions
    1. Module Intro 00:00:40
  47. Lesson 1: Differentiate among checked exceptions, RuntimeExceptions and Errors
    1. Learning Objectives 00:00:32
    2. 1.1 Understanding exception types 00:08:52
  48. Lesson 2: Create a try-catch block and determine how exceptions alter normal program flow
    1. Learning Objectives 00:00:28
    2. 2.1 Coding try and catch 00:04:34
    3. 2.2 Passing an exception to our caller 00:08:00
    4. 2.3 Using finally to clean up resources 00:09:23
    5. 2.4 Using the try with resources mechanism 00:11:21
    6. 2.5 Code example for try / catch / finally 00:12:02
    7. 2.6 Code example for try with resources 00:07:16
  49. Lesson 3: Describe the advantages of Exception handling
    1. Learning Objectives 00:00:24
    2. 3.1 Investigating the philosophy of the exception mechanism 00:04:54
  50. Lesson 4: Create and invoke a method that throws an exception
    1. Learning Objectives 00:00:21
    2. 4.1 Handling exceptions thrown by called code 00:04:10
    3. 4.2 Code example 00:10:30
  51. Lesson 5: Recognize common exception classes (such as NullPointerException, ArithmeticException, ArrayIndexOutOfBoundsException, ClassCastException)
    1. Learning Objectives 00:00:13
    2. 5.1 Common Exception Classes 00:04:59
  52. Module 10 Working with Selected classes from the Java API
    1. Module Intro 00:01:32
  53. Lesson 1: Manipulate data using the StringBuilder class and its methods
    1. Learning Objectives 00:00:54
    2. 1.1 Understanding the common StringBuilder constructors 00:06:52
    3. 1.2 Using methods that modify StringBuilders 00:04:26
    4. 1.3 Using methods that read and search in StringBuilders, and using methods that interact with the internal storage of StringBuilders 00:07:19
  54. Lesson 2: Creating and manipulating Strings
    1. Learning Objectives 00:01:24
    2. 2.1 Creating Strings 00:04:19
    3. 2.2 Understanding common String methods: Immutability 00:09:01
    4. 2.3 Using common String methods 00:07:20
    5. 2.4 Using common String methods to perform comparisons 00:07:22
  55. Lesson 3: Create and manipulate calendar data using...
    1. Learning Objectives 00:01:31
    2. 3.1 Creating Time and Date Objects 00:03:38
    3. 3.2 Changing Times and Dates 00:05:12
    4. 3.3 Using the DateTimeFormatter 00:06:14
    5. 3.4 Comparing and Ordering Times and Dates, and Using the Period class 00:07:30
  56. Lesson 4: Declare and use an ArrayList of a given type
    1. Learning Objectives 00:00:50
    2. 4.1 Understanding the purpose and benefits of ArrayList 00:06:27
    3. 4.2 Declaring and initializing an ArrayList 00:03:52
    4. 4.3 Using common methods of, and uses of, ArrayList 00:02:43
    5. 4.4 Investigating documentation and code for ArrayList 00:10:44
    6. 4.5 Understanding simple generics with the ArrayList 00:07:09
  57. Lesson 5: Write a simple Lambda expression that consumes a Lambda Predicate expression
    1. Learning Objectives 00:01:07
    2. 5.1 Understanding the Predicate interface 00:06:39
    3. 5.2 Creating Lambda expressions for Predicates 00:07:31
    4. 5.3 Reviewing the rules for Lambda expressions 00:07:01
  58. Summary
    1. OCA Java SE 8 Programmer I (1Z0-808): Summary 00:01:28