Java With Us
Home   |   Tutorial   |   Programs  

Java Tutorial

Introduction to Java
Hello World Program
Variables and Data types
More about data types
Displaying text using print and println
Displaying text using printf
Java Comments
Naming conventions for Identifiers
Mathematical operations in Java
Taking input from the user

Classes and Objects
Introduction to object oriented programming
The constituents of a Class
Creating objects and calling methods
Get and Set Methods
Default constructor provided by the compiler
Access Specfiers
Scope and lifetime of Variables
Call by value and Call by Reference

A few more topics
Casting
Class as a reference data type
Constants or literals
Final variables
Increment and decrement operators
Manipulating Strings
Operators
Overloading constructors and methods
Static methods and variables
The Java API
The Math class
this keyword
Wrapper classes

Control Structures
Control Statements
Repetition statements
Nested loops
Formulating algorithms
Branching Statements

Arrays
Arrays introduction
Processing arrays using 1oops
Searching and sorting arrays
Array of objects
Multi dimensional arrays
Taking input as command line arguments
Using ellipsis to accept variable number of arguments

Inheritance
Inheritance introduction
Relation between a super class and sub class
Final classes and methods
The protected access specifier
Class Object

Polymorphism
Introduction
Interfaces
Packages
Abstract classes and methods

Exception handling
Exception handling introduction
Exception hierarchy
Nested try catch blocks
Throwing exceptions


Increment and Decrement Operators

Increment and decrement operators are widely used in controlling loops. These operators provide a more convent and compact way of increasing or decreasing the value of a variable by one. For instance the statement x=x+1; can be simplified to x++; or ++x;

The increment operator increases the value of the variable by one while the decrement operator decreases the value of the variable by one. The value of the operand is altered to its new value. The operands required should be a variable. Constants or expressions are not allowed because of the purpose for which the operator is used. For instance, the expression, ++34; doesn't make sense, as 34 isn't a variable and cannot be increased by one. If you would wish to convince that 34 can be incremented to 35; it can but what we create is a new integer literal and we aren't updating the 34 that is already present. Increment and decrement operators are used to update a variable to a new value.

Both these operators have two forms each: prefix and postfix. In prefix form, the operand appears before the operand while in post fix form, the operand appears after the operand. These operations are also referred to as pre increment, post increment, pre decrement and post decrement.

When used with prefix notation, the value of the variable referred to by the operand is first incremented and then the new value is used in the expression while in postfix notation, the value of the variable is first used in the expression and then increased. Look at the following examples:

int x = 34;
int y = ++x;

The value of x is first incremented to 34 and is then assigned to y. Therefore x is now 35 and y is also 35.

int x = 34;
int y = x++;

x is first assigned to y and then incremented by one. Therefore, x becomes 35 while y is assigned with the value 34.

Similarly, pre decrement and post decrement operators work.

The post fix or pre fix notations do not make a difference when the operators are applied as a statement by itself in the following way.

int s = 34;
s++; // s is now 35
int s= 34;
++s; // s is now 35

Give n below is an example to illustrate the use of increment and decrement operators:

int a = 3;
int b = a++;
int c = ++a;
int d = --b + ++c * --d - ++a / --d % ++c;

The first statement assigns 3 to the variable a. The second statement assigns the current value of a i.e. 3 to b and then increments a to 2. The third statement first increments a to 3 and then assigns its value i.e. 3 to c. Now, after the execution of the first three statements, the values of a, b and c are 3, 1 and 3 respectively.

Increment and decrement operators have a higher precedence than the other mathematical operators. Hence, they are applied first from left to right in the order in which they occur unless one of them has been given a higher precedence through the parantheses.

The following lines show the step by step application of the increment and decrement operators.

--b + ++c * b-- - ++a / --b % c++

a = 3 b = 1 c = 3
0 + ++c * b-- - ++a / --b % c++
a = 3 b = 0 c = 3

a = 3 b = 0 c = 3
0 + 4 * b-- - ++a / --b % c++
a = 3 b = 0 c = 4

a = 3 b = 0 c = 4
0 + 4 * 0 - ++a / --b % c++
a = 3 b = -1 c = 4

a = 3 b = -1 c = 4
0 + 4 * 0 - 4 / --b % c++
a = 4 b = -1 c = 4

a = 4 b = -1 c = 4
0 + 4 * 0 - 4 / -2 % c++
a = 4 b = -2 c = 4

a = 4 b = -2 c = 4
0 + 4 * 0 - 4 / -2 % 4
a = 4 b = -2 c = 5

Now, the resulting expression is evaluated according to the rules of precedence of mathematical operators.

0 + ( 4 * 0 ) - 4 / -2 % 4
0 + 0 - ( 4 / -2 ) % 4
0 + 0 - ( -2 % 4 )
( 0 + 0 ) - 2
( 0 - 2 )
-2

Privacy Policy