SKILL BENCHMARK

Java Core Programming Awareness

  • 25m
  • 25 questions
The Java Core Programming Awareness benchmark will measure your ability to understand and implement the language features of Java. You will be evaluated on your ability to recognize the basic syntax of Java, variables, data types, control structures, modeling entities, mapping relationships, and interactive Java & JShell. A learner who scores high on this benchmark demonstrates that they have the skills to write Java programs and develop applications using Java code.

Topics covered

  • create a custom class loader with the right method implementations
  • create a for loop and use the break and continue keywords to control its flow
  • create objects of a Java class and use getters and setters to edit fields
  • define constructors and use them to initialize member variables in Java
  • describe how composite data can be created and accessed in the form of arrays in Java
  • examine how to work with the .equals() and .hashCode() methods and the hashCode contract
  • identify the difference between static and instance variables
  • implement custom and built-in classes derived from the Object base class
  • initialize fields using the 'this' keyword
  • investigate the nuances of the protected access modifier
  • invoke the right methods based on the runtime types of objects
  • outline pass-by-value and pass-by-reference with custom objects
  • overload methods with the same name and different number and types of input arguments
  • perform up-casting and down-casting operations on objects
  • recall how arithmetic operations in Java follow the PEMDAS rules when evaluating expressions
  • recognize how imports work in JShell and how objects can be instantiated
  • recognize how programming is affected by the static typing requirement in Java and the effects of its just-in-time compiler
  • recognize some of the fundamental syntactic rules in Java
  • recognize the limits of different Java data types in terms of what values they can store
  • specify default implementations for interface methods
  • use abstract base classes in inheritance hierarchies
  • use multiple if statements and explore the use of else-if blocks
  • use null values in Java to specify that a variable does not have any value
  • use the final modifier with methods to prevent overriding and with classes to prevent inheritance
  • use the super keyword to invoke a base class constructor from a derived class