0% found this document useful (0 votes)
39 views

What Is Java?

Java is a popular programming language created in 1995 that is owned by Oracle. It is used widely for mobile apps, desktop apps, web apps, and more. Over 3 billion devices run Java. Some key reasons for using Java include its ability to run on multiple platforms, its popularity, ease of use, being open-source and free, and its large community support.

Uploaded by

Hestia HD
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views

What Is Java?

Java is a popular programming language created in 1995 that is owned by Oracle. It is used widely for mobile apps, desktop apps, web apps, and more. Over 3 billion devices run Java. Some key reasons for using Java include its ability to run on multiple platforms, its popularity, ease of use, being open-source and free, and its large community support.

Uploaded by

Hestia HD
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 54

What is Java?

Java is a popular programming language, created in 1995.

It is owned by Oracle, and more than 3 billion devices run Java.

It is used for:

 Mobile applications (specially Android apps)


 Desktop applications
 Web applications
 Web servers and application servers
 Games
 Database connection
 And much, much more!

Why Use Java?


 Java works on different platforms (Windows, Mac, Linux, Raspberry Pi,
etc.)
 It is one of the most popular programming language in the world
 It is easy to learn and simple to use
 It is open-source and free
 It is secure, fast and powerful
 It has a huge community support (tens of millions of developers)
 Java is an object oriented language which gives a clear structure to
programs and allows code to be reused, lowering development costs
 As Java is close to C++ and C#, it makes it easy for programmers to
switch to Java or vice versa

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):

java version "11.0.1" 2018-10-16 LTS


Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed
mode)

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.

Setup for Windows


To install Java on Windows:

1. Go to "System Properties" (Can be found on Control Panel > System and


Security > System > Advanced System Settings)
2. Click on the "Environment variables" button under the "Advanced" tab
3. Then, select the "Path" variable in System variables and click on the
"Edit" button
4. Click on the "New" button and add the path where Java is installed,
followed by \bin. By default, Java is installed in C:\Program
Files\Java\jdk-11.0.1 (If nothing else was specified when you installed it).
In that case, You will have to add a new path with: C:\Program
Files\Java\jdk-11.0.1\bin
Then, click "OK", and save the settings
5. At last, open Command Prompt (cmd.exe) and type java -version to see
if Java is running on your machine

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

public class MyClass {

  public static void main(String[] args) {

    System.out.println("Hello World");

  }

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.

Save the code in Notepad as "MyClass.java". Open Command Prompt


(cmd.exe), navigate to the directory where you saved your file, and type "javac
MyClass.java":

C:\Users\Your Name>javac MyClass.java

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:

C:\Users\Your Name>java MyClass

The output should read:

Hello World
Run example »

Congratulations! You have written and executed your first Java program.


System.out.println("Hello World");

Run example »

Note: The curly braces {} marks the beginning and the end of a block of code.

Note: Each code statement must end with a semicolon.

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.

Single-line comments start with two forward slashes (//).

Any text between // and the end of the line is ignored by Java (will not be
executed).

This example uses a single-line comment before a line of code:

Example
// This is a comment

System.out.println("Hello World");

Run example »

This example uses a single-line comment at the end of a line of code:

Example
System.out.println("Hello World"); // This is a comment

Run example »
Java Multi-line Comments
Multi-line comments start with /* and ends with */.

Any text between /* and */ will be ignored by Java.

This example uses a multi-line comment (a comment block) to explain the


code:

Example
/* The code below will print the words Hello World

to the screen, and it is amazing */

System.out.println("Hello World");

Run example »

Single or multi-line comments?

It is up to you which you want to use. Normally, we use // for short comments,


and /* */ for longer.

Java Variables
Variables are containers for storing data values.

In Java, there are different types of variables, for example:

 String - stores text, such as "Hello". String values are surrounded by


double quotes
 int - stores integers (whole numbers), without decimals, such as 123 or
-123
 float - stores floating point numbers, with decimals, such as 19.99 or
-19.99
 char - stores single characters, such as 'a' or 'B'. Char values are
surrounded by single quotes
 boolean - stores values with two states: true or false

Declaring (Creating) Variables


To create a variable, you must specify the type and assign it a value:

Syntax
type variable = value;

Where type is one of Java's types (such as int or String), and variable is the


name of the variable (such as x or name). The equal sign is used to assign
values to the variable.

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":

String name = "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:

int myNum = 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:

int myNum = 15;

myNum = 20; // myNum is now 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;

float myFloatNum = 5.99f;

char myLetter = 'D';

boolean myBool = true;

String myText = "Hello";

You will learn more about data types in the next chapter.

Display Variables
The println() method is often used to display variables.

To combine both text and a variable, use the + character:

Example
String name = "John";

System.out.println("Hello " + name);

Run example »
You can also use the + character to add a variable to another variable:

Example
String firstName = "John ";

String lastName = "Doe";

String fullName = firstName + lastName;

System.out.println(fullName);

Run example »

For numeric values, the + character works as a mathematical operator (notice


that we use int (integer) variables here):

Example
int x = 5;

int y = 6;

System.out.println(x + y); // Print the value of x + y

Run example »

From the example above, you can expect:

 x stores the value 5


 y stores the value 6
 Then we use the println() method to display the value of x + y, which
is 11

Declare Many Variables


To declare more than one variable of the same type, use a comma-separated
list:
Example
int x = 5, y = 6, z = 50;

System.out.println(x + y + z);

Run example »

Java Identifiers
All Java variables must be identified with unique names.

These unique names are called identifiers.

Identifiers can be short names (like x and y) or more descriptive names (age,
sum, totalVolume).

Note: It is recommended to use descriptive names in order to create


understandable and maintainable code:

Example
// Good

int minutesPerHour = 60;

// OK, but not so easy to understand what m actually is

int m = 60;

Run example »

The general rules for constructing names for variables (unique identifiers) are:

 Names can contain letters, digits, underscores, and dollar signs


 Names must begin with a letter
 Names should start with a lowercase letter and it cannot contain
whitespace
 Names can also begin with $ and _ (but we will not use it in this tutorial)
 Names are case sensitive ("myVar" and "myvar" are different variables)
 Reserved words (like Java keywords, such as int or boolean) cannot be
used as names

Java Data Types


As explained in the previous chapter, a variable in Java must be a specified data
type:

Example
int myNum = 5; // Integer (whole number)

float myFloatNum = 5.99f; // Floating point number

char myLetter = 'D'; // Character

boolean myBool = true; // Boolean

String myText = "Hello"; // String

Run example »

Data types are divided into two groups:

 Primitive data types -


includes byte, short, int, long, float, double, boolean and char
 Non-primitive data types - such as String, Arrays and Classes (you will
learn more about these in a later chapter)

Primitive Data Types


A primitive data type specifies the size and type of variable values, and it has
no additional methods.

There are eight primitive data types in Java:


Data Type Size Description

byte 1 byte Stores whole numbers from -128 to 127

short 2 bytes Stores whole numbers from -32,768 to 32,767

int 4 bytes Stores whole numbers from -2,147,483,648 to 2,147

long 8 bytes Stores whole numbers from -9,223,372,036,854,775

float 4 bytes Stores fractional numbers. Sufficient for storing 6 to

double 8 bytes Stores fractional numbers. Sufficient for storing 15 d

boolean 1 bit Stores true or false values

char 2 bytes Stores a single character/letter or ASCII values

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.

Floating point types represents numbers with a fractional part, containing one


or more decimals. There are two types: float and double.

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 »

Floating Point Types


You should use a floating point type whenever you need a number with a
decimal, such as 9.99 or 3.14515.
Float
The float data type can store fractional numbers from 3.4e−038 to 3.4e+038.
Note that you should end the value with an "f":

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;

boolean isFishTasty = false;

System.out.println(isJavaFun); // Outputs true

System.out.println(isFishTasty); // Outputs false

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 »

Alternatively, you can use ASCII values to display certain characters:

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".

A String in Java is actually a non-primitive data type, because it refers to an


object. The String object has methods that are used to perform certain
operations on strings. Don't worry if you don't understand the term
"object" just yet. We will learn more about strings and objects in a later
chapter.
Non-Primitive Data Types
Non-primitive data types are called reference types because they refer to
objects.

The main difference between primitive and non-primitive data types are:

 Primitive types are predefined (already defined) in Java. Non-primitive


types are created by the programmer and is not defined by Java (except
for String).
 Non-primitive types can be used to call methods to perform certain
operations, while primitive types cannot.
 A primitive type has always a value, while non-primitive types can
be null.
 A primitive type starts with a lowercase letter, while non-primitive types
starts with an uppercase letter.
 The size of a primitive type depends on the data type, while non-primitive
types have all the same size.

Examples of non-primitive types are Strings, Arrays, Classes, Interface, etc. You


will learn more about these in a later chapter.

Java Type Casting


Type casting is when you assign a value of one primitive data type to another
type.

In Java, there are two types of casting:

 Widening Casting (automatically) - converting a smaller type to a larger


type size
byte -> short -> char -> int -> long -> float -> double

 Narrowing Casting (manually) - converting a larger type to a smaller


size type
double -> float -> long -> int -> char -> short -> byte
Widening Casting
Widening casting is done automatically when passing a smaller size type to a
larger size type:

Example
public class MyClass {

public static void main(String[] args) {

int myInt = 9;

double myDouble = myInt; // Automatic casting: int to double

System.out.println(myInt); // Outputs 9

System.out.println(myDouble); // Outputs 9.0

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 {

public static void main(String[] args) {

double myDouble = 9.78;

int myInt = (int) myDouble; // Manual casting: double to int


System.out.println(myDouble); // Outputs 9.78

System.out.println(myInt); // Outputs 9

Run example »

Java Assignment Operators


Assignment operators are used to assign values to variables.

In the example below, we use the assignment operator (=) to assign the


value 10 to a variable called x:

Example
int x = 10;

Run example »

The addition assignment operator (+=) adds a value to a variable:

Example
int x = 10;

x += 5;

Run example »

A list of all assignment operators:


Operator Example Same A

= 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|

^= x ^= 3 x=x^

>>= x >>= 3 x=x>


<<= x <<= 3 x=x<

Java Comparison Operators


Comparison operators are used to compare two values:

Operator Name Examp

== Equal to x == y

!= Not equal x != y

> Greater than x>y

< Less than x<y

>= Greater than or equal to x >= y

<= Less than or equal to x <= y


Java Logical Operators
Logical operators are used to determine the logic between variables or values:

Operator Name Description

&&  Logical and Returns true if both statements are true

||  Logical or Returns true if one of the statements is true

! Logical not Reverse the result, returns false if the result is true

Java Bitwise Operators


Bitwise operators are used to perform binary logic with the bits of an integer or
long integer.

Operator Description

& AND - Sets each bit to 1 if both bits are 1

| OR - Sets each bit to 1 if any of the two bits is 1


~ NOT - Inverts all the bits

^ XOR - Sets each bit to 1 if only one of the two bits is 1

<< 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

In Java, 9 >> 1 will not return 12. It will return 4.


00000000000000000000000000001001 >> 1 will return
00000000000000000000000000000100

Java Strings
Strings are used for storing text.

A String variable contains a collection of characters surrounded by double


quotes:

Example
Create a variable of type String and assign it a value:

String greeting = "Hello";

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";

System.out.println("The length of the txt string is: " + txt.length());

Run example »

More String Methods


There are many string methods available, for
example toUpperCase() and toLowerCase():

Example
String txt = "Hello World";

System.out.println(txt.toUpperCase()); // Outputs "HELLO WORLD"


System.out.println(txt.toLowerCase()); // Outputs "hello world"

Run example »

Finding a Character in a String


The indexOf() method returns the index (the position) of the first occurrence of
a specified text in a string (including whitespace):

Example
String txt = "Please locate where 'locate' occurs!";

System.out.println(txt.indexOf("locate")); // Outputs 7

Run example »

Java counts positions from zero.


0 is the first position in a string, 1 is the second, 2 is the third ...

String Concatenation
The + operator can be used between strings to combine them. This is
called concatenation:

Example
String firstName = "John";

String lastName = "Doe";

System.out.println(firstName + " " + lastName);

Run example »
Note that we have added an empty text (" ") to create a space between
firstName and lastName on print.

You can also use the concat() method to concatenate two strings:

Example
String firstName = "John ";

String lastName = "Doe";

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 solution to avoid this problem, is to use the backslash escape character.

The backslash (\) escape character turns special characters into string
characters:

Escape character Result Descript

\' ' Single qu

\" " Double q

\\ \ Backslash
The sequence \"  inserts a double quote in a string:

Example
String txt = "We are the so-called \"Vikings\" from the north.";

Run example »

The sequence \'  inserts a single quote in a string:

Example
String txt = "It\'s alright.";

Run example »

The sequence \\  inserts a single backslash in a string:

Example
String txt = "The character \\ is called backslash.";

Run example »

Six other escape sequences are valid in Java:

Code Result

\n New Line

\r Carriage Return
\t Tab

\b Backspace

\f Form Feed

Adding Numbers and Strings


WARNING!

Java uses the + operator for both addition and concatenation.

Numbers are added. Strings are concatenated.

If you add two numbers, the result will be a number:

Example
int x = 10;

int y = 20;

int z = x + y; // z will be 30 (an integer/number)

Run example »

If you add two strings, the result will be a string concatenation:

Example
String x = "10";

String y = "20";

String z = x + y; // z will be 1020 (a String)


Run example »

If you add a number and a string, the result will be a string concatenation:

Example
String x = "10";

int y = 20;

String z = x + y; // z will be 1020 (a String)

Run example »

Complete String Reference


For a complete reference of String methods, go to our Java String Methods
Reference.

The reference contains descriptions and examples of all string methods.

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;

boolean isFishTasty = false;

System.out.println(isJavaFun); // Outputs true

System.out.println(isFishTasty); // Outputs false

Run example »

However, it is more common to return boolean values from boolean


expressions, for conditional testing (see below).

Boolean Expression
A Boolean expression is a Java expression that returns a Boolean
value: true or false.

You can use a comparison operator, such as the greater than (>) operator to


find out if an expression (or a variable) is true:

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 »

In the examples below, we use the equal to (==) operator to evaluate an


expression:

Example
int x = 10;

System.out.println(x == 10); // returns true, because the value of x is


equal to 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 will learn more about conditions in the next chapter.

Java Conditions and If Statements


Java supports the usual logical conditions from mathematics:
 Less than: a < b
 Less than or equal to: a <= b
 Greater than: a > b
 Greater than or equal to: a >= b
 Equal to a == b
 Not Equal to: a != b

You can use these conditions to perform different actions for different decisions.

Java has the following conditional statements:

 Use if to specify a block of code to be executed, if a specified condition is


true
 Use else to specify a block of code to be executed, if the same condition
is false
 Use else if to specify a new condition to test, if the first condition is
false
 Use switch to specify many alternative blocks of code to be executed

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) {

// block of code to be executed if the condition is true

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) {

System.out.println("20 is greater than 18");

Run example »

We can also test variables:

Example
int x = 20;

int y = 18;

if (x > y) {

System.out.println("x is greater than y");

Run example »

Example explained

In the example above we use two variables, x and y, to test whether x is


greater than y (using the > operator). As x is 20, and y is 18, and we know that
20 is greater than 18, we print to the screen that "x is greater than y".

The else Statement


Use the else statement to specify a block of code to be executed if the condition
is false.
Syntax
if (condition) {

// block of code to be executed if the condition is true

} else {

// block of code to be executed if the condition is false

Example
int time = 20;

if (time < 18) {

System.out.println("Good day.");

} else {

System.out.println("Good evening.");

// Outputs "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".

The else if Statement


Use the else if statement to specify a new condition if the first condition
is false.
Syntax
if (condition1) {

// block of code to be executed if condition1 is true

} else if (condition2) {

// block of code to be executed if the condition1 is false and


condition2 is true

} else {

// block of code to be executed if the condition1 is false and


condition2 is false

Example
int time = 22;

if (time < 10) {

System.out.println("Good morning.");

} else if (time < 20) {

System.out.println("Good day.");

} else {

System.out.println("Good evening.");

// Outputs "Good evening."

Run example »

Example explained

In the example above, time (22) is greater than 10, so the first


condition is false. The next condition, in the else if statement, is also false, so
we move on to the else condition since condition1 and condition2 is
both false - and print to the screen "Good evening".

However, if the time was 14, our program would print "Good day."

Short Hand If...Else (Ternary Operator)


There is also a short-hand if else, which is known as the ternary
operator because it consists of three operands. It can be used to replace
multiple lines of code with a single line. It is often used to replace simple if else
statements:

Syntax
variable = (condition) ? expressionTrue : expressionFalse;

Instead of writing:

Example
int time = 20;

if (time < 18) {

System.out.println("Good day.");

} else {

System.out.println("Good evening.");

Run example »

You can simply write:

Example
int time = 20;

String result = (time < 18) ? "Good day." : "Good evening.";


System.out.println(result);

Run example »

Java Switch Statements


Use the switch statement to select one of many code blocks to be executed.

Syntax
switch(expression) {

case x:

// code block

break;

case y:

// code block

break;

default:

// code block

This is how it works:

 The switch expression is evaluated once.


 The value of the expression is compared with the values of each case.
 If there is a match, the associated block of code is executed.
 The break and default keywords are optional, and will be described later
in this chapter

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 »

The break Keyword


When Java reaches a break keyword, it breaks out of the switch block.

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.

The default Keyword


The default keyword specifies some code to run if there is no case match:

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:

System.out.println("Looking forward to the Weekend");

// Outputs "Looking forward to the Weekend"

Run example »

Note that if the default statement is used as the last statement in a switch


block, it does not need a break.

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.

Java While Loop


The while loop loops through a block of code as long as a specified condition
is true:

Syntax
while (condition) {

// code block to be executed

}
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!

The Do/While Loop


The do/while loop is a variant of the while loop. This loop will execute the code
block once, before checking if the condition is true, then it will repeat the loop
as long as the condition is true.

Syntax
do {

// code block to be executed

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++;

while (i < 5);

Run example »

Do not forget to increase the variable used in the condition, otherwise the loop
will never end!

Java For Loop


When you know exactly how many times you want to loop through a block of
code, use the for loop instead of a while loop:

Syntax
for (statement 1; statement 2; statement 3) {

// code block to be executed

Statement 1 is executed (one time) before the execution of the code block.

Statement 2 defines the condition for executing the code block.

Statement 3 is executed (every time) after the code block has been executed.

The example below will print the numbers 0 to 4:


Example
for (int i = 0; i < 5; i++) {

System.out.println(i);

Run example »

Example explained

Statement 1 sets a variable before the loop starts (int i = 0).

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) {

// code block to be executed

The following example outputs all elements in the cars array, using a "for-


each" loop:

Example
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

for (String i : cars) {

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.

The break statement can also be used to jump out of a loop.

This example jumps out of the loop when i is equal to 4:


Example
for (int i = 0; i < 10; i++) {

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.

This example skips the value of 4:

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;

while (i < 10) {

System.out.println(i);

i++;

if (i == 4) {

break;

Run example »

Continue Example
int i = 0;

while (i < 10) {

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.

To declare an array, define the variable type with square brackets:

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:

String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

To create an array of integers, you could write:

int[] myNum = {10, 20, 30, 40};

Access the Elements of an Array


You access an array element by referring to the index number.

This statement accesses the value of the first element in cars:


Example
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

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.

Change an Array Element


To change the value of a specific element, refer to the index number:

Example
cars[0] = "Opel";

Example
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

cars[0] = "Opel";

System.out.println(cars[0]);

// Now outputs Opel instead of Volvo

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 »

Loop Through an Array


You can loop through the array elements with the for loop, and use
the length property to specify how many times the loop should run.

The following example outputs all elements in the cars array:

Example
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

for (int i = 0; i < cars.length; i++) {

System.out.println(cars[i]);

Run example »

Loop Through an Array with For-Each


There is also a "for-each" loop, which is used exclusively to loop through
elements in arrays:
Syntax
for (type variable : arrayname) {

...

The following example outputs all elements in the cars array, using a "for-


each" loop:

Example
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

for (String i : cars) {

System.out.println(i);

Run example »

The example above can be read like this: for each String element (called i - as


in index) in cars, print out the value of i.

If you compare the for loop and for-each loop, you will see that the for-


each method is easier to write, it does not require a counter (using the length
property), and it is more readable.

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.

To access the elements of the myNumbers array, specify two indexes: one for


the array, and one for the element inside that array. This example accesses the
third element (2) in the second array (1) of myNumbers:

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 {

public static void main(String[] args) {

int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };

for (int i = 0; i < myNumbers.length; ++i) {

for(int j = 0; j < myNumbers[i].length; ++j) {

System.out.println(myNumbers[i][j]);

}
}

You might also like