# Arithmetic Operations

## Arithmetic Operations

( +, -, *, /, % )

If we are performing any arithmetic operation between two variables a and b . The result is always type

 max ( type of a, type of b, int)
• byte + byte = int
• byte + short = int
• int + byte = int
• short + long = long
• float + long = float
• double + anything = double
• char + char = int
• s. o. p ( ‘a’ + ‘b’ ) // 195

## Infinity

In the case of integral arithmetic, there is no way to represent infinity. Hence division by zero is always Arithmetic Exception. In the case if integral Arithmetic.

s. o. p (10/10)==> int; ( A.E. division by zero)

But in the case of floating point Arithmetic there is always a way to represent infinity. Float and Double classes contain the following constants.

POSITIVE _ INFINITY

NEGATIVE _ INFINITY

Hence in floating point arithmetic division by zero won’t rise Arithmetic Exception.

s. o. p ( 10/ 0.0) ; ==> infinity

s. o. p ( 10/ 0.0 ) ; ==> -infinity

## NaN (Not a Number)

If the result is undefined, in the case of integral Arithmetic, there is no way to represent, hence we will get Arithmetic Exception.

( s. o. p (0/0) ;  A.E )

But in the case of floating point Arithmetic, there is a way to represent undefined result for this float to double classes contain a constant NaN. In the case of undefined result, we won’t get any Arithmetic Exception, in the case of floating point Arithmetic.

s. o. p ( 0.0/ 0) Nan

s. o. p ( – 0.0/ 0) Nan

For any x value including NAN, all the below expression returns false

x > NaN

x < NaN

x >= NaN

x<= NaN

x == NaN

For any x value, the following expression return true.

x ! = NaN

## Que;- which of the following expressions returns true ?

1. float. NaN == float. NaN
2. float. NaN ! == float. NaN
3. x ! =float. NaN
4. x> = float. Nan

Ans:- 2, 3.

## Arithmetic Exception

It’s always a run time exception, it occurs only in integral, Arithmetic, but not in floating point Arithmetic.

The only operators which cause Arithmetic Exceptions are ‘/’, ‘%’.

## String Concatenation Operation [‘+’]

The only over loaded operator in java is ‘+’ operate some times it acts as Arithmetic addition operation & sometimes it acts as String Concatenation Operator.

1). If at least one argument is string type, then ‘+’ operator acts as Concatenation & if both arguments are numbers then ‘+’ operator acts as Arithmetic Operation.

int a = 10, b =20, c =30 ;

string d = ‘narayanatutorial’ ;

• s.o.p ( a+b+c+d ) ; // 60 narayanatutorial
• s.o.p ( a+d+b+c ) ; // 10 narayanatutorial 20 30
• s.o.p ( d+a+b+c ) ; // narayanatutorial 10 20 30
• s.o.p ( a+b+d+c ) ; // 30 narayanatutorial 30

## Relational Operators

Relational  operators ‘ >, >=, <, <= ‘

We have to apply these relational operators only for primitive data types except boolean.

## Shortcuts

s.o.p –> System.out.println

A.E –>Arithmetic Exception

#### Narayanaswamy

Hello! I am Narayanaswamy founder and admin of narayanatutorial.com. I have been working in IT industry more than 7 years. NarayanaTutorial is my web technologies blog. My specialties are Java / J2EE, Spring, Hibernate, Struts, Webservices, PHP, Oracle, MySQL, SQLServer, Web Hosting and Website Development. I am a self learner and passionate about training and writing. I am always trying my best to share my knowledge through my blog.