Full coverage of functional programming and all OCA Java Programmer exam objectives
OCA, Oracle Certified Associate Java SE 8 Programmer I Study Guide, Exam 1Z0-808 is a comprehensive study guide for those taking the Oracle Certified Associate Java SE 8 Programmer I exam (1Z0-808). With complete coverage of 100% of the exam objectives, this book provides everything you need to know to confidently take the exam. The release of Java 8 brought the language’s biggest changes to date, and for the first time, candidates are required to learn functional programming to pass the exam. This study guide has you covered, with thorough functional programming explanation and information on all key topic areas Java programmers need to know. You’ll cover Java inside and out, and learn how to apply it efficiently and effectively to create solutions applicable to real-world scenarios.
* Work confidently with operators, conditionals, and loops
* Understand object-oriented design principles and patterns
* Master functional programming fundamentals
विषयसूची
Introduction xxi
Assessment Test xxxi
Chapter 1 Java Building Blocks 1
Understanding the Java Class Structure 2
Fields and Methods 2
Comments 4
Classes vs. Files 5
Writing a main() Method 6
Understanding Package Declarations and Imports 9
Wildcards 10
Redundant Imports 11
Naming Conflicts 12
Creating a New Package 13
Code Formatting on the Exam 16
Creating Objects 16
Constructors 17
Reading and Writing Object Fields 18
Instance Initializer Blocks 18
Order of Initialization 19
Distinguishing Between Object References and Primitives 20
Primitive Types 20
Reference Types 24
Key Differences 25
Declaring and Initializing Variables 25
Declaring Multiple Variables 26
Identifiers 27
Understanding Default Initialization of Variables 29
Local Variables 29
Instance and Class Variables 30
Understanding Variable Scope 31
Ordering Elements in a Class 34
Destroying Objects 36
Garbage Collection 36
finalize() 38
Benefits of Java 39
Summary 40
Exam Essentials 41
Review Questions 42
Chapter 2 Operators and Statements 51
Understanding Java Operators 52
Working with Binary Arithmetic Operators 53
Arithmetic Operators 53
Numeric Promotion 55
Working with Unary Operators 57
Logical Complement and Negation Operators 57
Increment and Decrement Operators 58
Using Additional Binary Operators 60
Assignment Operators 60
Compound Assignment Operators 62
Relational Operators 63
Logical Operators 64
Equality Operators 65
Understanding Java Statements 66
The if-then Statement 67
The if-then-else Statement 68
The switch Statement 72
The while Statement 76
The do-while Statement 78
The for Statement 80
Understanding Advanced Flow Control 86
Nested Loops 87
Adding Optional Labels 87
The break Statement 88
The continue Statement 90
Summary 92
Exam Essentials 92
Review Questions 94
Chapter 3 Core Java APIs 101
Creating and Manipulating Strings 102
Concatenation 102
Immutability 104
The String Pool 105
Important String Methods 105
Method Chaining 110
Using the String Builder Class 111
Mutability and Chaining 112
Creating a String Builder 113
Important String Builder Methods 114
String Builder vs. String Buffer 117
Understanding Equality 117
Understanding Java Arrays 119
Creating an Array of Primitives 119
Creating an Array with Reference Variables 121
Using an Array 123
Sorting 124
Searching 125
Varargs 126
Multidimensional Arrays 126
Understanding an Array List 129
Creating an Array List 129
Using an Array List 130
Wrapper Classes 134
Autoboxing 136
Converting Between array and List 136
Sorting 138
Working with Dates and Times 138
Creating Dates and Times 138
Manipulating Dates and Times 142
Working with Periods 145
Formatting Dates and Times 148
Parsing Dates and Times 151
Summary 151
Exam Essentials 152
Review Questions 153
Chapter 4 Methods and Encapsulation 165
Designing Methods 166
Optional Specifiers 168
Return Type 169
Method Name 170
Parameter List 171
Optional Exception List 171
Method Body 171
Working with Varargs 172
Applying Access Modifiers 173
Private Access 173
Default (Package Private) Access 175
Protected Access 176
Public Access 180
Designing Static Methods and Fields 181
Calling a Static Variable or Method 182
Static vs. Instance 183
Static Variables 185
Static Initialization 186
Static Imports 187
Passing Data Among Methods 188
Overloading Methods 191
Creating Constructors 196
Default Constructor 197
Overloading Constructors 199
Final Fields 202
Order of Initialization 202
Encapsulating Data 205
Creating Immutable Classes 207
Writing Simple Lambdas 208
Lambda Example 209
Lambda Syntax 211
Predicates 214
Summary 215
Exam Essentials 216
Review Questions 218
Chapter 5 Class Design 233
Introducing Class Inheritance 234
Extending a Class 235
Applying Class Access Modifiers 237
Creating Java Objects 237
Defining Constructors 238
Calling Inherited Class Members 244
Inheriting Methods 246
Inheriting Variables 257
Creating Abstract Classes 259
Defining an Abstract Class 260
Creating a Concrete Class 262
Extending an Abstract Class 263
Implementing Interfaces 266
Defining an Interface 267
Inheriting an Interface 269
Interface Variables 273
Default Interface Methods 274
Static Interface Methods 278
Understanding Polymorphism 279
Object vs. Reference 281
Casting Objects 282
Virtual Methods 284
Polymorphic Parameters 285
Polymorphism and Method Overriding 287
Summary 288
Exam Essentials 289
Review Questions 291
Chapter 6 Exceptions 299
Understanding Exceptions 300
The Role of Exceptions 300
Understanding Exception Types 302
Throwing an Exception 304
Using a try Statement 305
Adding a finally Block 307
Catching Various Types of Exceptions 309
Throwing a Second Exception 311
Recognizing Common Exception Types 313
Runtime Exceptions 314
Checked Exceptions 317
Errors 317
Calling Methods That Throw Exceptions 318
Subclasses 319
Printing an Exception 321
Summary 323
Exam Essentials 324
Review Questions 325
Appendix A Answers to Review Questions 333
Chapter 1: Java Building Blocks 334
Chapter 2: Operators and Statements 336
Chapter 3: Core Java APIs 339
Chapter 4: Methods and Encapsulation 342
Chapter 5: Class Design 346
Chapter 6: Exceptions 349
Appendix B Study Tips 353
Studying for the Test 354
Creating a Study Plan 354
Creating and Running Sample Applications 355
Taking the Test 359
Understanding the Question 359
Applying Process of Elimination 362
Optimizing Your Time 364
Getting a Good Night’s Rest 366
Index 367
लेखक के बारे में
Jeanne Boyarsky, OCA/OCP, has worked as a Java developer for a bank in NYC for 12 years where she develops, mentors and conducts training. In her free time, she is a senior moderator at Code Ranch and works on the forum code base.
Scott Selikoff, SCJP, has been a professional Java Enterprise developer for over 15 years. He currently operates Selikoff Solutions, LLC, which provides software consulting services to businesses in the tri-state New York City area.