on Data Type and operations - California State University San Marcos

Download Report

Transcript on Data Type and operations - California State University San Marcos

Data Types
and
Operators
Sahar Mosleh
California State University San Marcos
Page
1
• Java is a strongly types language
• all operations are types checked by the compiler for type
compatibility
• illegal operations will not be compiled
• Java contains two sets of data types
• object-oriented data types
• non-object-oriented data types
• Java object- oriented data types are defined by classes.
• Discussion of these types will be done later in the course
Sahar Mosleh
California State University San Marcos
Page
2
Primary data types
• Primary data types in Java are:
boolean
byte
char
double
float
int
long
short
Sahar Mosleh
Represents true or false value
8-bit integer
Character
Double-precision floating point
single-precision floating point
integer
Long integer
Short integer
California State University San Marcos
Page
3
Character variables can be handles
like integers
Output:
class CharArithDemo{
Ch contains X
public static void main(String args[])
Ch is now Y
{
ch is now Z
char ch;
ch = ‘X’;
A char can be
System.out.println (“ch contains ” + ch); incremented
ch++; // increment ch
System.out.println (“ch is now ” + ch); A char can be
ch = 90; // give ch the value Z
assigned an
System.out.println( “ch is now ” + ch); integer value
}
} Note that although char is not integer type, in some case it
can handled as integer
Sahar Mosleh
California State University San Marcos
Page
4
Boolean type
• Boolean types represents true/false.
• true and false are reserved words in Java
Output:
class BoolDemo
b is false
{public static void main(String args[]){
boolean b;
b is true
b = false;
10 > 9 is true
System.out.println(“ b is: ” + b);
b = true;
System.out.println(“b is: ” + b);
// a boolean value can control the if statement
b = false;
if (b)
System.out.println(“This is not executed.”);
// outcome of a relational operator is a boolean value
System.out.println(“10 > 9 is ” + (10 > 9) );
}
}
Sahar Mosleh
California State University San Marcos
Page
5
More on variables
• Initializing a variable:
• One way to give a variable a value is through assignment
statement
• For example,
int
count = 10; // giving count initial value of 10
char ch = ‘X’;
// initializing ch to the value of ‘X’
float f = 1.3F
// f is initialized with 1.2
• You can also declare two or more variables of the same type
using comma-separated list
• For example,
int
a, b = 8, c = 19, d;
Sahar Mosleh
// b and c are initialized
California State University San Marcos
Page
6
Operator
• Java has four different classes of operator: arithmetic, bitwise,
relational, and logical
• Arithmetic operators include:
+
addition
subtraction
*
multiplication
/
division
%
module
++
increment
-decrement
• *, -, +, /, work mainly the same as other languages.
• % is the module operator. It works both for integer and floatingpoint numbers
Sahar Mosleh
California State University San Marcos
Page
7
class ModDemo
{
public static void main(String args[])
{
int iresult, irem;
double dresult, drem;
iresult = 10 / 3; irem = 10 % 3;
drem = 10.0 % 3.0; dresult = 10.0 / 3.0;
System.out.println(“Result and remainder of 10/3: ” +
iresult + “ ”+ irem);
System.out.println(“Result and remainder of 10.0 /3.0: ”
+ dresult + “ ” + drem);
}
}
output:
Result and remainder of 10 / 3: 3 1
Result and remainder of 10.0 / 3.0: 3.3333333333333335
Sahar Mosleh
California State University San Marcos
1.0
Page
8
• Examples of increment and decrement:
X++
++X
means
means
X=X+1
X=X+1
Y = X++
Y = ++X
means
means
Y = X and X= X+1
X = X+1 and Y = X
• The same logic works for decrement (X-- )
Sahar Mosleh
California State University San Marcos
Page
9
• Relational operators are:
==
!=
>
<
<=
>=
• Logical operators are:
&
|
^
!
And
OR
XOR
Not
• The outcome of the relational operators is a boolean value
• The result of a logical operation is also of type boolean
Sahar Mosleh
California State University San Marcos
Page 10
• Suppose p and q are two boolean objects (literal, variable,
expression), the following truth table holds
p
q
p&q p|q
!p
!q
------------------------------------------------T
T
T
T
F
F
T
F
F
T
F
T
F
T
F
T
T
F
F
F
F
F
T
T
• For example, suppose c is a boolean variables and x=10, y = 20
c = ( x > 15) && (y = =20)
• In this case since the first operand (x>15) is false, the result of c
is false no matter what the result of the second operand (y==20)
is.
Sahar Mosleh
California State University San Marcos
Page 11
The Assignment operator
• The assignment operator is the single equal sign =. The general
format of assignment operator is:
var = expression
• The type of expression should match the type of the variable
• It is also possible to create a chain of assignments
• For example:
int
x, y, z
x = y = z = 100;
• In this case, going from right to left, 100 is assigned to z which
in turn z is assigned to y and the value of y is assigned to x
• Java also supports assignments for the following logical
operators
+=
-=
*=
%= &=
|=
^=
• For example, a+=b means a = a + b
Sahar Mosleh
California State University San Marcos
Page 12