What Is Java?
What Is Java?
It is used for:
Java Install
Some PCs might have Java already installed.
To check if you have Java installed on a Windows PC, search in the start bar for
Java or type the following in Command Prompt (cmd.exe):
C:\Users\Your Name>java -version
If Java is installed, you will see something like this (depending on version):
If you do not have Java installed on your computer, you can download it for free
from oracle.com.
Note: In this tutorial, we will write Java code in a text editor. However, it is
possible to write Java in an Integrated Development Environment, such as
IntelliJ IDEA, Netbeans or Eclipse, which are particularly useful when managing
larger collections of Java files.
Show how to install Java step-by-step with images »Step 2 »Step 3 »Step 4 »Step 5 »
Java Quickstart
In Java, every application begins with a class name, and that class must match
the filename.
Let's create our first Java file, called MyClass.java, which can be done in any
text editor (like Notepad).
The file should contain a "Hello World" message, which is written with the
following code:
MyClass.java
}
Run example »
Don't worry if you don't understand the code above - we will discuss it in detail
in later chapters. For now, focus on how to run the code above.
This will compile your code. If there are no errors in the code, the command
prompt will take you to the next line. Now, type "java MyClass" to run the file:
Hello World
Run example »
Run example »
Note: The curly braces {} marks the beginning and the end of a block of code.
Java Comments
Comments can be used to explain Java code, and to make it more readable. It
can also be used to prevent execution when testing alternative code.
Any text between // and the end of the line is ignored by Java (will not be
executed).
Example
// This is a comment
System.out.println("Hello World");
Run example »
Example
System.out.println("Hello World"); // This is a comment
Run example »
Java Multi-line Comments
Multi-line comments start with /* and ends with */.
Example
/* The code below will print the words Hello World
System.out.println("Hello World");
Run example »
Java Variables
Variables are containers for storing data values.
Syntax
type variable = value;
To create a variable that should store text, look at the following example:
Example
Create a variable called name of type String and assign it the value "John":
System.out.println(name);
Run example »
To create a variable that should store a number, look at the following example:
Example
Create a variable called myNum of type int and assign it the value 15:
System.out.println(myNum);
Run example »
You can also declare a variable without assigning the value, and assign the
value later:
Example
int myNum;
myNum = 15;
System.out.println(myNum);
Run example »
Note that if you assign a new value to an existing variable, it will overwrite the
previous value:
Example
Change the value of myNum from 15 to 20:
System.out.println(myNum);
Run example »
Final Variables
However, you can add the final keyword if you don't want others (or yourself)
to overwrite existing values (this will declare the variable as "final" or
"constant", which means unchangeable and read-only):
Example
final int myNum = 15;
myNum = 20; // will generate an error: cannot assign a value to a final
variable
Run example »
Other Types
A demonstration of how to declare variables of other types:
Example
int myNum = 5;
Display Variables
The println() method is often used to display variables.
Example
String name = "John";
Run example »
You can also use the + character to add a variable to another variable:
Example
String firstName = "John ";
System.out.println(fullName);
Run example »
Example
int x = 5;
int y = 6;
Run example »
System.out.println(x + y + z);
Run example »
Java Identifiers
All Java variables must be identified with unique names.
Identifiers can be short names (like x and y) or more descriptive names (age,
sum, totalVolume).
Example
// Good
int m = 60;
Run example »
The general rules for constructing names for variables (unique identifiers) are:
Example
int myNum = 5; // Integer (whole number)
Run example »
Numbers
Primitive number types are divided into two groups:
Integer types stores whole numbers, positive or negative (such as 123 or
-456), without decimals. Valid types are byte, short, int and long. Which type
you should use, depends on the numeric value.
Even though there are many numeric types in Java, the most used for numbers
are int (for whole numbers) and double (for floating point numbers). However,
we will describe them all as you continue to read.
Integer Types
Byte
The byte data type can store whole numbers from -128 to 127. This can be
used instead of int or other integer types to save memory when you are certain
that the value will be within -128 and 127:
Example
byte myNum = 100;
System.out.println(myNum);
Run example »
Short
The short data type can store whole numbers from -32768 to 32767:
Example
short myNum = 5000;
System.out.println(myNum);
Run example »
Int
The int data type can store whole numbers from -2147483648 to
2147483647. In general, and in our tutorial, the int data type is the preferred
data type when we create variables with a numeric value.
Example
int myNum = 100000;
System.out.println(myNum);
Run example »
Long
The long data type can store whole numbers from -9223372036854775808 to
9223372036854775807. This is used when int is not large enough to store the
value. Note that you should end the value with an "L":
Example
long myNum = 15000000000L;
System.out.println(myNum);
Run example »
Example
float myNum = 5.75f;
System.out.println(myNum);
Run example »
Double
The double data type can store fractional numbers from 1.7e−308 to 1.7e+308.
Note that you should end the value with a "d":
Example
double myNum = 19.99d;
System.out.println(myNum);
Run example »
Use float or double?
The precision of a floating point value indicates how many digits the value can
have after the decimal point. The precision of float is only six or seven decimal
digits, while double variables have a precision of about 15 digits. Therefore it is
safer to use double for most calculations.
Scientific Numbers
A floating point number can also be a scientific number with an "e" to indicate
the power of 10:
Example
float f1 = 35e3f;
double d1 = 12E4d;
System.out.println(f1);
System.out.println(d1);
Run example »
Booleans
A boolean data type is declared with the boolean keyword and can only take the
values true or false:
Example
boolean isJavaFun = true;
Run example »
Boolean values are mostly used for conditional testing, which you will learn
more about in a later chapter.
Characters
The char data type is used to store a single character. The character must be
surrounded by single quotes, like 'A' or 'c':
Example
char myGrade = 'B';
System.out.println(myGrade);
Run example »
Example
char a = 65, b = 66, c = 67;
System.out.println(a);
System.out.println(b);
System.out.println(c);
Run example »
Tip: A list of all ASCII values can be found in our ASCII Table Reference.
Strings
The String data type is used to store a sequence of characters (text). String
values must be surrounded by double quotes:
Example
String greeting = "Hello World";
System.out.println(greeting);
Run example »
The String type is so much used and integrated in Java, that some call it "the
special ninth type".
Example
public class MyClass {
int myInt = 9;
System.out.println(myInt); // Outputs 9
Run example »
Narrowing Casting
Narrowing casting must be done manually by placing the type in parentheses in
front of the value:
Example
public class MyClass {
System.out.println(myInt); // Outputs 9
Run example »
Example
int x = 10;
Run example »
Example
int x = 10;
x += 5;
Run example »
= x=5 x=5
+= x += 3 x=x+
-= x -= 3 x=x-
*= x *= 3 x=x*
/= x /= 3 x=x/
%= x %= 3 x=x%
|= x |= 3 x=x|
^= x ^= 3 x=x^
== Equal to x == y
!= Not equal x != y
! Logical not Reverse the result, returns false if the result is true
Operator Description
<< Zero-fill left shift - Shift left by pushing zeroes in from the right and letting the leftmost bits fall off
>> Signed right shift - Shift right by pushing copies of the leftmost bit in from the left and letting the ri
>>> Zero-fill right shift - Shift right by pushing zeroes in from the left and letting the rightmost bits fall o
The Bitwise examples above use 4-bit unsigned examples, but Java uses 32-bit
signed integers and 64-bit signed long integers. Because of this, in Java, ~5 will
not return 10. It will return -6. ~00000000000000000000000000000101 will
return 11111111111111111111111111111010
Java Strings
Strings are used for storing text.
Example
Create a variable of type String and assign it a value:
Run example »
String Length
A String in Java is actually an object, which contain methods that can perform
certain operations on strings. For example, the length of a string can be found
with the length() method:
Example
String txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
Run example »
Example
String txt = "Hello World";
Run example »
Example
String txt = "Please locate where 'locate' occurs!";
System.out.println(txt.indexOf("locate")); // Outputs 7
Run example »
String Concatenation
The + operator can be used between strings to combine them. This is
called concatenation:
Example
String firstName = "John";
Run example »
Note that we have added an empty text (" ") to create a space between
firstName and lastName on print.
Example
String firstName = "John ";
System.out.println(firstName.concat(lastName));
Run example »
Special Characters
Because strings must be written within quotes, Java will misunderstand this
string, and generate an error:
String txt = "We are the so-called "Vikings" from the north.";
The backslash (\) escape character turns special characters into string
characters:
\\ \ Backslash
The sequence \" inserts a double quote in a string:
Example
String txt = "We are the so-called \"Vikings\" from the north.";
Run example »
Example
String txt = "It\'s alright.";
Run example »
Example
String txt = "The character \\ is called backslash.";
Run example »
Code Result
\n New Line
\r Carriage Return
\t Tab
\b Backspace
\f Form Feed
Example
int x = 10;
int y = 20;
Run example »
Example
String x = "10";
String y = "20";
If you add a number and a string, the result will be a string concatenation:
Example
String x = "10";
int y = 20;
Run example »
The Java Math class has many methods that allows you to perform
mathematical tasks on numbers.
Math.max(x,y)
The Math.max(x,y) method can be used to find the highest value of x and y:
Example
Math.max(5, 10);
Run example »
Math.min(x,y)
The Math.min(x,y) method can be used to find the lowest value of of x and y:
Example
Math.min(5, 10);
Run example »
Math.sqrt(x)
The Math.sqrt(x) method returns the square root of x:
Example
Math.sqrt(64);
Run example »
Math.abs(x)
The Math.abs(x) method returns the absolute (positive) value of x:
Example
Math.abs(-4.7);
Run example »
Random Numbers
Math.random() returns a random number between 0.0 (inclusive), and 1.0
(exclusive):
Example
Math.random();
Run example »
To get more control over the random number, e.g. you only want a random
number between 0 and 100, you can use the following formula:
Example
int randomNum = (int)(Math.random() * 101); // 0 to 100
Run example »
Java Booleans
Very often, in programming, you will need a data type that can only have one of
two values, like:
YES / NO
ON / OFF
TRUE / FALSE
For this, Java has a boolean data type, which can take the values true or false.
Boolean Values
A boolean type is declared with the boolean keyword and can only take the
values true or false:
Example
boolean isJavaFun = true;
Run example »
Boolean Expression
A Boolean expression is a Java expression that returns a Boolean
value: true or false.
Example
int x = 10;
int y = 9;
System.out.println(x > y); // returns true, because 10 is higher than 9
Run example »
Or even easier:
Example
System.out.println(10 > 9); // returns true, because 10 is higher than 9
Run example »
Example
int x = 10;
Run example »
Example
System.out.println(10 == 15); // returns false, because 10 is not equal
to 15
Run example »
The Boolean value of an expression is the basis for all Java comparisons and
conditions.
You can use these conditions to perform different actions for different decisions.
The if Statement
Use the if statement to specify a block of Java code to be executed if a
condition is true.
Syntax
if (condition) {
Note that if is in lowercase letters. Uppercase letters (If or IF) will generate an
error.
In the example below, we test two values to find out if 20 is greater than 18. If
the condition is true, print some text:
Example
if (20 > 18) {
Run example »
Example
int x = 20;
int y = 18;
if (x > y) {
Run example »
Example explained
} else {
Example
int time = 20;
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
Run example »
Example explained
In the example above, time (20) is greater than 18, so the condition is false.
Because of this, we move on to the else condition and print to the screen "Good
evening". If the time was less than 18, the program would print "Good day".
} else if (condition2) {
} else {
Example
int time = 22;
System.out.println("Good morning.");
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
Run example »
Example explained
However, if the time was 14, our program would print "Good day."
Syntax
variable = (condition) ? expressionTrue : expressionFalse;
Instead of writing:
Example
int time = 20;
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
Run example »
Example
int time = 20;
Run example »
Syntax
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
The example below uses the weekday number to calculate the weekday name:
Example
int day = 4;
switch (day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
case 4:
System.out.println("Thursday");
break;
case 5:
System.out.println("Friday");
break;
case 6:
System.out.println("Saturday");
break;
case 7:
System.out.println("Sunday");
break;
}
// Outputs "Thursday" (day 4)
Run example »
This will stop the execution of more code and case testing inside the block.
When a match is found, and the job is done, it's time for a break. There is no
need for more testing.
A break can save a lot of execution time because it "ignores" the execution of
all the rest of the code in the switch block.
Example
int day = 4;
switch (day) {
case 6:
System.out.println("Today is Saturday");
break;
case 7:
System.out.println("Today is Sunday");
break;
default:
Run example »
Loops
Loops can execute a block of code as long as a specified condition is reached.
Loops are handy because they save time, reduce errors, and they make code
more readable.
Syntax
while (condition) {
}
In the example below, the code in the loop will run, over and over again, as
long as a variable (i) is less than 5:
Example
int i = 0;
while (i < 5) {
System.out.println(i);
i++;
Run example »
Note: Do not forget to increase the variable used in the condition, otherwise
the loop will never end!
Syntax
do {
while (condition);
The example below uses a do/while loop. The loop will always be executed at
least once, even if the condition is false, because the code block is executed
before the condition is tested:
Example
int i = 0;
do {
System.out.println(i);
i++;
Run example »
Do not forget to increase the variable used in the condition, otherwise the loop
will never end!
Syntax
for (statement 1; statement 2; statement 3) {
Statement 1 is executed (one time) before the execution of the code block.
Statement 3 is executed (every time) after the code block has been executed.
System.out.println(i);
Run example »
Example explained
Statement 2 defines the condition for the loop to run (i must be less than 5). If
the condition is true, the loop will start over again, if it is false, the loop will
end.
Statement 3 increases a value (i++) each time the code block in the loop has
been executed.
Another Example
This example will only print even values between 0 and 10:
Example
for (int i = 0; i <= 10; i = i + 2) {
System.out.println(i);
Run example »
For-Each Loop
There is also a "for-each" loop, which is used exclusively to loop through
elements in an array:
Syntax
for (type variableName : arrayName) {
Example
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
System.out.println(i);
Run example »
Note: Don't worry if you don't understand the example above. You will learn
more about Arrays in the Java Arrays chapter.
Java Break
You have already seen the break statement used in an earlier chapter of this
tutorial. It was used to "jump out" of a switch statement.
if (i == 4) {
break;
System.out.println(i);
Run example »
Java Continue
The continue statement breaks one iteration (in the loop), if a specified condition
occurs, and continues with the next iteration in the loop.
Example
for (int i = 0; i < 10; i++) {
if (i == 4) {
continue;
System.out.println(i);
Run example »
Break and Continue in While Loop
You can also use break and continue in while loops:
Break Example
int i = 0;
System.out.println(i);
i++;
if (i == 4) {
break;
Run example »
Continue Example
int i = 0;
if (i == 4) {
i++;
continue;
System.out.println(i);
i++;
Run example »
Java Arrays
Arrays are used to store multiple values in a single variable, instead of declaring
separate variables for each value.
String[] cars;
We have now declared a variable that holds an array of strings. To insert values
to it, we can use an array literal - place the values in a comma-separated list,
inside curly braces:
System.out.println(cars[0]);
// Outputs Volvo
Run example »
Note: Array indexes start with 0: [0] is the first element. [1] is the second
element, etc.
Example
cars[0] = "Opel";
Example
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
cars[0] = "Opel";
System.out.println(cars[0]);
Run example »
Array Length
To find out how many elements an array has, use the length property:
Example
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
System.out.println(cars.length);
// Outputs 4
Run example »
Example
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
System.out.println(cars[i]);
Run example »
...
Example
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
System.out.println(i);
Run example »
Multidimensional Arrays
A multidimensional array is an array containing one or more arrays.
To create a two-dimensional array, add each array within its own set of curly
braces:
Example
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
myNumbers is now an array with two arrays as its elements.
Example
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
int x = myNumbers[1][2];
System.out.println(x); // Outputs 7
Run example »
We can also use a for loop inside another for loop to get the elements of a
two-dimensional array (we still have to point to the two indexes):
Example
public class MyClass {
System.out.println(myNumbers[i][j]);
}
}