Java keywords
Whether you’re talking to tech support or buying a new toy for your laptop, you should have the following details about your laptop at hand. Print this page and fill in the information.
The Java programming language has 50 keywords. Each keyword has a specific meaning in the language. You can’t use a keyword for anything other than its preassigned meaning.
Keyword | What it does |
abstract | Indicates that the details of a class, a method, or an interface are given elsewhere in the code. |
assert | Tests the truth of a condition that the programmer believes is true. |
boolean | Indicates that a value is either true or false. |
break | Jumps out of a loop or switch. |
byte | Indicates that a value is an 8-bit whole number. |
case | Introduces one of several possible paths of execution in a switch statement. |
catch | Introduces statements that are executed when something interrupts the flow of execution in a try clause. |
char | Indicates that a value is a character (a single letter, digit, or punctuation symbol, for example) stored in 16 bits of memory. |
class | Introduces a class — a blueprint for an object. |
const | You can’t use this word in a Java program. The word has no meaning but, because it’s a keyword, you can’t create a variable named const. |
continue | Forces the abrupt end of the current loop iteration and begins another iteration. |
default | Introduces a path of execution to take when no case is a match in a switch statement. |
do | Causes the computer to repeat some statements over and over again (for instance, as long as the computer keeps returning unacceptable results). |
double | Indicates that a value is a 64-bit number with one or more digits after the decimal point. |
else | Introduces statements that are executed when the condition in an if statement isn’t true. |
enum | Creates a newly defined type — a group of values that a variable can have. |
extends | Creates a subclass — a class that reuses functionality from a previously defined class. |
final | Indicates that a variable’s value cannot be changed, that a class’s functionality cannot be extended, or that a method cannot be overridden. |
finally | Introduces the last will and testament of the statements in a try clause. |
float | Indicates that a value is a 32-bit number with one or more digits after the decimal point. |
for | Gets the computer to repeat some statements over and over again (for instance, a certain number of times). |
goto | You can’t use this word in a Java program. The word has no meaning. Because it’s a keyword, you can’t create a variable named goto. |
if | Tests to see whether a condition is true. If it’s true, the computer executes certain statements; otherwise, the computer executes other statements. |
implements | Indicates that a class provides bodies for methods whose headers are declared in an interface. |
import | Enables the programmer to abbreviate the names of classes defined in a package. |
instanceof | Tests to see whether a certain object comes from a certain class. |
int | Indicates that a value is a 32-bit whole number. |
interface | Introduces an interface. An interface is like a class but, for the most part, an interface’s methods have no bodies. |
long | Indicates that a value is a 64-bit whole number. |
native | Enables the programmer to use code that was written in a language other than Java. |
new | Creates an object from an existing class. |
package | Puts the code into a package — a collection of logically related definitions. |
private | Indicates that a variable or method can be used only within a certain class. |
protected | Indicates that a variable or method can be used in subclasses from another package. |
public | Indicates that a variable, class, or method can be used by any other Java code. |
return | Ends execution of a method and possibly returns a value to the calling code. |
short | Indicates that a value is a 16-bit whole number. |
static | Indicates that a variable or method belongs to a class rather than to any object created from the class. |
strictfp | Limits the computer’s ability to represent extra large or extra small numbers when the computer does intermediate calculations on float and double values. |
super | Proofer: Note mono + italic in the following entry.
Refers to the superclass of the code in which the word super appears. |
switch | Tells the computer to follow one of many possible paths of execution (one of many possible cases), depending on the value of an expression. |
synchronized | Keeps two threads from interfering with one another. |
this | A self-reference — refers to the object in which the word this appears. |
throw | Creates a new exception object and indicates that an exceptional situation (usually something unwanted) has occurred. |
throws | Indicates that a method or constructor may pass the buck when an exception is thrown. |
transient | Indicates that, if and when an object is serialized, a variable’s value doesn’t need to be stored. |
try | Introduces statements that are watched (during runtime) for things that can go wrong. |
void | Indicates that a method doesn’t return a value. |
volatile | Imposes strict rules on the use of a variable by more than one thread at a time. |
while | Repeats certain statements over and over (as long as a condition is still true). |
Java literals
In addition to the Java keywords, three of the words you use in a Java program are called literals. Each literal has a specific meaning in the language. You can’t use a literal for anything other than its preassigned meaning.
The following table lists Java’s literal words.
Literal | Description |
False | One of the two values that a boolean expression can possibly have. |
Null | The “nothing” value.
If you intend to have an expression refer to an object of some kind, but the expression doesn’t refer to any object, the expression’s value is null. |
True | One of the two values that a boolean expression can possibly have. |
Restricted Java keywords
With the release of Java 9, the language has ten new words, called restricted keywords. A restricted keyword has a specific meaning in the language, but only if you use that word in a specific way. For example, if you write
requires other.stuff;
you tell Java that your program won’t run unless it has access to some other code (the code contained in other.stuff). But if you write
int requires = 10;
then requires is an ordinary int variable.
The following table lists Java’s restricted keywords.
|
What it means | |||
exports | The code in a particular package is available for use by code in other modules. | |||
module | A bunch of packages. | |||
open | All packages in a module are, in a certain way, available for use by code in other modules. | |||
opens | You gain access to all code in another module, and it uses Java reflection, which tends to be messy. | |||
provides | A module makes a service available. | |||
requires | The program won’t run unless it has access to additional code. | |||
to | Names the code that has permission to use a particular piece of code. | |||
transitive | When my code requires use of the A code, and the Z code requires use of my code, Z code automatically requires A code. | |||
uses | A module uses a service. | |||
var | A variable is declared, leaving Java to infer the variable’s type. | |||
with | A particular way of using a service is specified. | |||
Yield | The value of a case clause is marked in a switch expression. |
Identifiers in the Java API
The Java API (Application Programming Interface) has thousands of identifiers. Each identifier is the name of something (a class, an object, a method, or something like that). These identifiers include System, out, println, String, toString, JFrame, File, Scanner, next, nextInt, Exception, close, ArrayList, stream, JTextField, Math, Random, MenuItem, Month, parseInt, Query, Rectangle, Color, Oval, paint, Robot, SQLData, Stack, Queue, TimeZone, URL, and so many others. You can reuse any of these names for any purpose in your code. But if you do, you might have trouble using a name with its normal meaning from the Java API. For example, you can write
int System = 7;
java.lang.System.out.println(System);
But you can’t write
int System = 7;
System.out.println(System);
Java identifiers that you (the programmer) declare
In your own Java program, you can make up names to your heart’s delight. For example, in the code
double multiplyByTwo(double myValue) {
return myValue * 2;
}
the names multiplyByTwo and myValue are your very own identifiers.
When you create a new name, you can use letters, digits, underscores (_), and dollar signs ($). But don’t start the name with a digit. If you try to start a name with a digit, Java replies with a “Please don’t do that” message.