0% found this document useful (0 votes)
5 views94 pages

Java Install

The document discusses how to install Java on Windows. It provides step-by-step instructions on downloading and setting up Java, and verifying the installation. It also covers creating a basic Java program that prints 'Hello World' to demonstrate a simple Java code.

Uploaded by

degadisa104
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
0% found this document useful (0 votes)
5 views94 pages

Java Install

The document discusses how to install Java on Windows. It provides step-by-step instructions on downloading and setting up Java, and verifying the installation. It also covers creating a basic Java program that prints 'Hello World' to demonstrate a simple Java code.

Uploaded by

degadisa104
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 94

1.

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 at 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 2
Step 3

Step 4
Step 5

Write the following in the command line (cmd.exe):

C:\Users\Your Name>java -version

If Java was successfully 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

2. 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 Main.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:

Main.java

public class Main

public static void main(String[] args)

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

}
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 "Main.java".


 Open Command Prompt (cmd.exe), navigate to the directory where
you saved your file, and type "javac Main.java":

C:\Users\Your Name>javac Main.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 Main" to run the file:

C:\Users\Your Name>java Main

The output should read:

Hello World
3. Java Syntax

In the previous chapter, we created a Java file called Main.java, and we used
the following code to print "Hello World" to the screen:

Main.java

public class Main {

public static void main(String[] args) {

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

Example explained

Every line of code that runs in Java must be inside a class. In our example, we
named the class Main. A class should always start with an uppercase first
letter.

Note: Java is case-sensitive: "MyClass" and "myclass" has different meaning.

The name of the java file must match the class name. When saving the file,
save it using the class name and add ".java" to the end of the filename. To
run the example above on your computer, make sure that Java is properly
installed: Go to the Get Started Chapter for how to install Java. The output
should be:

Hello World

The main Method

The main() method is required and you will see it in every Java program:

public static void main(String[] args)


Any code inside the main() method will be executed. Don't worry about the
keywords before and after main. You will get to know them bit by bit while
reading this tutorial.

For now, just remember that every Java program has a class name which
must match the filename, and that every program must contain
the main() method.

System.out.println()

Inside the main() method, we can use the println() method to print a line of
text to the screen:

public static void main(String[] args) {

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

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

System is a built-in Java class that contains useful members, such as out,
which is short for "output". The println() method, short for "print line", is
used to print a value to the screen (or a file).

Don't worry too much about System, out and println(). Just know that you
need them together to print stuff to the screen.

You should also note that each code statement must end with a semicolon
(;).

Exercise:
Insert the missing part of the code below to output "Hello World".

public class MyClass {

public static void main(String[] args) {

. . ("Hello World");

4. Java Output / Print

Print Text

You learned from the previous chapter that you can use the println() method
to output values or print text in Java:

ExampleGet your own Java Server

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

You can add as many println() methods as you want. Note that it will add a
new line for each method:

Example

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

System.out.println("I am learning Java.");

System.out.println("It is awesome!");

Double Quotes

When you are working with text, it must be wrapped inside double
quotations marks "".
If you forget the double quotes, an error occurs:

Example

System.out.println("This sentence will work!");

System.out.println(This sentence will produce an error);

The Print() Method

There is also a print() method, which is similar to println().

The only difference is that it does not insert a new line at the end of the
output:

Example

System.out.print("Hello World! ");

System.out.print("I will print on the same line.");

Note that we add an extra space (after "Hello World!" in the example above),
for better readability.

In this tutorial, we will only use println() as it makes it easier to read the
output of code.

5. Java Output Numbers


Print Numbers

You can also use the println() method to print numbers.

However, unlike text, we don't put numbers inside double quotes:

Example

System.out.println(3);

System.out.println(358);

System.out.println(50000);

You can also perform mathematical calculations inside the println() method:

Example

System.out.println(3 + 3);

Example

System.out.println(2 * 5);

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

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

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

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

Single or multi-line comments?

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


comments, and /* */ for longer.

Exercise:
Insert the missing part to create two types of comments.

This is a single-line comment


This is a multi-line comment
6. 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 variableName = value;

Where type is one of Java's types (such as int or String), and variableName 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);

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

You can also declare a variable without assigning the value, and assign the
value later:

Example

int myNum;

myNum = 15;

System.out.println(myNum);

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

Final Variables

If you don't want others (or yourself) to overwrite existing values, use
the final keyword (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

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

Exercise:

Create a variable named carName and assign the value Volvo to it.

= ;
Java Print Variables
❮ PreviousNext ❯

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

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

ExampleGet your own Java Server


String name = "John";

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

Try it Yourself »

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

Try it Yourself »

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

Try it Yourself »

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

Java Declare Multiple Variables


❮ PreviousNext ❯

Declare Many Variables


To declare more than one variable of the same type, you can use a comma-
separated list:

ExampleGet your own Java Server


Instead of writing:

int x = 5;

int y = 6;

int z = 50;
System.out.println(x + y + z);

You can simply write:

int x = 5, y = 6, z = 50;

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

Try it Yourself »

One Value to Multiple Variables


You can also assign the same value to multiple variables in one line:

Example
int x, y, z;

x = y = z = 50;

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

Try it Yourself »

Test Yourself With Exercises


Exercise:
Fill in the missing parts to create three variables of the same type, using a comma-
separated list:

x = 5 y = 6 z = 50;

Submit Answer »

Start the Exercise


Java Identifiers
❮ PreviousNext ❯

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:

ExampleGet your own Java Server


// Good

int minutesPerHour = 60;

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

int m = 60;

Try it Yourself »

The general rules for naming variables 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


❮ PreviousNext ❯

Java Data Types


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

ExampleGet your own Java Server


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

Try it Yourself »

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

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

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

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

boolean 1 bit Stores true or false values

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


Test Yourself With Exercises
Exercise:
Add the correct data type for the following variables:

myNum = 9;
myFloatNum = 8.99f;
myLetter = 'A';
myBool = false;
myText = "Hello World";

Submit Answer »

Start the Exercise

Java Numbers
❮ PreviousNext ❯

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:

ExampleGet your own Java Server


byte myNum = 100;

System.out.println(myNum);

Try it Yourself »

Short
The short data type can store whole numbers from -32768 to 32767:

Example
short myNum = 5000;

System.out.println(myNum);

Try it Yourself »

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

Try it Yourself »

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

Try it Yourself »

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.

The float and double data types can store fractional numbers. Note that you should end the value
with an "f" for floats and "d" for doubles:

Float Example
float myNum = 5.75f;

System.out.println(myNum);

Try it Yourself »
Double Example
double myNum = 19.99d;

System.out.println(myNum);

Try it Yourself »
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);

Try it Yourself »

❮ PreviousNext ❯
Java Boolean Data Types
❮ PreviousNext ❯

Boolean Types
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 only take the values true or false:

ExampleGet your own Java Server


boolean isJavaFun = true;

boolean isFishTasty = false;

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

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

Try it Yourself »
Boolean values are mostly used for conditional testing.

You will learn much more about booleans and conditions later in this tutorial.

❮ PreviousNext ❯
Java Characters
❮ PreviousNext ❯

Characters
The char data type is used to store a single character. The character must be
surrounded by single quotes, like 'A' or 'c':

ExampleGet your own Java Server


char myGrade = 'B';

System.out.println(myGrade);

Try it Yourself »

Alternatively, if you are familiar with ASCII values, you can use those to display
certain characters:

Example
char myVar1 = 65, myVar2 = 66, myVar3 = 67;

System.out.println(myVar1);

System.out.println(myVar2);

System.out.println(myVar3);

Try it Yourself »

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

Try it Yourself »
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.

Java Non-Primitive Data Types


❮ PreviousNext ❯

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.

Examples of non-primitive types are Strings, Arrays, Classes, Interface, etc. You
will learn more about these in a later chapter.

Java Type Casting


❮ PreviousNext ❯

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:
ExampleGet your own Java Server
public class Main {

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

Try it Yourself »

Narrowing Casting
Narrowing casting must be done manually by placing the type in parentheses in
front of the value:

Example
public class Main {

public static void main(String[] args) {

double myDouble = 9.78d;

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

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

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

}
}

Try it Yourself »

Java Operators
❮ PreviousNext ❯

Java Operators
Operators are used to perform operations on variables and values.

In the example below, we use the + operator to add together two values:

ExampleGet your own Java Server


int x = 100 + 50;

Try it Yourself »

Although the + operator is often used to add together two values, like in the
example above, it can also be used to add together a variable and a value, or a
variable and another variable:

Example
int sum1 = 100 + 50; // 150 (100 + 50)

int sum2 = sum1 + 250; // 400 (150 + 250)

int sum3 = sum2 + sum2; // 800 (400 + 400)

Try it Yourself »

Java divides the operators into the following groups:

 Arithmetic operators
 Assignment operators
 Comparison operators
 Logical operators
 Bitwise operators

Arithmetic Operators
Arithmetic operators are used to perform common mathematical operations.

Operator Name Description Example

+ Addition Adds together two values x+y

- Subtraction Subtracts one value from another x-y

* Multiplication Multiplies two values x*y

/ Division Divides one value by another x/y

% Modulus Returns the division remainder x%y

++ Increment Increases the value of a variable by 1 ++x

-- Decrement Decreases the value of a variable by 1 --x


ADVERTISEMENT

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;

Try it Yourself »

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

Example
int x = 10;

x += 5;

Try it Yourself »

A list of all assignment operators:

Operator Example Same As

= x=5 x=5

+= x += 3 x=x+3
-= x -= 3 x=x-3

*= x *= 3 x=x*3

/= x /= 3 x=x/3

%= x %= 3 x=x%3

&= x &= 3 x=x&3

|= x |= 3 x=x|3

^= x ^= 3 x=x^3

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

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

Java Comparison Operators


Comparison operators are used to compare two values (or variables). This is
important in programming, because it helps us to find answers and make
decisions.
The return value of a comparison is either true or false. These values are
known as Boolean values, and you will learn more about them in
the Booleans and If..Else chapter.

In the following example, we use the greater than operator (>) to find out if 5
is greater than 3:

Example
int x = 5;

int y = 3;

System.out.println(x > y); // returns true, because 5 is higher than 3

Try it Yourself »

Operator Name Example Try it

== Equal to x == y Try it »

!= Not equal x != y Try it »

> Greater than x>y Try it »

< Less than x<y Try it »

>= Greater than or equal x >= y Try it »


to

<= Less than or equal to x <= y Try it »


Java Logical Operators
You can also test for true or false values with logical operators.

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

Operator Name Description Example Try


it

&& Logical Returns true if both statements are true x < 5 && x < Try
and 10 it »

|| Logical Returns true if one of the statements is true x < 5 || x < 4 Try
or it »

! Logical Reverse the result, returns false if the result !(x < 5 && x < Try
not is true 10) it »

Test Yourself With Exercises


Exercise:
Multiply 10 with 5, and print the result.

System.out.println(10 5);

Submit Answer »
Start the Exercise

Java Strings
❮ PreviousNext ❯

Java Strings
Strings are used for storing text.

A String variable contains a collection of characters surrounded by double


quotes:

ExampleGet your own Java Server


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

String greeting = "Hello";

Try it Yourself »

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());

Try it Yourself »
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"

Try it Yourself »

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

Try it Yourself »
Java counts positions from zero.
0 is the first position in a string, 1 is the second, 2 is the third ...

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.

Test Yourself With Exercises


Exercise:
Fill in the missing part to create a greeting variable of type String and assign it the
value Hello.

greeting = ;

Submit Answer »

Start the Exercise

Java String Concatenation


❮ PreviousNext ❯

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

ExampleGet your own Java Server


String firstName = "John";

String lastName = "Doe";

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

Try it Yourself »
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));

Java Numbers and Strings


❮ PreviousNext ❯

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:

ExampleGet your own Java Server


int x = 10;

int y = 20;

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

Try it Yourself »

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)

Try it Yourself »

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)

Try it Yourself »

❮ PreviousNext ❯

Java Special Characters


❮ PreviousNext ❯

Strings - 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 Result Description


character

\' ' Single quote

\" " Double quote

\\ \ Backslash

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

ExampleGet your own Java Server


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

Try it Yourself »

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

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

Try it Yourself »

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

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

Try it Yourself »
Other common escape sequences that are valid in Java are:

Code Result Try it

\n New Line Try it »

\r Carriage Try it »
Return

\t Tab Try it »

\b Backspace Try it »

\f Form Feed

Java Math
❮ PreviousNext ❯

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:

ExampleGet your own Java Server


Math.max(5, 10);

Try it Yourself »

Math.min(x,y)
The Math.min(x,y) method can be used to find the lowest value of x and y:

Example
Math.min(5, 10);

Try it Yourself »

Math.sqrt(x)
The Math.sqrt(x) method returns the square root of x:

Example
Math.sqrt(64);

Try it Yourself »

ADVERTISEMENT
Math.abs(x)
The Math.abs(x) method returns the absolute (positive) value of x:

Example
Math.abs(-4.7);

Try it Yourself »

Random Numbers
Math.random() returns a random number between 0.0 (inclusive), and 1.0
(exclusive):

Example
Math.random();

Try it Yourself »

To get more control over the random number, for example, if 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

Try it Yourself »

Complete Math Reference


For a complete reference of Math methods, go to our Java Math Methods
Reference.
Test Yourself With Exercises
Exercise:
Use the correct method to find the highest value of x and y.

int x = 5;
int y = 10;
Math. (x, y);

Submit Answer »

Start the Exercise

Java Booleans
❮ PreviousNext ❯

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 store true or false values.

Boolean Values
A boolean type is declared with the boolean keyword and can only take the
values true or false:
ExampleGet your own Java Server
boolean isJavaFun = true;

boolean isFishTasty = false;

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

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

Try it Yourself »

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


expressions, for conditional testing (see below).

Boolean Expression
A Boolean expression returns a boolean value: true or false.

This is useful to build logic, and find answers.

For example, you can use a comparison operator, such as the greater than (>)
operator, to find out if an expression (or a variable) is true or false:

Example
int x = 10;

int y = 9;

System.out.println(x > y); // returns true, because 10 is higher than 9

Try it Yourself »

Or even easier:

Example
System.out.println(10 > 9); // returns true, because 10 is higher than 9

Try it Yourself »
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

Try it Yourself »

Example
System.out.println(10 == 15); // returns false, because 10 is not equal
to 15

Try it Yourself »

Real Life Example


Let's think of a "real life example" where we need to find out if a person is old
enough to vote.

In the example below, we use the >= comparison operator to find out if the age
(25) is greater than OR equal to the voting age limit, which is set to 18:

Example
int myAge = 25;

int votingAge = 18;

System.out.println(myAge >= votingAge);

Try it Yourself »

Cool, right? An even better approach (since we are on a roll now), would be to
wrap the code above in an if...else statement, so we can perform different
actions depending on the result:
Example
Output "Old enough to vote!" if myAge is greater than or equal to 18.
Otherwise output "Not old enough to vote.":

int myAge = 25;

int votingAge = 18;

if (myAge >= votingAge) {

System.out.println("Old enough to vote!");

} else {

System.out.println("Not old enough to vote.");

Try it Yourself »
Booleans are the basis for all Java comparisons and conditions.

You will learn more about conditions (if...else) in the next chapter.

Test Yourself With Exercises


Exercise:
Fill in the missing parts to print the values true and false:

isJavaFun = true;
isFishTasty = false;
System.out.println(isJavaFun);
System.out.println(isFishTasty);

Java If ... Else


❮ PreviousNext ❯

Java Conditions and If Statements


You already know that 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.

SyntaxGet your own Java Server


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

Try it Yourself »

We can also test variables:

Example
int x = 20;

int y = 18;

if (x > y) {

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

Try it Yourself »

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

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

Try it Yourself »

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

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

} else {

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

// Outputs "Good evening."

Try it Yourself »
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."

Test Yourself With Exercises


Exercise:
Print "Hello World" if x is greater than y.

int x = 50;
int y = 10;
(x y) {
System.out.println("Hello World");
}

Submit Answer »

Start the Exercise

❮ PreviousNext ❯

+1
Java Short Hand If...Else (Ternary
Operator)
❮ PreviousNext ❯

Short Hand If...Else


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, and is most
often used to replace simple if else statements:

SyntaxGet your own Java Server


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

Try it Yourself »

You can simply write:


Example
int time = 20;

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

System.out.println(result);

Try it Yourself »

Test Yourself With Exercises


Exercise:
Insert the missing parts to complete the following "short hand if...else" statement:

int time = 20;


String result = time < 18 "Good day."
"Good evening.";
System.out.println(result);

Submit Answer »

Start the Exercise

Java Switch
❮ PreviousNext ❯

Java Switch Statements


Instead of writing many if..else statements, you can use
the switch statement.
The switch statement selects one of many code blocks to be executed:

SyntaxGet your own Java Server


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)

Try it Yourself »

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.

ADVERTISEMENT

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"

Try it Yourself »
Note that if the default statement is used as the last statement in a switch
block, it does not need a break.

Test Yourself With Exercises


Exercise:
Insert the missing parts to complete the following switch statement.

int day = 2;
switch ( ) {
1:
System.out.println("Saturday");
break;
2:
System.out.println("Sunday");
;
}

Submit Answer »

Start the Exercise

Java While Loop


❮ PreviousNext ❯

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:

SyntaxGet your own Java Server


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

Try it Yourself »
Note: Do not forget to increase the variable used in the condition, otherwise
the loop will never end!

ADVERTISEMENT
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);

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

Test Yourself With Exercises


Exercise:
Print i as long as i is less than 6.

int i = 1;
(i < 6) {
System.out.println(i);
;
}

Submit Answer »

Start the Exercise

Java For Loop


❮ PreviousNext ❯

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:

SyntaxGet your own Java Server


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

Try it Yourself »

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

Try it Yourself »

Nested Loops
It is also possible to place a loop inside another loop. This is called a nested loop.
The "inner loop" will be executed one time for each iteration of the "outer loop":

Example
// Outer loop

for (int i = 1; i <= 2; i++) {

System.out.println("Outer: " + i); // Executes 2 times

// Inner loop

for (int j = 1; j <= 3; j++) {

System.out.println(" Inner: " + j); // Executes 6 times (2 * 3)

Try it Yourself »

Test Yourself With Exercises


Exercise:
Use a for loop to print "Yes" 5 times.

(int i = 0; i < 5; ) {
System.out.println( );
}

Submit Answer »

Start the Exercise

❮ PreviousNext ❯
Java For Each Loop
❮ PreviousNext ❯

For-Each Loop
There is also a "for-each" loop, which is used exclusively to loop through
elements in an array:

SyntaxGet your own Java Server


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

Try it Yourself »

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 and Continue
❮ PreviousNext ❯

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 stops the loop when i is equal to 4:

ExampleGet your own Java Server


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

if (i == 4) {

break;

System.out.println(i);

Try it Yourself »

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

Try it Yourself »

ADVERTISEMENT

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;

}
}

Try it Yourself »

Continue Example
int i = 0;

while (i < 10) {

if (i == 4) {

i++;

continue;

System.out.println(i);

i++;

Try it Yourself »

Test Yourself With Exercises


Exercise:
Stop the loop if i is 5.

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


if (i == 5) {
;
}
System.out.println(i);
}
Submit Answer »

Start the Exercise

Java Arrays
❮ PreviousNext ❯

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, you can 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 can access an array element by referring to the index number.

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


ExampleGet your own Java Server
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

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

// Outputs Volvo

Try it Yourself »

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

Try it Yourself »

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

Try it Yourself »

Test Yourself With Exercises


Exercise:
Create an array of type String called cars.

= {"Volvo", "BMW", "Ford"};

Submit Answer »

Java Arrays Loop


❮ PreviousNext ❯

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:


ExampleGet your own Java Server
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

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

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

Try it Yourself »

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

Try it Yourself »
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.

Test Yourself With Exercises


Exercise:
Loop through the items in the cars array.

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


(String i : ) {
System.out.println(i);
}

Submit Answer »

Java Multi-Dimensional Arrays


❮ PreviousNext ❯

Multidimensional Arrays
A multidimensional array is an array of arrays.

Multidimensional arrays are useful when you want to store data as a tabular
form, like a table with rows and columns.

To create a two-dimensional array, add each array within its own set of curly
braces:
ExampleGet your own Java Server
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };

myNumbers is now an array with two arrays as its elements.

Access 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} };

System.out.println(myNumbers[1][2]); // Outputs 7

Try it Yourself »

Remember that: Array indexes start with 0: [0] is the first element. [1] is the
second element, etc.

Change Element Values


You can also change the value of an element:

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

myNumbers[1][2] = 9;

System.out.println(myNumbers[1][2]); // Outputs 9 instead of 7

Try it Yourself »
Loop Through a Multi-Dimensional Array
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 Main {

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]);

}
}

Try it Yourself »

Test Yourself With Exercises


Exercise:
Insert the missing part to create a two-dimensional array.

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

Submit Answer »
Java Methods
❮ PreviousNext ❯

A method is a block of code which only runs when it is called.

You can pass data, known as parameters, into a method.

Methods are used to perform certain actions, and they are also known
as functions.

Why use methods? To reuse code: define the code once, and use it many
times.

Create a Method
A method must be declared within a class. It is defined with the name of the
method, followed by parentheses (). Java provides some pre-defined methods,
such as System.out.println(), but you can also create your own methods to
perform certain actions:

ExampleGet your own Java Server


Create a method inside Main:

public class Main {

static void myMethod() {

// code to be executed

}
Example Explained

 myMethod() is the name of the method


 static means that the method belongs to the Main class and not an
object of the Main class. You will learn more about objects and how to
access methods through objects later in this tutorial.
 void means that this method does not have a return value. You will learn
more about return values later in this chapter

Call a Method
To call a method in Java, write the method's name followed by two
parentheses () and a semicolon;

In the following example, myMethod() is used to print a text (the action), when it
is called:

Example
Inside main, call the myMethod() method:

public class Main {

static void myMethod() {

System.out.println("I just got executed!");

public static void main(String[] args) {

myMethod();

// Outputs "I just got executed!"


Try it Yourself »

A method can also be called multiple times:

Example
public class Main {

static void myMethod() {

System.out.println("I just got executed!");

public static void main(String[] args) {

myMethod();

myMethod();

myMethod();

// I just got executed!

// I just got executed!

// I just got executed!

Try it Yourself »

In the next chapter, Method Parameters, you will learn how to pass data
(parameters) into a method.
Test Yourself With Exercises
Exercise:
Insert the missing part to call myMethod from main.

static void myMethod() {


System.out.println("I just got executed!");
}

public static void main(String[] args) {


;
}

Submit Answer »

Java Method Parameters


❮ PreviousNext ❯

Parameters and Arguments


Information can be passed to methods as parameter. Parameters act as
variables inside the method.

Parameters are specified after the method name, inside the parentheses. You
can add as many parameters as you want, just separate them with a comma.

The following example has a method that takes a String called fname as
parameter. When the method is called, we pass along a first name, which is
used inside the method to print the full name:
ExampleGet your own Java Server
public class Main {

static void myMethod(String fname) {

System.out.println(fname + " Refsnes");

public static void main(String[] args) {

myMethod("Liam");

myMethod("Jenny");

myMethod("Anja");

// Liam Refsnes

// Jenny Refsnes

// Anja Refsnes

Try it Yourself »

When a parameter is passed to the method, it is called an argument. So,


from the example above: fname is a parameter,
while Liam, Jenny and Anja are arguments.

Multiple Parameters
You can have as many parameters as you like:

Example
public class Main {

static void myMethod(String fname, int age) {

System.out.println(fname + " is " + age);

public static void main(String[] args) {

myMethod("Liam", 5);

myMethod("Jenny", 8);

myMethod("Anja", 31);

// Liam is 5

// Jenny is 8

// Anja is 31

Try it Yourself »

Note that when you are working with multiple parameters, the method call must
have the same number of arguments as there are parameters, and the
arguments must be passed in the same order.

Return Values
The void keyword, used in the examples above, indicates that the method
should not return a value. If you want the method to return a value, you can
use a primitive data type (such as int, char, etc.) instead of void, and use
the return keyword inside the method:

Example
public class Main {

static int myMethod(int x) {

return 5 + x;

public static void main(String[] args) {

System.out.println(myMethod(3));

// Outputs 8 (5 + 3)

Try it Yourself »

This example returns the sum of a method's two parameters:

Example
public class Main {

static int myMethod(int x, int y) {

return x + y;

public static void main(String[] args) {


System.out.println(myMethod(5, 3));

// Outputs 8 (5 + 3)

Try it Yourself »

You can also store the result in a variable (recommended, as it is easier to read
and maintain):

Example
public class Main {

static int myMethod(int x, int y) {

return x + y;

public static void main(String[] args) {

int z = myMethod(5, 3);

System.out.println(z);

// Outputs 8 (5 + 3)

Try it Yourself »

ADVERTISEMENT

A Method with If...Else


It is common to use if...else statements inside methods:

Example
public class Main {

// Create a checkAge() method with an integer variable called age

static void checkAge(int age) {

// If age is less than 18, print "access denied"

if (age < 18) {

System.out.println("Access denied - You are not old enough!");

// If age is greater than, or equal to, 18, print "access granted"

} else {

System.out.println("Access granted - You are old enough!");

public static void main(String[] args) {

checkAge(20); // Call the checkAge method and pass along an age of 20

// Outputs "Access granted - You are old enough!"

Try it Yourself »
Test Yourself With Exercises
Exercise:
Add a fname parameter of type String to myMethod, and output "John Doe":

static void myMethod( ) {


System.out.println( + " Doe");
}

public static void main(String[] args) {


myMethod("John");
}

Submit Answer »

Java Method Overloading


❮ PreviousNext ❯

Method Overloading
With method overloading, multiple methods can have the same name with
different parameters:

ExampleGet your own Java Server


int myMethod(int x)

float myMethod(float x)

double myMethod(double x, double y)


Consider the following example, which has two methods that add numbers of
different type:

Example
static int plusMethodInt(int x, int y) {

return x + y;

static double plusMethodDouble(double x, double y) {

return x + y;

public static void main(String[] args) {

int myNum1 = plusMethodInt(8, 5);

double myNum2 = plusMethodDouble(4.3, 6.26);

System.out.println("int: " + myNum1);

System.out.println("double: " + myNum2);

Try it Yourself »

Instead of defining two methods that should do the same thing, it is better to
overload one.

In the example below, we overload the plusMethod method to work for


both int and double:

Example
static int plusMethod(int x, int y) {

return x + y;
}

static double plusMethod(double x, double y) {

return x + y;

public static void main(String[] args) {

int myNum1 = plusMethod(8, 5);

double myNum2 = plusMethod(4.3, 6.26);

System.out.println("int: " + myNum1);

System.out.println("double: " + myNum2);

Try it Yourself »

Note: Multiple methods can have the same name as long as the number and/or
type of parameters are different.

Java Scope
❮ PreviousNext ❯

Java Scope
In Java, variables are only accessible inside the region they are created. This is
called scope.

Method Scope
Variables declared directly inside a method are available anywhere in the
method following the line of code in which they were declared:

ExampleGet your own Java Server


public class Main {

public static void main(String[] args) {

// Code here CANNOT use x

int x = 100;

// Code here can use x

System.out.println(x);

Try it Yourself »

Block Scope
A block of code refers to all of the code between curly braces {}.
Variables declared inside blocks of code are only accessible by the code between
the curly braces, which follows the line in which the variable was declared:

Example
public class Main {

public static void main(String[] args) {

// Code here CANNOT use x

{ // This is a block

// Code here CANNOT use x

int x = 100;

// Code here CAN use x

System.out.println(x);

} // The block ends here

// Code here CANNOT use x

Try it Yourself »
A block of code may exist on its own or it can belong to
an if, while or for statement. In the case of for statements, variables
declared in the statement itself are also available inside the block's scope.

Java Recursion
❮ PreviousNext ❯

Java Recursion
Recursion is the technique of making a function call itself. This technique
provides a way to break complicated problems down into simple problems which
are easier to solve.

Recursion may be a bit difficult to understand. The best way to figure out how it
works is to experiment with it.

Recursion Example
Adding two numbers together is easy to do, but adding a range of numbers is
more complicated. In the following example, recursion is used to add a range of
numbers together by breaking it down into the simple task of adding two
numbers:

ExampleGet your own Java Server


Use recursion to add all of the numbers up to 10.

public class Main {

public static void main(String[] args) {

int result = sum(10);

System.out.println(result);

}
public static int sum(int k) {

if (k > 0) {

return k + sum(k - 1);

} else {

return 0;

Try it Yourself »

Example Explained
When the sum() function is called, it adds parameter k to the sum of all numbers
smaller than k and returns the result. When k becomes 0, the function just
returns 0. When running, the program follows these steps:

10 + sum(9)
10 + ( 9 + sum(8) )
10 + ( 9 + ( 8 + sum(7) ) )
...
10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + sum(0)
10 +9+8+7+6+5+4+3+2+1+0

Since the function does not call itself when k is 0, the program stops there and
returns the result.

ADVERTISEMENT

Halting Condition
Just as loops can run into the problem of infinite looping, recursive functions
can run into the problem of infinite recursion. Infinite recursion is when the
function never stops calling itself. Every recursive function should have a halting
condition, which is the condition where the function stops calling itself. In the
previous example, the halting condition is when the parameter k becomes 0.

It is helpful to see a variety of different examples to better understand the


concept. In this example, the function adds a range of numbers between a start
and an end. The halting condition for this recursive function is when end is not
greater than start:

Example
Use recursion to add all of the numbers between 5 to 10.

public class Main {

public static void main(String[] args) {

int result = sum(5, 10);

System.out.println(result);

public static int sum(int start, int end) {

if (end > start) {

return end + sum(start, end - 1);

} else {

return end;

Try it Yourself »
The developer should be very careful with recursion as it can be quite easy to
slip into writing a function which never terminates, or one that uses excess
amounts of memory or processor power. However, when written correctly
recursion can be a very efficient and mathematically-elegant approach to
programming.
Java OOP
❮ PreviousNext ❯

Java - What is OOP?


OOP stands for Object-Oriented Programming.

Procedural programming is about writing procedures or methods that perform


operations on the data, while object-oriented programming is about creating
objects that contain both data and methods.

Object-oriented programming has several advantages over procedural


programming:

 OOP is faster and easier to execute


 OOP provides a clear structure for the programs
 OOP helps to keep the Java code DRY "Don't Repeat Yourself", and makes
the code easier to maintain, modify and debug
 OOP makes it possible to create full reusable applications with less code
and shorter development time

Tip: The "Don't Repeat Yourself" (DRY) principle is about reducing the repetition
of code. You should extract out the codes that are common for the application,
and place them at a single place and reuse them instead of repeating it.

Java - What are Classes and Objects?


Classes and objects are the two main aspects of object-oriented programming.

Look at the following illustration to see the difference between class and
objects:
Another example:

So, a class is a template for objects, and an object is an instance of a class.

When the individual objects are created, they inherit all the variables and
methods from the class.

You will learn much more about classes and objects in the next chapter.

You might also like