Term
|
Definition
An object is a software bundle of related state and behavior. Software objects are often used to model the real-world objects that you find in everyday life. |
|
|
Term
|
Definition
A class is a blueprint or prototype from which objects are created. |
|
|
Term
|
Definition
Inheritance provides a powerful and natural mechanism for organizing and structuring your software. A class which extends another class is a subclass of the class it extends, which is called the superclass. A subclass inherits all of the methods and fields of the superclass, as well as adding more of it's own. |
|
|
Term
|
Definition
An interface is a contract between a class and the outside world. When a class implements an interface, it promises to provide the behavior published by that interface. |
|
|
Term
|
Definition
A package is a namespace for organizing a set of related classes and interfaces in a logical manner. |
|
|
Term
| What are the characteristics of real-world objects? |
|
Definition
| Real world objects have state and behavior. |
|
|
Term
| How does a Java object store it's state? |
|
Definition
| A Java object stores it's state in fields. |
|
|
Term
| How does a Java object expose its behavior? |
|
Definition
| A Java object exposes its behavior throught methods. |
|
|
Term
| What is data encapsulation? |
|
Definition
| Data encapsulation is the practice of hiding an object's internal state and requiring all interaction to be performed through an object's methods. |
|
|
Term
| Describe the benefit of Modularity |
|
Definition
The source code for an object can be written and maintained independently of the source code for other objects. Once created, an object can be easily passed around inside the system. |
|
|
Term
| Describe the benefit of Information-hiding |
|
Definition
By interacting only with an object's methods, the details of its internal implementation remain hidden from the outside world. |
|
|
Term
| Describe the benefit of Code Re-use |
|
Definition
If an object already exists (perhaps written by another software developer), you can use that object in your program. This allows specialists to implement/test/debug complex, task-specific objects, which you can then trust to run in your own code. |
|
|
Term
| Describe the benefit of Pluggability and debugging ease |
|
Definition
If a particular object turns out to be problematic, you can simply remove it from your application and plug in a different object as its replacement. This is analogous to fixing mechanical problems in the real world. If a bolt breaks, you replace it, not the entire machine. |
|
|
Term
| What is the syntax for creating a subclass? |
|
Definition
At the beginning of the class definition, use the extends keyword immediately after the class name, followed by the name of the class to inherit from, e.g.:
class MySubbie extends MySuper {
// field declarations
// method declarations and definitions
} |
|
|
Term
| Which method must be defined in order to make a complete application? |
|
Definition
|
|
Term
| Which method must be defined in order to create a complete application. |
|
Definition
| public static void main(String[] args) |
|
|
Term
|
Definition
An Interface is a class which is defined with a group of related methods with empty bodies, using the keyword interface for the declaration.
Another class can then be defined using the keyword implements and within this new class the methods identified in the interface class would then be defined.
Furthermore, these implemented interface methods must be declared as public in the implementing method. |
|
|
Term
| What does the acronym API stand for? |
|
Definition
| Application Programming Interface |
|
|
Term
| What is an Instance Variable? |
|
Definition
Instance variables are fields whose value is unique to each instance of a class (to each object, in other words). They are also known as non-static fields because they are declared without the static keyword. |
|
|
Term
| What is the difference between an Object and a Class? |
|
Definition
A Class is a blueprint for the an Object. An Object is an instance of a Class. |
|
|
Term
| What is a Class Variable? |
|
Definition
A class variable is any field declared with the static modifier; this tells the compiler that there is exactly one copy of this variable in existence, regardless of how many times the class has been instantiated. Class Variables are also known as Static Fields. |
|
|
Term
| What is a Local Variable? |
|
Definition
A Local Variable is a variable which is declared and used within a single Method. There is no keyword for designating a variable as local. |
|
|
Term
|
Definition
A Parameter is a variable which is defined within the parenthesis of a method declaration. A Parameter can also be called an argument. It is not considered a field. |
|
|
Term
| When discussing a Java Class, to what does the term members refer? |
|
Definition
| Members refers to the fields, methods and nested classes of that class. |
|
|
Term
| Are variable names case-sensitive? |
|
Definition
|
|
Term
| What is the length limit for a variable name? |
|
Definition
| There is no length limit for variable names. |
|
|
Term
| What characters can a variable name begin with? |
|
Definition
Variable names can begin with any letter, a dollar sign or an underscore.
By convention a variable name should only begin with a letter. |
|
|
Term
| What convention(s) should be used when choosing a name for a variable? |
|
Definition
- A variable name should only begin with a letter.
- A variable name should contain full words, not abbreviations.
- A variable name should describe the variable's utility.
- For non-constants, use all lower case letters for variable names with the exception of the first letter of the second and any subsequent words, which should be upper case.
- For constants, use all upper case letters throughout and separate words with an underscore.
|
|
|
Term
| What does the term 'statically typed' mean? |
|
Definition
| The term statically typed is used to differentiate programming languages. When using a programming language which is statically typed, all variables must first be declared before they can be used. |
|
|
Term
| What is the alternative to 'static typing'? |
|
Definition
| The alternative to static typing is dynamic typing, where the variable type is determined at run-time. This is more typically seen in scripting languages like Perl and Javascript. |
|
|
Term
| What is a primitive data type? |
|
Definition
| A primitive data type is defined by the programming language and is named by a reserved keyword. |
|
|
Term
| What are the eight primitive data types within the Java programming language? |
|
Definition
boolean
byte
char
double
float
int
long
short
|
|
|
Term
| What is a signed two's complement integer? |
|
Definition
A signed two's complement integer is a whole number value data type which contains positive and negative values. The range of values is determined by the maximum value of a binary number that is one bit smaller. The first bit of a signed two's complement integer identifies whether the value is positive or negative. In the Java programming language, the maximum negative value of a signed two's complement integer is one greater than the maximum positive value. |
|
|
Term
| What is the value range of the byte primitive in the Java language? |
|
Definition
|
|
Term
| How many bits are used to store a byte primitive in the Java language? |
|
Definition
|
|
Term
| What are the four integer primitive data types in the Java programming language? |
|
Definition
| byte, short, int and long. |
|
|
Term
| How many bits are used to store a short primitive in the Java language? |
|
Definition
|
|
Term
| What is the value range of the short primitive in the Java language? |
|
Definition
|
|
Term
| How many bits are used to store the int primitive in the Java language? |
|
Definition
|
|
Term
| What is the value range of the int primitive in the Java language? |
|
Definition
-231 to 231 - 1
or
-2,147,483,648 to 2,147,483,647 |
|
|
Term
| How many bits are used to store the long primitive in the Java language? |
|
Definition
|
|
Term
| What is the value range of the long primitive in the Java language? |
|
Definition
-263 to 263 - 1
or
9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
OR
negative 9 quintillion, 223 quadrillion, 372 trillion, 36 billion, 854 million, 775 thousand and 808 to 9 quintillion, 223 quadrillion, 372 trillion, 36 billion, 854 million, 775 thousand and 807 |
|
|
Term
| How many bits does a float primitive data type use in the Java programming language? |
|
Definition
|
|
Term
| Is the float data type an integer? |
|
Definition
| No, the float data type is a single-precision floating point. |
|
|
Term
| Should the float data type be used for calculating precise values? Why or why not? |
|
Definition
| No, because of rounding rules supported by the IEEE 754 floating poing technical standard. java.math.BigDecimal is recommended for calculating precise values. |
|
|
Term
| How many bits are used to store the double primitive data type in the Java programming language? |
|
Definition
|
|
Term
| Is the double primitive data type an integer? |
|
Definition
| No. The double data type is a double-precision 64-bit IEEE 754 floating point. |
|
|
Term
| Should the double data type be used for calculating precise values? Why or why not? |
|
Definition
| No, because of rounding rules supported by the IEEE 754 floating poing technical standard. java.math.BigDecimal is recommended for calculating precise values. |
|
|
Term
| How many bits are used to store a boolean primitive data type in the Java programming language. |
|
Definition
| The number of bits used to store a boolean is not precisely defined. |
|
|
Term
| How many possible values can a boolean primitive data type contain in the Java programming language? |
|
Definition
|
|
Term
| How many bits are used to store a char primitive data type in the Java language? |
|
Definition
|
|
Term
| What sort of data is stored by the char primitive data type? |
|
Definition
| A char can only contain a single 16 bit Unicode character. |
|
|
Term
| Is a String considered a primitive data type in the Java programming language? |
|
Definition
| Not technically. It is actually an object. |
|
|
Term
| How does one change the value of a String object? |
|
Definition
| Trick question. String objects are immutable, which means that once created their values cannot be changed. |
|
|
Term
| Is it necessary to assign a value when a field is declared? |
|
Definition
|
|
Term
| What is the default value assigned to a field of the byte data type? |
|
Definition
|
|
Term
| What is the default value assigned to a field of the short data type? |
|
Definition
|
|
Term
| What is the default value assigned to a field of the int data type? |
|
Definition
|
|
Term
| What is the default value assigned to a field of the long data type? |
|
Definition
|
|
Term
| What is the default value assigned to a field of the float data type? |
|
Definition
|
|
Term
| What is the default value assigned to a field of the double data type? |
|
Definition
|
|
Term
| What is the default value assigned to a field of the char data type? |
|
Definition
|
|
Term
| What is the default value assigned to a field of the boolean data type? |
|
Definition
|
|
Term
| What is the default value assigned to a field of the String data type? |
|
Definition
| A String is technically an object and not a data type. The default value for ALL objects is null. |
|
|
Term
| What is the default value assigned to a local variable of the byte data type? |
|
Definition
| There is no default value assigned to any local variable, regardless of type. |
|
|
Term
| What is the default value assigned to a local variable of the short data type? |
|
Definition
| There is no default value assigned to any local variable, regardless of type. |
|
|
Term
| What is the default value assigned to a local variable of the int data type? |
|
Definition
| There is no default value assigned to any local variable, regardless of type. |
|
|
Term
| What is the default value assigned to a local variable of the long data type? |
|
Definition
| There is no default value assigned to any local variable, regardless of type. |
|
|
Term
| What is the default value assigned to a local variable of the float data type? |
|
Definition
| There is no default value assigned to any local variable, regardless of type. |
|
|
Term
| What is the default value assigned to a local variable of the double data type? |
|
Definition
| There is no default value assigned to any local variable, regardless of type. |
|
|
Term
| What is the default value assigned to a local variable of the char data type? |
|
Definition
| There is no default value assigned to any local variable, regardless of type. |
|
|
Term
| What is the default value assigned to a local variable of the boolean data type? |
|
Definition
| There is no default value assigned to any local variable, regardless of type. |
|
|
Term
| What is the default value assigned to a local variable of the String data type? |
|
Definition
| First of all, a String is technically an object and not a data type. Second of all, there is no default value assigned to any local variable, regardless of type. |
|
|
Term
| Do primitive data types require the new keyword when they are initialized? Why or why not? |
|
Definition
| Primitive data types do not require the new keyword because they are special data types that are built into the language, they are not objects which are created from a class. |
|
|
Term
| Can a literal value be assigned to an object at instantiation in the Java programming language? |
|
Definition
| No. A literal value is the source code representation of a fixed value which cannot be assigned to an object at instantiation (unless there is a constructor method in the object's class definition which contains parameter variables, i.e. arguments). Conversely, a literal value can be assigned to a primitive data type upon instantiation. |
|
|
Term
| What is the syntax for assigning an integer literal to the long primitive data type? |
|
Definition
An integer literal is of type long if it ends with the letter L or l; otherwise it is of type int. It is recommended that you use the upper case letter L because the lower case letter l is hard to distinguish from the digit 1. |
|
|
Term
| What are the three numbering systems that an integer literal can be expressed as? |
|
Definition
- Decimal (base 10) (most common)
- Hexidecimal (base 16)
- Binary (base 2)
|
|
|
Term
| What is the syntax for assigning a hexidecimal integer literal? |
|
Definition
| A prefix of '0x' indicates hexidecimal |
|
|
Term
| What is the syntax for assigning a binary integer literal? |
|
Definition
| A prefix of '0b' indicates binary |
|
|
Term
| What is the syntax for assigning an floating-point literal to the float primitive data type? |
|
Definition
| A floating-point literal is of type float if it ends with the letter F or f. |
|
|
Term
| What is the syntax for assigning an floating-point literal to the double primitive data type? |
|
Definition
| A floating-point literal is of type double if it ends with the letter D or d. |
|
|
Term
| Can float or double be assigned a value with any other syntax? If yes, which of these primitive data types can and what is the required syntax? |
|
Definition
Both of the floating point types (float and double) can also be expressed using E or e (for scientific notation).
By way of example here is the same value being assigned to a double:
double d1 = 123.4;
double d2 = 1.234e2; |
|
|
Term
| What are the different kinds of literal assignments. |
|
Definition
| Integer Literals, Floating-Point Literals, Character and String Literals, the Null and the Class literals. |
|
|
Term
| Describe and differentiate the null literal. |
|
Definition
| The null literal that can be used as a value for any reference type. null may be assigned to any variable, except variables of primitive types. |
|
|
Term
| What is the syntax and function of a class literal? |
|
Definition
| A class literal is formed by taking a type name and appending ".class"; for example, String.class. This refers to the object (of type Class) that represents the type itself. |
|
|
Term
| When assigning a numeric literal, is there any character which can be used for the programmer's benefit to show breaks in the number being assigned? If so, what is it? |
|
Definition
Yes, underscore characters can be employed when assigning a numeric literal in order to improve the readability of the assignment. Underscore characters can be thought of as the commas used to differentiate between thousands and millions, for example, but unlike those commas, an underscore character can be placed ALMOST anywhere within the number being assigned as a literal. You can place underscores only between digits; you cannot place underscores in the following places:
- At the beginning or end of a number
- Adjacent to a decimal point in a floating point literal
- Prior to an F or L suffix
- In positions where a string of digits is expected
|
|
|
Term
|
Definition
| An array is a container object that holds a fixed number of values of a single type. |
|
|
Term
| When is the length of an array established? |
|
Definition
| The length of an array is established when the array is created. After creation, its length is fixed. |
|
|
Term
| What is the numeric index of the first element in an array? |
|
Definition
| The first element in an array is always zero. |
|
|
Term
| What are the acceptable syntax variations for declaring an array? What is the encouraged version? |
|
Definition
An array can legally be declared in the following ways:
//example 1
int[] myIntegerArray;
//example 2
int myIntegerArray[];
Although both will compile, the convention is to place the brackets immediately after the type (example 1) |
|
|
Term
| What is the syntax for creating an array? |
|
Definition
One way to create an array is with the new operator, followed by the array type and a number in brackets which determines the array size. E.g:
myIntegerArray = new int[10];
Alternatively an array can be created using a shortcut syntax which consists of the variable type, followed by empty brackets, followed by the variable name, followed by an equal sign, followed by a comma delimited list of valid values enclosed within curly brackets. E.g.:
int[] myIntegerArray = { 100, 200, 300, 400 }; |
|
|
Term
| Is it possible to have an array that is more than one dimensional? If so, what is the syntax for defining it? |
|
Definition
| Yes, it is possible to declare an array of arrays (also known as a multidimensional array) by using two or more sets of brackets at the time the variable is being declared. It is possible to instantiate multidimensional arrays in the same way that regular arrays are created. |
|
|
Term
What is the command to determine the size of an array and what is the syntax for using it? |
|
Definition
Use the built-in length property to determine the size of any array. E.g.:
System.out.println(myIntegerArray.length); |
|
|
Term
| What is the method used for copying elements of one array to another? To which class does it belong? What is the syntax for using it? |
|
Definition
The System class has an arraycopy() method that you can use to efficiently copy data from one array into another:
public static void arraycopy(Object src, int srcPos,
Object dest, int destPos, int length)
The two Object arguments specify the array to copy from and the array to copy to. The three int arguments specify the starting position in the source array, the starting position in the destination array, and the number of array elements to copy. |
|
|
Term
| What is the class provided in the Java programming language for performing common array related tasks besides arraycopy()? |
|
Definition
| Java SE provides several methods for performing array manipulations (common tasks, such as copying, sorting and searching arrays) in the java.util.Arrays class. |
|
|