Glossary of Terms

This glossary lists the important terms that appear in this course, along with their definitions.


abstraction—A process that focuses on what a class or method should do instead of how it will accomplish it.
access modifier—A Java reserved word—public, private, or protected—included in the header of a class or method or in the declaration of a variable that indicates the availability of the class, method, or variable. Omitting an access modifier specifies package access.
accessor method—A method that returns the value of an object’s data field, or instance variable. Also known as a get method or getter.
address—A fixed numeric name associated with each byte of memory.
algorithm—A sequence of steps that solve a problem in a finite amount of time.
alias—A variable that contains the same reference to an object as another variable
analysis of algorithms—The process of measuring the complexity of algorithms.
APISee Java Application Programming Interface.
append—(1) To add characters or a string to the end of a string. (2) To augment a file by adding data to its end.
application—Another term for application program.
application program—A program that enables a user to accomplish a particular task. For example, a word processor is an application program.
application programming interface (API)—See Java Application Programming Interface.
argument—A quantity that appears between the parentheses in a call to a method.
arithmetic expression—An expression whose value is a number that results from the arithmetic operations of addition, subtraction, multiplication, and division.
array—A Java construct that groups items of the same or related data types.
array element—A location in an array. See also array entry.
array entry—The value in an element of an array.
array type—The data type of an array. An array type is a reference type.
array variable—A variable that references and names an array.
ASCII (American Standard Code for Information Interchange)—An integer representation of characters that uses one byte per character. Many programming languages use ASCII, but Java uses Unicode.
assertion—A statement of truth about some aspect of a program’s logic. An assertion can be expressed as a comment or by using an assert statement.
assertion error—The execution time error that occurs when the Boolean expression in an assert statement is false and assertions have been enabled.
assert statement—A statement that enforces an assertion you make in a program. You use such statements during the development of a program, but not as a part of its final logic.
assignment operator (=)—The Java operator used in an assignment statement. The value of the expression on the right side of the assignment operator is assigned to the variable on the left side of the operator.
assignment statement—A Java statement that gives a value to a variable.


bag—A collection of items in no particular order. Duplicate items are possible in a bag.
base—The number on which a numbering system is based. For example, familiar decimal numbers have a base of 10.
behavior—An action that an object can take.
best-case time—An estimate of the minimum time an algorithm requires to solve a problem. See also average-case time and worst-case time.
binary operator—An operator that acts on two quantities, or operands. See also unary operator.
bit—A binary digit.
body—(1) The portion of a method definition that follows the header and defines the method’s action. (2) The statements in a loop that are repeated. boolean expression—Either a boolean variable, two variables joined by a relational operator, or two or more boolean expressions joined by logical operators.
boolean expression—Either a boolean variable, two variables joined by a relational operator, or two or more boolean expressions joined by logical operators.
byte—The smallest unit of a computer’s memory. Also a unit of data in memory or on a disk.
bytecode—The form of a Java program produced by the Java compiler and executed by a Java Virtual Machine.


call—(n) The statement that begins the execution of a method. (v) To begin the execution of a method. Also known as an invocation (n) and invoke (v).
call by value—A mechanism used to pass an argument to a method whereby the value of the argument is assigned to the argument’s corresponding parameter in the method definition. This value is either a primitive value or a reference.
capacity—See length of an array.
case label—The value that follows the keyword case within a switch statement.
cast—A shortened form of the term type cast.
central processing unit (CPU)—The component of a computer that decodes and executes the instructions of a program stored in memory.
class—A programming construct that describes a group of objects, thereby defining the objects’ data type.
class definition—The Java statements that define a class, including its data fields and methods.
class header—The initial portion of a class that occurs before the first open brace. The header gives the class’s name and can specify an access modifier, a use modifier, a superclass, and one or more interfaces.
class method—See static method.
class-responsibility-collaboration card—See CRC card.
class type—The data type of an object other than an array. A class type is the name of the class used to create the object. For example, a string has a data type of String. See also data type and reference type.
class variable—Another term for static field.
client—The code that uses a class.
client interface—A term used to collectively describe the headers for all public methods of a class, the comments that tell a programmer how to use these public methods, and any publicly defined constants of the class.
code—(n) A general term for statements written in a programming language such as Java. (v) To write statements in a programming language. See also program.
coding—A synonym for programming.
collection—An object that groups other objects, often related by their data type, and provides various services to its client. Typically, a client can add, remove, retrieve, and query the objects in a collection.
command—A specific word written on the command line and used to request the services of an operating system. For example, you can give the command javac to compile a Java program and the command java to execute it.
command line—A line containing a prompt at which a programmer types a command, used to request the services of the operating system.
command-line argument—A value written after a command on the command line. For example, you write the name of the file containing a Java program after the command javac.
comment—Explanatory text placed within Java code to describe its purpose, its technique, and especially details of actions that are not obvious. Comments are intended for people who read the program and are ignored by the compiler.
compiler—A program that translates an entire program from a high-level language into machine language.
compound statement—A sequence of Java statements enclosed in braces.
computing system—The hardware and software necessary to perform desired tasks.
concatenate—To join together, as in joining two strings to form another string.
concatenation operator (+)—The Java operator used to indicate the joining, or concatenation, of two strings.
constructor—A special method called to create a new object. A constructor has the same name as the class to which it belongs. See also default constructor and parameterized constructor.
contents—The data or value stored in memory, a variable, an array, or other data structure.
core group—A group of core methods.
core method—An essential method that one defines and tests before continuing with the rest of a class definition.
counted loop—A loop controlled by a counter that counts either up or down to a given value.
coupling—The degree to which the classes in an application depend on one another. Loose coupling is desirable and is promoted by highly cohesive classes.
CPU—See central processing unit.
CRC card—Typically an index card to represent a class during its preliminary design. It lists the class’s name, responsibilities, and collaborations with other classes. CRC is an abbreviation for class-responsibility-collaboration.


data field—The portion of a class definition that defines an attribute of an object and represents a piece of data. The data field corresponds to an instance variable in an object. See also instance variable.
data structure—A construct, such as an array, that is defined within a programming language to store data.
data type—A kind of data. A specification of a set of possible values, represented in memory in the same way, and a set of operations on these values. See also array type, class type, primitive type, and reference type.
decision statement—A Java statement used to alter a program’s flow of control. See also if statement and switch statement.
declaration—The specification of either a variable and its data type, a parameter and its data type, a method, or a class.
declaration statement—A Java statement that specifies the data type of a variable.
default constructor—A constructor without parameters. Java defines a default constructor if you do not define any constructors for a class.
defensive programming—The technique a programmer uses when anticipating unusual situations that might occur during execution and dealing with them in a suitable manner.
delimiter—One or more characters—such as a comma or a space—used to separate one item from another, especially within a line of input data or other string.
do loop—Another term for a do statement.
do statement—A Java construct that repeats a group of statements until a given boolean expression is false. Also known as a do loop. See also while statement.
dot operator—A period used in forming some Java statements.
driver—Another term for a driver program.
driver program—A program that contains a main method and that typically tests the methods in a class. Also known as a driver program.


echo—To repeat the input provided by a user as a way to verify it.
element of an array—See array element.
else clause—The portion of an if statement that specifies an alternative course of action.
entry in an array—See array entry.
enumerated data type—A data type of a variable whose values can be itemized. See also enumeration.
enumeration—The Java construct that defines an enumerated data type.
equality operator (==)—An operator used to compare two primitive values or two references.
error—An object of either the standard class Error or one of its descendant classes that is created when an abnormal situation, such as running out of memory, occurs during program execution.
escape character—A two-character notation that begins with a backslash to indicate certain characters within a Java program. For example, \n is the new-line character.
exception—An object of either the standard class Exception or one of its descendant classes that is created when an unusual event or circumstance occurs during program execution. Exceptions are classified as either checked or runtime (unchecked).
execute—The action taken by the central processing unit to carry out the operation defined by an instruction.
expression—A combination of operators, variables, literals, and parentheses that represent a value.


field—Another term for data field.
floating point—A representation of a real number that includes either a decimal point, an exponent, or both.
flow of control—The order in which statements in a Java program execute.
for-each loop—Another term for a for-each statement.
for-each statement—A variation of the for statement that is used with enumerations, arrays, or other collections of data when the entire collection is to be considered. Also known as a for-each loop. See also for statement.
for loop— Another term for a for statement.
formal parameter—A variable declared within the parentheses of a method’s header that represents an argument when the method is called. Also known as a parameter.
format—The appearance of an item of input or output, including the number of spaces it occupies and any special characters it contains.
for statement—A Java construct that repeats a group of statements as long as a given boolean expression is true. A for statement is logically equivalent to a while statement. Also known as a for loop. See also for-each statement.
fully qualified name—The complete name of a class, including the name of its package. For example, since the class Scanner is in the package java.util, its fully qualified name is java.util.Scanner.


garbage collection—An automatic process that reclaims memory no longer used by a program and makes it available to the operating system for another purpose.
get—To access, typically to access the value of a data field.
get method—Another term for an accessor method.
getter—Another term for an accessor method.


hardware—The computer and peripheral components such as printers, displays, and scanners.
hexadecimal—The name of the base 16 number system. Hexadecimal numerals use the digits 0 through 9 and the letters A through F.
hierarchy—Another term for precedence.
high-level language—A programming language, such as Java, that uses symbolic statements to represent machine instructions.


IDE—See integrated development environment.
identifier—A word within a Java statement that names a class, method, variable, or keyword. An identifier consists of letters, digits, the underscore (_), and the dollar sign ($), but it cannot begin with a digit.
identity—An object’s address in memory.
if statement—A Java statement that provides two courses of action for a program based upon the value of a given boolean expression. Also known as an if-else statement, particularly when it contains an else clause.
implement—To write the Java definition of a method or class.
implementation of a class—See class definition.
import statement— A statement that precedes a class definition, indicating the package containing the class or classes used within the class definition.
index—An integer value that indicates a character within a string or an element within an array.
infinite loop—A loop whose boolean expression is always true, so it never ends normally.
inner loop—A loop defined within another loop, known as the outer loop.
input—Anything a program reads, or obtains, from an input device such as a keyboard, mouse, or disk.
input and output system—The devices—such as a keyboard, mouse, display, and printer—and their adapters that a computer uses to communicate with its users.
input device—A component—such as a keyboard, mouse, or disk—that provides input data to a program.
input stream—A stream that sends data from a source, such as a file or a keyboard, to a program.
instance—Another term for an object.
instance method—A method that defines a behavior of an object. A method that is not static.
instance variable—A data field within a specific object. Another term for data field.
instantiate—To create an object.
instantiation—The process of creating an object.
instruction—A directive to a computer to perform a particular operation.
integer division—The division of two integers, whereby any fractional portion in the quotient is discarded. That is, the quotient is truncated to an integer.
integrated development environment (IDE)—A program that provides an editor, compiler, Java Virtual Machine, and other helpful tools for writing Java programs.
internal memory—Another name for primary memory.
interpreter—A program that translates a statement written in a high-level language into machine language and then immediately executes it, alternating between translation and execution.
invocation—A statement that calls a method.
invoke—Another term for call, as in “to invoke a method.”
iteration—A form of repetition whereby a group of statements is repeated under control of a construct that tests the value of a boolean expression to determine when the repetition should end.


Java Application Programming Interface (API)—Another name for the Java Class Library.
Java Class Library—A collection of standard classes provided with the Java language that you can use in your programs. Also known as the Java Application Programming Interface (API).
javadoc—A utility program that reads comments written in a particular format and produces HTML documentation that describes classes and methods.
Java runtime system—The software that supports the execution of an application, including the Java Virtual Machine and the Java Class Library.
Java Virtual Machine (JVM)—A program that converts Java bytecode into the machine language of its host platform.
JVM—See Java Virtual Machine.


keyword—A Java identifier—such as class, public, void, and while—that has special meaning to the Java compiler and cannot be changed. All Java keywords are Java reserved words, but some reserved words are not keywords. See also reserved word.


length of an array—The number of elements allocated for an array. The maximum number of entries an array can contain. Also known as the array’s capacity.
lexicographic order—The order imposed on characters by their Unicode or ASCII values. Also known as dictionary order.
literal—A Java representation of a specific fixed value. For example, 15, 1.5, and “Java” are literals. Also known as an unnamed constant.
local—Belonging to or available within all or a part of the body of a particular method definition.
local variable—A variable declared within the body of a method’s definition and whose value is available only within the body of the method or a portion thereof.
logical operator—One of the operators && (and), || (or), and ! (not) used to form another boolean expression. Note that && and || are binary operators, and so each combines two boolean expressions to form another boolean expression. On the other hand, ! is a unary operator and acts on a single boolean expression.
loop—A construct in a programming language that includes one or more statements that execute repeatedly a certain number of times. The statements that describe or implement an iteration.


machine instruction—A computer instruction in a numeric form.
machine language—A computer’s set of machine instructions.
member—A data field or method of a class.
memory—See primary memory and secondary memory.
method—A Java construct that is a part of a class and performs an action. A method defines either behavior of an object of the class or an action of the class itself. See also instance method and static method.
method header—A method’s return type, its name, a pair of parentheses, and optionally, an access modifier, a use modifier, and parameters. See also signature.
multiway if statement — A form of the if statement that is used when more than two mutually exclusive cases would otherwise require nested if-else statements. This form of the if statement uses else if clauses and often ends with an else clause.
mutator method—A method that alters the value of an object’s data field, or instance variable. Also known as a set method or setter.
mutually exclusive—A description of situations that are disjoint. Only one of several mutually exclusive cases can be true at one time.


named constant—A fixed value that is given a name by a programmer.
nested—A description of two or more Java statements of the same kind that occur within one another. For example, if statements can be nested, as can while statements and other loops.
new-line character—The escape character \n that is used within a string to indicate the end of the current line of text and the beginning of the next one.
new operator—The Java operator that creates a new object or array.


object—A basic element in a Java program that has values, or attributes—giving it a particular state—and behaviors, some of which can change or report that state. Also known as an instance.
object-oriented program—A computer program that uses basic elements called objects.
off-by-one error—A common mistake in writing a loop that causes the loop to cycle either one too many or one too few times.
one-dimensional array—An array that uses one index to name its elements.
operand—A quantity on which an operator acts.
operating system—A set of programs to provide services that enable you to use a computer. For example, an operating system offers ways to save files; organize them into folders, or directories; use applications; and connect to the Internet. Some popular operating systems are Windows, MacOS, UNIX, and Linux.
operator—A symbol or combination of symbols that represents a particular Java operation, such as addition.
ordinal value—The position, beginning with zero, in which an object appears within its enumeration.
outer loop—A loop that contains another loop, known as the inner loop.
output—Anything a program writes to a display or other output device.
output device—A piece of hardware, such as a display or disk, on which a program can write data.


package—A named group of Java classes.
package access—The kind of access that occurs when a class, method, or data field has no access modifier in its header or declaration. Such a class, method, or data field is available only to other classes within its package.
pad—To add characters, such as blanks, to one end of a string to give it a certain length.
parallel arrays—Two or more arrays in which corresponding elements—the elements having the same indices—contain related entries.
parameter—Another term for formal parameter.
parameterized constructor—A constructor that has parameters. See also default constructor.
parameter list— A comma-separated list of parameters and their data types that appears between parentheses in a method’s header.
partially filled—A term used to describe an array that has fewer entries than its capacity, or length.
platform—A kind of computer. A computer’s architecture and often its operating system. For example, two current platforms are a Windows machine and a Macintosh running MacOS X.
postcondition—A statement of a method’s effect after completing its execution. See also precondition.
precedence—The position of a Java operator relative to the other operators that determines which of two operators executes next. Also known as hierarchy.
precedence order—The order of execution of a sequence of Java operations.
precondition—A statement of the requirements necessary for executing a method. See also postcondition.
primary memory—The portion of a computer where it stores its instructions and the data on which the instructions operate. Also known as internal memory or random access memory.
primitive data type—The data type of individual numbers, characters, or booleans. The Java primitive data types are byte, short, int, long, float, double, char, and boolean.
private access—The kind of access to a method or data field of a class C that enables only C to access the method or field by name.
program—(n) A sequence of instructions to a computer that perform a given task. (v) To write statements in a programming language. See also code.
programming style—A set of conventions that a programmer follows when writing a Java program. Such conventions involve the case of the names for a class, method, and variable; the location of braces; the indentation of statements; and the use of comments.
prompt—(n) A message to the user indicating what input the program expects. (v) To issue a prompt to the user.
pseudocode—A combination of English and Java used to express an algorithm.
pseudorandom number—A number that appears to be chosen at random.
public access—The kind of access to a class, method, or data field that enables any class or method to access it by name.


quotient—The result of a division of two numbers.


RAM—See random access memory.
random access memory (RAM)—Another name for primary memory.
random number generator—A method or algorithm to produce pseudorandom numbers.
read—The action a program takes to obtain data from an input device such as a keyboard or a disk.
receiver—Another term for receiving object.
receiving object—The object whose method is called and whose name occurs in the method invocation. Also known as a receiver.
reference—The address of the memory that an object uses.
reference type—Either a class type or an array type. A variable of a reference type contains a reference.
reference variable—A variable of a class type or an array type; that is, a variable of a reference type.
relational operator—An operator that can compare two primitive values. One of the six operators <, <=, ==, !=, >, and >=. The operators == and != can also compare two references.
remainder operator %—A division operator that results in the remainder after a division of two numbers.
reserved word—An identifier within Java whose meaning cannot be changed. Reserved words include all Java keywords and other identifiers that are not keywords. In particular, such identifiers are the literals true, false, and null, as well as the unused words const and goto. See also keyword.
responsibility—A behavior defined by a class.
return statement—The statement that ends the execution of a method, returning execution to the point from which the method was called. For a valued method, a return statement also passes a value back to its invocation. As an option, a void method can have a return statement without a value.
return type—The data type of the value returned by a valued method.
robust—A term used to describe a program that does not crash when it encounters unexpected data.
run—To execute a computer instruction or program.


scope—The portion of the program in which a variable has meaning.
secondary memory—Media, such as hard disks and DVDs, on which a computer can store data. Secondary memory is nonvolatile, that is, its data is not lost when electrical power is turned off.
seed—A starting number used when generating pseudorandom numbers.
selection operator (? :)—An operator that takes three operands and provides an alternative to an if statement. Sometimes known as a ternary operator.
self-documenting—A term used to describe code that uses meaningful names for variables, methods, and classes, making its purpose and logic clear to any programmer who reads it.
sentinel—A value that ends a data set and is a signal to the program to stop reading.
sequence—In mathematics, a finite or infinite list of numbers that have a specific order.
set method—See mutator method.
setter—See mutator method.
shallow copy—A duplicate of an object that shares some or all of its component objects with the original object.
short-circuit evaluation—A way of evaluating a boolean expression involving either && or || that does not evaluate the operator’s second operand if the expression’s value is evident from the value of the first operand.
side effect—An action taken by a method that is secondary to its main purpose. A method should not have side effects.
signature—A method’s name and the number, types, and order of its parameters. See also method header.
silent program—A program that produces no visible output for its user.
simulation—A process that simulates a real-world situation by using one or more queues to test various scenarios in business, science, and so on.
single-step—A feature of a debugging tool that enables you to execute your program one statement at a time. See also step into, step over, and watch.
size of a list—The number of entries in a list.
software—Computer programs.
source program—A program written in a high-level language.
state—The collective properties of an object that are defined by its attributes and their values.
statement—An element of a Java program.
static field—A data field shared by all objects of a class. Also known as a static variable or a class variable.
static method—A method that defines an action of a class, but not of any object. Also known as a class method.
static type—The data type in a variable’s declaration. A static type is fixed and determined during compilation. See also dynamic type.
static variable—Another term for static field.
step into—A feature of a debugging tool that enables you to trace the execution of statements within an invoked method. See also single-step, step over, and watch.
step over—A feature of a debugging tool that enables you to skip the details of a method’s execution, but to continue a trace using the results of the method call. See also single-step, step into, and watch.
stored program concept—See von Neumann architecture.
stream—An object that represents a flow of data. See also input stream and output stream.
stream variable—A program variable that references a stream.
string literal—A fixed, unnamed value that is a string of characters enclosed in double-quotes.
string processing—The manipulation of a string or strings to form another string.
substring—Consecutive characters that make up a portion of a string.
switch statement—A Java construct that chooses among several cases based upon the value of an integer, character, or enumerated object.
syntax error—A mistake in a program that the compiler detects.


tag—An element beginning with @ that is used in comments to be processed by Javadoc. A tag identifies such aspects as the programmer’s name and, for each method, its parameters, its return type, and the exceptions it might throw.
target—The value to be located when searching an array or data collection.
ternary operator—See selection operator.
token—Any group of contiguous characters other than white space.
truncate—To discard any fractional portion of a number.
truth table—A table that shows the value of a given boolean expression for all possible values of the variables that make up the expression.
type cast—An explicit indication to convert a value from one data type to another compatible data type.
type-cast operator—A data type enclosed in parentheses.


unary operator—An operator that acts on only one quantity, or operand.
Unicode—A standard encoding scheme, used by Java, that represents each character by a unique integer regardless of language or platform. See also ASCII.
unnamed constant—Another term for a literal.
use modifier— A Java keyword—static, final, abstract, synchronized, or volatile—used in certain declarations of classes, data fields, and methods. This course does not discuss synchronized and volatile.
user—The person who uses a program.
user interface—The provision a program makes for a person to interact with it.


value—The data represented by a variable.
valued method—A method that returns a value.
variable—An identifier in a Java program that represents a piece of data. A variable actually names a piece of memory that stores either primitive data or a reference to an object.
void method—A method that does not return a value.
volatile—A characteristic of primary memory whereby whatever is stored therein is lost when electrical power is turned off.
von Neumann architecture—A way of structuring a computing system, used in current computers, in which the memory contains both the program and the data to be manipulated. This characteristic is also known as the stored program concept.


watch—A feature of a debugging tool that enables you to examine the values of key variables during program execution. See also single-step, step into, and step over.
web browser—A program that displays content delivered over the Internet.
while loop—See while statement.
while statement—A Java construct that repeats a group of statements as long as a given boolean expression is true. Also known as a while loop.
white space—Visually empty space in a Java statement or line of output caused by blank characters (spaces), tabs, and new-line characters.
wrapper class—Any one of the classes Boolean, Byte, Character, Double, Float, Integer, Long, and Short in the Java Class Library. An object of a wrapper class represents a value having a primitive data type.

Get hands-on with 1200+ tech skills courses.