SlideShare a Scribd company logo
www.SunilOS.com 1
Variables & Operators
www.sunilos.com
www.raystec.com
Variables
 Variable stores human data
like numbers and alphabets.
 Data type will decide what
values will be stored in
variables.
 You can say data type will
define the structure of your
data.
www.SunilOS.com 2
Variables and Data Types
Decimal values will be stored in float and
double data type.
Non-decimals values will be stored in int,
long, byte, and short data types.
Character will be stored in char data type.
True/False will be stored in boolean data type.
www.SunilOS.com 3
www.SunilOS.com 4
Data Types
Data types are divided into two categories.
Primitive Data Types
o byte, short, int, long, float, double,
boolean, char.
o It occupies number of bytes as per data type.
o It stores values.
Reference Data Types
o It stores memory address of a value.
o It occupies 2 bytes to store a reference (memory
address).
o Strings, Objects, Arrays are reference data types.
www.SunilOS.com 5
Primitive Data Types
int
long
byte
short
float
double
1
2
4
8
4
8
-128, +127
-9.223E18, +9.223E18
-32768, +32767
-2147483648, +2147483647
+3.4 E+38
+1.7 E+308
Type Size Byte Range
char 2 0, 65535
boolean 1 true, false
0
0
0
0
0
0
0
false
Default
www.SunilOS.com 6
Declare Variable
int total;
total = 5+6;
short srt;
srt = 3;
char ch;
ch =‘A’ ;
4 Bytes
Stack Memory1001
total 1001
11
2 Bytes
1011
3
srt 1011
2 Bytes
1010
A
ch 1010
www.SunilOS.com 7
Declare Object
 int total;
 total = 5+6;
 String str;
 str = “sunRays”;
o or
 str = new
String(“sunRays”);
4 Bytes
Stack Memory
1001
total 1001
11
2 Bytes
1011
1010
str 1011
14 Bytes
1010
SUNRAYS
www.SunilOS.com 8
Declare Variable – Primitive Data
 int total;
 total = 5+6;
 int newTotal;
 newTotal = total ;
 newTotal =
newTotal+3 ;
4 Bytes
Stack Memory1001
total 1001
11
4 Bytes
1011
newTotal 1011
1114
www.SunilOS.com 9
Declare Object - Copy reference
 String str;
 str = “sunRays”
 Or
 str = new
String(“sunRays”)
 String newStr;
 newStr = str;
Stack Memory
2 Bytes
1011
1010
str 1011
14 Bytes
1010
SUNRAYS
2 Bytes
1110
1010
newStr 1110
Java Identifier
It is a name of:
o Variable
o Method
o Class
o Interface
o Package
Used to identify a variable, method and
class in its scope.
www.SunilOS.com 10
www.SunilOS.com 11
Java Identifier Rules
 Name of an Identifier follows certain rules. Here are key
rules:
o The first character must be a non-digit character from the Unicode
standard String firstName;
o Subsequent characters may include digits int total123 ;
o Java is case sensitive that means Character Case is significant
• int count =0 ; Count = 1 ; are two different variables
o Avoid using underscore (_) and $ for the first character.
o User-defined identifiers can not duplicate Java keywords.
www.SunilOS.com 12
What’s an operator?
Operators are tokens that trigger some
computation when applied to variables and
other objects.
It can be categorized into:
o Arithmetic
o logical
o bit-level and
o Class access operators.
www.SunilOS.com 13
Java operators
()
++
--
!
~
instance of
*
/
%
+
-
<<
>>
>>>
<
>
<=
>=
==
!=
&
^
|
&&
||
?:
=
op=
www.SunilOS.com 14
Operator Precedence
int a = 2+ 4 + 8;
int a = 2+ 4 * 8;
int a = b = c = 5;
www.SunilOS.com 15
Operator Precedence
Operators Precedence
postfix expr++ expr--
unary ++expr --expr +expr -expr ~ !
multiplicative * / %
additive + -
shift << >> >>>
relational < > <= >= instanceof
equality == !=
bitwise AND &
bitwise exclusive OR ^
bitwise inclusive OR |
logical AND &&
logical OR ||
conditional ? :
assignment = += -= *= /= %= &= ^= |= <<= >>= >>>=
www.SunilOS.com 16
Precedence
Operators have the precedence. Higher
precedence operator will be evaluated before the
lower precedence operator.
o int data = a * b + c ;
since * (multiply) has higher precedence than +
(plus) so a & b will be multiplied first then result will
be added to c.
Expression is equivalent to
o int data = (a * b) + c ;
www.SunilOS.com 17
Unary operators
()()
++++
Group expression
Unary plus
Unary minus----
www.SunilOS.com 18
Unary operators
~~~~
!!!!
++++++++
--------
Bitwise complement
Logical negation
Pre- or Post-increment
Pre- or Post-decrement
www.SunilOS.com 19
Unary operators
i = 0;
count = 2 + i++;
i = 0;
count = 2 + i++;
ii
countcount
11
22
i = 0;
count = 2 + ++i;
i = 0;
count = 2 + ++i;
ii
countcount
11
33
www.SunilOS.com 20
Binary operators
 yyyy
OperandOperand
xxxx
OperandOperand
OperatorOperator
www.SunilOS.com 21
Binary operators
++
--
**
//
Plus
Minus
Multiply
Divide
Remainder
Additive & Multiplicative
%%
www.SunilOS.com 22
Binary operators
== AssignmentAssignment
 Assignment is an binary operator in Java.
 The left-hand operand of an assignment must be an
LVALUE.
 An LVALUE is an expression that refers to a region of
memory.
o Names of variables are LVALUES.
o Names of functions and arrays are NOT LVALUES.
www.SunilOS.com 23
Binary operators
class ExampleAssignment {
public static void main(String[] args) {
int result, val_1, val_2;
result = (val_1 = 1) + (val_2 = 2);
System.out.println("val_1 = "+val_1);
System.out.println("val_2 = "+val_2);
System.out.println("result = "+result);
}
}
class ExampleAssignment {
public static void main(String[] args) {
int result, val_1, val_2;
result = (val_1 = 1) + (val_2 = 2);
System.out.println("val_1 = "+val_1);
System.out.println("val_2 = "+val_2);
System.out.println("result = "+result);
}
}
val_1 = 1
val_2 = 2
result = 3
val_1 = 1
val_2 = 2
result = 3
www.SunilOS.com 24
Binary operators
Expressions involving only integers are
evaluated using integer arithmetic.
float result;
int i,j;
i=25; j=10;
result = i/j;
float result;
int i,j;
i=25; j=10;
result = i/j;
resultresult 2.02.0
www.SunilOS.com 25
Binary operators
Expressions involving only integers are
evaluated using integer arithmetic.
float result;
int i,j;
i=25; j=10;
result = (float) i/j;
float result;
int i,j;
i=25; j=10;
result = (float) i/j;
resultresult 2.52.5
www.SunilOS.com 26
Binary operators
+=+=
-=-=
*=*=
/=/=
Assign sum
Assign difference
Assign product
Assign quotient
Assign remainder%=%=
www.SunilOS.com 27
Binary operators
Compound operators provide a
convenient shorthand.
int i;
i = i + 5;
i += 5;
int i;
i = i + 5;
i += 5;
www.SunilOS.com 28
Binary operators
<<
>>
<=<=
>=>=
Less than
Greater than
Less than or equal to
Greater than or equal to
Equal to
Not equal to
Relational
== ==
!=!=
www.SunilOS.com 29
Binary operators
&&&&
||||
Logical AND
Logical OR
Logical
Expressions connected by && and || are
evaluated from left to right.
www.SunilOS.com 30
Binary operators
Expressions connected by && and || are
evaluated from left to right.
class ExampleAndOr {
public static void main(String[] args) {
int i=0;
System.out.println("Test:" + ((2<3) || (0<i++)));
System.out.println("I:" + i);
}
}
class ExampleAndOr {
public static void main(String[] args) {
int i=0;
System.out.println("Test:" + ((2<3) || (0<i++)));
System.out.println("I:" + i);
}
}
Test:true
I:0
Test:true
I:0
This never gets
evaluated!
This never gets
evaluated!
www.SunilOS.com 31
Bitwise Binary operators
<<
>>
&
^
Shift left
Shift right
Bitwise AND
Bitwise XOR
Bitwise OR
unary bitwise complement
unsigned right shift
|
~
>>>
These operators are less commonly used.
www.SunilOS.com 32
Unary bitwise complement
1 1 11 0 101
~
1 Byte
0 0 00 1 010
byte a = 10;
byte b = ~a;
www.SunilOS.com 33
Left Shift <<
1 1 01 0 101
<<
1 Byte
1 0 10 0 001
byte a = 10;
b = a<<2;
1
1
www.SunilOS.com 34
Right Shift >>
1 1 01 0 101
>>
1 Byte
1 0 10 1 100
byte a = 10;
b = a>>2;
1
0
www.SunilOS.com 35
Unsigned Right Shift >>>
1 1 01 0 101
>>>
1 Byte
0 0 11 1 100
byte a = 10;
b = a>>>2;
1
0
www.SunilOS.com 36
And bitwise &
1 1 01 0 101
&
1 Byte
0 0 11 1 100
byte a = 10;
b = 20;
c = a & b;
0 0 01 0 100
www.SunilOS.com 37
OR bitwise |
1 1 01 0 101
|
1 Byte
0 0 11 1 100
byte a = 10;
b = 20;
c = a | b;
1 1 11 1 101
www.SunilOS.com 38
XOR bitwise ^
1 1 01 0 101
^
1 Byte
0 0 11 1 100
byte a = 10;
b = 20;
c = a ^ b;
1 1 10 1 001
www.SunilOS.com 39
Ternary operators
a?x:ya?x:y
“if a then x, else y”
Conditional
result = (x<y) ? x : y;result = (x<y) ? x : y;
www.SunilOS.com 40
Multiple Assignments
int a = b = c = 10;
www.SunilOS.com 41
Exercise
What is the result of
 int i = 0 ;
 System.out.println(++i + ++i + ++i + ++i + ++i + ++i);
 System.out.println(“” + ++i + ++i + ++i + ++i + ++i + ++i);
www.SunilOS.com 42
Type Conversion
www.SunilOS.com 43
Small to Big data type
Will be done automatically.
oint i = 5;
odouble d = i;
oshort s = 10;
oint i = s;
olong l = i;
www.SunilOS.com 44
Big to Small data type
When precision or data loss likely to happen
then type casting is required.
o double d = 5;
o int i = (int)d;
o short s = (short)i;
o int i = 10;
o float f = (float)i;
www.SunilOS.com 45
Mixing operators
class MixOperator {
public static void main(String[] args) {
char cv;
int iv1 = 64;
cv = (char) iv1;
System.out.println("cv:" + cv);
System.out.println("iv1:" + iv1);
}
}
cv:@
iv1:64
www.SunilOS.com 46
Mixing operators
class MixOperator1 {
public static void main(String[] args) {
double fv1, fv2;
int iv1 = 123;
fv1 = iv1/50;
fv2 = iv1/50.0;
System.out.println("fv1:" + fv1);
System.out.println("fv2:" + fv2);
}
}
fv1:2.0
fv2:2.46
fv1:2.0
fv2:2.46
www.SunilOS.com 47
String to Other data type
String str = “5.5” ;
int i = Integer.parseInt(str);
double d = Double.parseDouble(str);
float f = Float.parseFloat(str);
long l = Long.parseLong(str);
String bStr = “true”;
boolean b = Boolean.parseBoolean(bStr);
www.SunilOS.com 48
Other data type to String
String str = String.valueOf(5);
String str = String.valueOf(5.5);
String str = String.valueOf(true);
String str = String.valueOf(5L);
String str = String.valueOf(5.5D);
Disclaimer
This is an educational presentation to enhance the
skill of computer science students.
This presentation is available for free to computer
science students.
Some internet images from different URLs are
used in this presentation to simplify technical
examples and correlate examples with the real
world.
We are grateful to owners of these URLs and
pictures.
www.SunilOS.com 49
Thank You!
www.SunilOS.com 50
www.SunilOS.com

More Related Content

What's hot (20)

PPT
Threads V4
Sunil OS
 
PPT
OOP V3.1
Sunil OS
 
PPT
Java IO Streams V4
Sunil OS
 
PPT
JAVA OOP
Sunil OS
 
PPT
Hibernate
Sunil OS
 
PPT
JUnit 4
Sunil OS
 
PPT
Java Input Output and File Handling
Sunil OS
 
PPT
JavaScript
Sunil OS
 
PPT
Jsp/Servlet
Sunil OS
 
PPT
Java Threads and Concurrency
Sunil OS
 
PPT
Resource Bundle
Sunil OS
 
PPT
C++
Sunil OS
 
PPT
Java operators
Shehrevar Davierwala
 
PDF
Methods in Java
Jussi Pohjolainen
 
PDF
Java 8 Lambda Expressions
Scott Leberknight
 
PPT
C++ oop
Sunil OS
 
PDF
Files in java
Muthukumaran Subramanian
 
PPTX
Introduction to Java Strings, By Kavita Ganesan
Kavita Ganesan
 
PPTX
Java String Handling
Infoviaan Technologies
 
PPT
C# Variables and Operators
Sunil OS
 
Threads V4
Sunil OS
 
OOP V3.1
Sunil OS
 
Java IO Streams V4
Sunil OS
 
JAVA OOP
Sunil OS
 
Hibernate
Sunil OS
 
JUnit 4
Sunil OS
 
Java Input Output and File Handling
Sunil OS
 
JavaScript
Sunil OS
 
Jsp/Servlet
Sunil OS
 
Java Threads and Concurrency
Sunil OS
 
Resource Bundle
Sunil OS
 
Java operators
Shehrevar Davierwala
 
Methods in Java
Jussi Pohjolainen
 
Java 8 Lambda Expressions
Scott Leberknight
 
C++ oop
Sunil OS
 
Introduction to Java Strings, By Kavita Ganesan
Kavita Ganesan
 
Java String Handling
Infoviaan Technologies
 
C# Variables and Operators
Sunil OS
 

Viewers also liked (14)

PPT
Java Swing JFC
Sunil OS
 
PPT
C Basics
Sunil OS
 
PPT
Byte stream classes.49
myrajendra
 
PPT
Character stream classes .52
myrajendra
 
PPT
Inner classes9 cm604.28
myrajendra
 
DOCX
Nested classes in java
Richa Singh
 
PPT
Rays Technologies
Sunil OS
 
PPTX
Inner classes
DraftKing Zohaib
 
PPT
Inner classes ,annoumous and outer classes in java
Adil Mehmoood
 
PPT
C# Basics
Sunil OS
 
PPT
Various io stream classes .47
myrajendra
 
PPT
Java: Objects and Object References
Tareq Hasan
 
PDF
Java Inner Classes
Jussi Pohjolainen
 
PDF
Classes and Nested Classes in Java
Ravi_Kant_Sahu
 
Java Swing JFC
Sunil OS
 
C Basics
Sunil OS
 
Byte stream classes.49
myrajendra
 
Character stream classes .52
myrajendra
 
Inner classes9 cm604.28
myrajendra
 
Nested classes in java
Richa Singh
 
Rays Technologies
Sunil OS
 
Inner classes
DraftKing Zohaib
 
Inner classes ,annoumous and outer classes in java
Adil Mehmoood
 
C# Basics
Sunil OS
 
Various io stream classes .47
myrajendra
 
Java: Objects and Object References
Tareq Hasan
 
Java Inner Classes
Jussi Pohjolainen
 
Classes and Nested Classes in Java
Ravi_Kant_Sahu
 
Ad

Similar to JAVA Variables and Operators (20)

PPTX
ChapterTwoandThreefnfgncvdjhgjshgjdlahgjlhglj.pptx
berihun18
 
PPTX
Lecture-02-JAVA, data type, token, variables.pptx
ChandrashekharSingh859453
 
PPT
4_A1208223655_21789_2_2018_04. Operators.ppt
RithwikRanjan
 
PPT
Chapter 2&3 (java fundamentals and Control Structures).ppt
henokmetaferia1
 
PPTX
Java Operators with Simple introduction.pptx
kuntadinesh21
 
PDF
Java basic operators
Emmanuel Alimpolos
 
PDF
Java basic operators
Emmanuel Alimpolos
 
PDF
Chapter 01 Introduction to Java by Tushar B Kute
Tushar B Kute
 
DOCX
Operators
loidasacueza
 
PPTX
Guide to Java.pptx
PrathamVaishnav1
 
PPTX
PPT ON JAVA AND UNDERSTANDING JAVA'S PRINCIPLES
merabapudc
 
PPTX
Java Operators with Simple introduction.pptx
kuntadinesh21
 
PPTX
OCA Java SE 8 Exam Chapter 2 Operators & Statements
İbrahim Kürce
 
PPTX
Java chapter 3
Munsif Ullah
 
PPTX
L3 operators
teach4uin
 
PPTX
L3 operators
teach4uin
 
PPTX
L3 operators
teach4uin
 
PPT
object oriented programming java lectures
MSohaib24
 
PPTX
Basic_Java_02.pptx
Kajal Kashyap
 
PPT
Data types and Operators
raksharao
 
ChapterTwoandThreefnfgncvdjhgjshgjdlahgjlhglj.pptx
berihun18
 
Lecture-02-JAVA, data type, token, variables.pptx
ChandrashekharSingh859453
 
4_A1208223655_21789_2_2018_04. Operators.ppt
RithwikRanjan
 
Chapter 2&3 (java fundamentals and Control Structures).ppt
henokmetaferia1
 
Java Operators with Simple introduction.pptx
kuntadinesh21
 
Java basic operators
Emmanuel Alimpolos
 
Java basic operators
Emmanuel Alimpolos
 
Chapter 01 Introduction to Java by Tushar B Kute
Tushar B Kute
 
Operators
loidasacueza
 
Guide to Java.pptx
PrathamVaishnav1
 
PPT ON JAVA AND UNDERSTANDING JAVA'S PRINCIPLES
merabapudc
 
Java Operators with Simple introduction.pptx
kuntadinesh21
 
OCA Java SE 8 Exam Chapter 2 Operators & Statements
İbrahim Kürce
 
Java chapter 3
Munsif Ullah
 
L3 operators
teach4uin
 
L3 operators
teach4uin
 
L3 operators
teach4uin
 
object oriented programming java lectures
MSohaib24
 
Basic_Java_02.pptx
Kajal Kashyap
 
Data types and Operators
raksharao
 
Ad

More from Sunil OS (12)

PPT
DJango
Sunil OS
 
PPT
PDBC
Sunil OS
 
PPT
OOP v3
Sunil OS
 
PPT
Threads v3
Sunil OS
 
PPT
Exception Handling v3
Sunil OS
 
PPTX
Machine learning ( Part 3 )
Sunil OS
 
PPTX
Machine learning ( Part 2 )
Sunil OS
 
PPTX
Machine learning ( Part 1 )
Sunil OS
 
PPT
Python Pandas
Sunil OS
 
PPT
Python part2 v1
Sunil OS
 
PPT
Angular 8
Sunil OS
 
PPT
Python Part 1
Sunil OS
 
DJango
Sunil OS
 
PDBC
Sunil OS
 
OOP v3
Sunil OS
 
Threads v3
Sunil OS
 
Exception Handling v3
Sunil OS
 
Machine learning ( Part 3 )
Sunil OS
 
Machine learning ( Part 2 )
Sunil OS
 
Machine learning ( Part 1 )
Sunil OS
 
Python Pandas
Sunil OS
 
Python part2 v1
Sunil OS
 
Angular 8
Sunil OS
 
Python Part 1
Sunil OS
 

Recently uploaded (20)

PPTX
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
PPTX
Nitrogen rule, ring rule, mc lafferty.pptx
nbisen2001
 
PPTX
How to Set Up Tags in Odoo 18 - Odoo Slides
Celine George
 
PDF
Exploring the Different Types of Experimental Research
Thelma Villaflores
 
PDF
Mahidol_Change_Agent_Note_2025-06-27-29_MUSEF
Tassanee Lerksuthirat
 
PDF
Android Programming - Basics of Mobile App, App tools and Android Basics
Kavitha P.V
 
PPTX
DAY 1_QUARTER1 ENGLISH 5 WEEK- PRESENTATION.pptx
BanyMacalintal
 
PDF
Horarios de distribución de agua en julio
pegazohn1978
 
PPTX
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
PPTX
Introduction to Biochemistry & Cellular Foundations.pptx
marvinnbustamante1
 
PPTX
HUMAN RESOURCE MANAGEMENT: RECRUITMENT, SELECTION, PLACEMENT, DEPLOYMENT, TRA...
PRADEEP ABOTHU
 
PDF
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
PPTX
How to Manage Allocation Report for Manufacturing Orders in Odoo 18
Celine George
 
PPTX
infertility, types,causes, impact, and management
Ritu480198
 
PPTX
How to Create a Customer From Website in Odoo 18.pptx
Celine George
 
PPTX
Post Dated Cheque(PDC) Management in Odoo 18
Celine George
 
PPTX
Introduction to Indian Writing in English
Trushali Dodiya
 
PPTX
How to Configure Re-Ordering From Portal in Odoo 18 Website
Celine George
 
PDF
The History of Phone Numbers in Stoke Newington by Billy Thomas
History of Stoke Newington
 
PDF
epi editorial commitee meeting presentation
MIPLM
 
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
Nitrogen rule, ring rule, mc lafferty.pptx
nbisen2001
 
How to Set Up Tags in Odoo 18 - Odoo Slides
Celine George
 
Exploring the Different Types of Experimental Research
Thelma Villaflores
 
Mahidol_Change_Agent_Note_2025-06-27-29_MUSEF
Tassanee Lerksuthirat
 
Android Programming - Basics of Mobile App, App tools and Android Basics
Kavitha P.V
 
DAY 1_QUARTER1 ENGLISH 5 WEEK- PRESENTATION.pptx
BanyMacalintal
 
Horarios de distribución de agua en julio
pegazohn1978
 
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
Introduction to Biochemistry & Cellular Foundations.pptx
marvinnbustamante1
 
HUMAN RESOURCE MANAGEMENT: RECRUITMENT, SELECTION, PLACEMENT, DEPLOYMENT, TRA...
PRADEEP ABOTHU
 
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
How to Manage Allocation Report for Manufacturing Orders in Odoo 18
Celine George
 
infertility, types,causes, impact, and management
Ritu480198
 
How to Create a Customer From Website in Odoo 18.pptx
Celine George
 
Post Dated Cheque(PDC) Management in Odoo 18
Celine George
 
Introduction to Indian Writing in English
Trushali Dodiya
 
How to Configure Re-Ordering From Portal in Odoo 18 Website
Celine George
 
The History of Phone Numbers in Stoke Newington by Billy Thomas
History of Stoke Newington
 
epi editorial commitee meeting presentation
MIPLM
 

JAVA Variables and Operators

  • 1. www.SunilOS.com 1 Variables & Operators www.sunilos.com www.raystec.com
  • 2. Variables  Variable stores human data like numbers and alphabets.  Data type will decide what values will be stored in variables.  You can say data type will define the structure of your data. www.SunilOS.com 2
  • 3. Variables and Data Types Decimal values will be stored in float and double data type. Non-decimals values will be stored in int, long, byte, and short data types. Character will be stored in char data type. True/False will be stored in boolean data type. www.SunilOS.com 3
  • 4. www.SunilOS.com 4 Data Types Data types are divided into two categories. Primitive Data Types o byte, short, int, long, float, double, boolean, char. o It occupies number of bytes as per data type. o It stores values. Reference Data Types o It stores memory address of a value. o It occupies 2 bytes to store a reference (memory address). o Strings, Objects, Arrays are reference data types.
  • 5. www.SunilOS.com 5 Primitive Data Types int long byte short float double 1 2 4 8 4 8 -128, +127 -9.223E18, +9.223E18 -32768, +32767 -2147483648, +2147483647 +3.4 E+38 +1.7 E+308 Type Size Byte Range char 2 0, 65535 boolean 1 true, false 0 0 0 0 0 0 0 false Default
  • 6. www.SunilOS.com 6 Declare Variable int total; total = 5+6; short srt; srt = 3; char ch; ch =‘A’ ; 4 Bytes Stack Memory1001 total 1001 11 2 Bytes 1011 3 srt 1011 2 Bytes 1010 A ch 1010
  • 7. www.SunilOS.com 7 Declare Object  int total;  total = 5+6;  String str;  str = “sunRays”; o or  str = new String(“sunRays”); 4 Bytes Stack Memory 1001 total 1001 11 2 Bytes 1011 1010 str 1011 14 Bytes 1010 SUNRAYS
  • 8. www.SunilOS.com 8 Declare Variable – Primitive Data  int total;  total = 5+6;  int newTotal;  newTotal = total ;  newTotal = newTotal+3 ; 4 Bytes Stack Memory1001 total 1001 11 4 Bytes 1011 newTotal 1011 1114
  • 9. www.SunilOS.com 9 Declare Object - Copy reference  String str;  str = “sunRays”  Or  str = new String(“sunRays”)  String newStr;  newStr = str; Stack Memory 2 Bytes 1011 1010 str 1011 14 Bytes 1010 SUNRAYS 2 Bytes 1110 1010 newStr 1110
  • 10. Java Identifier It is a name of: o Variable o Method o Class o Interface o Package Used to identify a variable, method and class in its scope. www.SunilOS.com 10
  • 11. www.SunilOS.com 11 Java Identifier Rules  Name of an Identifier follows certain rules. Here are key rules: o The first character must be a non-digit character from the Unicode standard String firstName; o Subsequent characters may include digits int total123 ; o Java is case sensitive that means Character Case is significant • int count =0 ; Count = 1 ; are two different variables o Avoid using underscore (_) and $ for the first character. o User-defined identifiers can not duplicate Java keywords.
  • 12. www.SunilOS.com 12 What’s an operator? Operators are tokens that trigger some computation when applied to variables and other objects. It can be categorized into: o Arithmetic o logical o bit-level and o Class access operators.
  • 13. www.SunilOS.com 13 Java operators () ++ -- ! ~ instance of * / % + - << >> >>> < > <= >= == != & ^ | && || ?: = op=
  • 14. www.SunilOS.com 14 Operator Precedence int a = 2+ 4 + 8; int a = 2+ 4 * 8; int a = b = c = 5;
  • 15. www.SunilOS.com 15 Operator Precedence Operators Precedence postfix expr++ expr-- unary ++expr --expr +expr -expr ~ ! multiplicative * / % additive + - shift << >> >>> relational < > <= >= instanceof equality == != bitwise AND & bitwise exclusive OR ^ bitwise inclusive OR | logical AND && logical OR || conditional ? : assignment = += -= *= /= %= &= ^= |= <<= >>= >>>=
  • 16. www.SunilOS.com 16 Precedence Operators have the precedence. Higher precedence operator will be evaluated before the lower precedence operator. o int data = a * b + c ; since * (multiply) has higher precedence than + (plus) so a & b will be multiplied first then result will be added to c. Expression is equivalent to o int data = (a * b) + c ;
  • 17. www.SunilOS.com 17 Unary operators ()() ++++ Group expression Unary plus Unary minus----
  • 18. www.SunilOS.com 18 Unary operators ~~~~ !!!! ++++++++ -------- Bitwise complement Logical negation Pre- or Post-increment Pre- or Post-decrement
  • 19. www.SunilOS.com 19 Unary operators i = 0; count = 2 + i++; i = 0; count = 2 + i++; ii countcount 11 22 i = 0; count = 2 + ++i; i = 0; count = 2 + ++i; ii countcount 11 33
  • 20. www.SunilOS.com 20 Binary operators  yyyy OperandOperand xxxx OperandOperand OperatorOperator
  • 22. www.SunilOS.com 22 Binary operators == AssignmentAssignment  Assignment is an binary operator in Java.  The left-hand operand of an assignment must be an LVALUE.  An LVALUE is an expression that refers to a region of memory. o Names of variables are LVALUES. o Names of functions and arrays are NOT LVALUES.
  • 23. www.SunilOS.com 23 Binary operators class ExampleAssignment { public static void main(String[] args) { int result, val_1, val_2; result = (val_1 = 1) + (val_2 = 2); System.out.println("val_1 = "+val_1); System.out.println("val_2 = "+val_2); System.out.println("result = "+result); } } class ExampleAssignment { public static void main(String[] args) { int result, val_1, val_2; result = (val_1 = 1) + (val_2 = 2); System.out.println("val_1 = "+val_1); System.out.println("val_2 = "+val_2); System.out.println("result = "+result); } } val_1 = 1 val_2 = 2 result = 3 val_1 = 1 val_2 = 2 result = 3
  • 24. www.SunilOS.com 24 Binary operators Expressions involving only integers are evaluated using integer arithmetic. float result; int i,j; i=25; j=10; result = i/j; float result; int i,j; i=25; j=10; result = i/j; resultresult 2.02.0
  • 25. www.SunilOS.com 25 Binary operators Expressions involving only integers are evaluated using integer arithmetic. float result; int i,j; i=25; j=10; result = (float) i/j; float result; int i,j; i=25; j=10; result = (float) i/j; resultresult 2.52.5
  • 26. www.SunilOS.com 26 Binary operators +=+= -=-= *=*= /=/= Assign sum Assign difference Assign product Assign quotient Assign remainder%=%=
  • 27. www.SunilOS.com 27 Binary operators Compound operators provide a convenient shorthand. int i; i = i + 5; i += 5; int i; i = i + 5; i += 5;
  • 28. www.SunilOS.com 28 Binary operators << >> <=<= >=>= Less than Greater than Less than or equal to Greater than or equal to Equal to Not equal to Relational == == !=!=
  • 29. www.SunilOS.com 29 Binary operators &&&& |||| Logical AND Logical OR Logical Expressions connected by && and || are evaluated from left to right.
  • 30. www.SunilOS.com 30 Binary operators Expressions connected by && and || are evaluated from left to right. class ExampleAndOr { public static void main(String[] args) { int i=0; System.out.println("Test:" + ((2<3) || (0<i++))); System.out.println("I:" + i); } } class ExampleAndOr { public static void main(String[] args) { int i=0; System.out.println("Test:" + ((2<3) || (0<i++))); System.out.println("I:" + i); } } Test:true I:0 Test:true I:0 This never gets evaluated! This never gets evaluated!
  • 31. www.SunilOS.com 31 Bitwise Binary operators << >> & ^ Shift left Shift right Bitwise AND Bitwise XOR Bitwise OR unary bitwise complement unsigned right shift | ~ >>> These operators are less commonly used.
  • 32. www.SunilOS.com 32 Unary bitwise complement 1 1 11 0 101 ~ 1 Byte 0 0 00 1 010 byte a = 10; byte b = ~a;
  • 33. www.SunilOS.com 33 Left Shift << 1 1 01 0 101 << 1 Byte 1 0 10 0 001 byte a = 10; b = a<<2; 1 1
  • 34. www.SunilOS.com 34 Right Shift >> 1 1 01 0 101 >> 1 Byte 1 0 10 1 100 byte a = 10; b = a>>2; 1 0
  • 35. www.SunilOS.com 35 Unsigned Right Shift >>> 1 1 01 0 101 >>> 1 Byte 0 0 11 1 100 byte a = 10; b = a>>>2; 1 0
  • 36. www.SunilOS.com 36 And bitwise & 1 1 01 0 101 & 1 Byte 0 0 11 1 100 byte a = 10; b = 20; c = a & b; 0 0 01 0 100
  • 37. www.SunilOS.com 37 OR bitwise | 1 1 01 0 101 | 1 Byte 0 0 11 1 100 byte a = 10; b = 20; c = a | b; 1 1 11 1 101
  • 38. www.SunilOS.com 38 XOR bitwise ^ 1 1 01 0 101 ^ 1 Byte 0 0 11 1 100 byte a = 10; b = 20; c = a ^ b; 1 1 10 1 001
  • 39. www.SunilOS.com 39 Ternary operators a?x:ya?x:y “if a then x, else y” Conditional result = (x<y) ? x : y;result = (x<y) ? x : y;
  • 41. www.SunilOS.com 41 Exercise What is the result of  int i = 0 ;  System.out.println(++i + ++i + ++i + ++i + ++i + ++i);  System.out.println(“” + ++i + ++i + ++i + ++i + ++i + ++i);
  • 43. www.SunilOS.com 43 Small to Big data type Will be done automatically. oint i = 5; odouble d = i; oshort s = 10; oint i = s; olong l = i;
  • 44. www.SunilOS.com 44 Big to Small data type When precision or data loss likely to happen then type casting is required. o double d = 5; o int i = (int)d; o short s = (short)i; o int i = 10; o float f = (float)i;
  • 45. www.SunilOS.com 45 Mixing operators class MixOperator { public static void main(String[] args) { char cv; int iv1 = 64; cv = (char) iv1; System.out.println("cv:" + cv); System.out.println("iv1:" + iv1); } } cv:@ iv1:64
  • 46. www.SunilOS.com 46 Mixing operators class MixOperator1 { public static void main(String[] args) { double fv1, fv2; int iv1 = 123; fv1 = iv1/50; fv2 = iv1/50.0; System.out.println("fv1:" + fv1); System.out.println("fv2:" + fv2); } } fv1:2.0 fv2:2.46 fv1:2.0 fv2:2.46
  • 47. www.SunilOS.com 47 String to Other data type String str = “5.5” ; int i = Integer.parseInt(str); double d = Double.parseDouble(str); float f = Float.parseFloat(str); long l = Long.parseLong(str); String bStr = “true”; boolean b = Boolean.parseBoolean(bStr);
  • 48. www.SunilOS.com 48 Other data type to String String str = String.valueOf(5); String str = String.valueOf(5.5); String str = String.valueOf(true); String str = String.valueOf(5L); String str = String.valueOf(5.5D);
  • 49. Disclaimer This is an educational presentation to enhance the skill of computer science students. This presentation is available for free to computer science students. Some internet images from different URLs are used in this presentation to simplify technical examples and correlate examples with the real world. We are grateful to owners of these URLs and pictures. www.SunilOS.com 49