160 likes | 516 Views
Data Types and Operators. 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
E N D
Data Types and Operators
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
Primary data types • Primary data types in Java are: • boolean Represents true or false value • byte 8-bit integer • char Character • double Double-precision floating point • float single-precision floating point • int integer • long Long integer • short Short integer
Character variables can be handles like integers • class CharArithDemo{ • public static void main(String args[]) • { • char ch; • ch = ‘X’; • System.out.println (“ch contains ” + ch); • ch++; // increment ch • System.out.println (“ch is now ” + ch); • ch = 90; // give ch the value Z • System.out.println( “ch is now ” + ch); • } • } Output: Ch contains X Ch is now Y ch is now Z A char can be incremented A char can be assigned an integer value Note that although char is not integer type, in some case it can handled as integer
Boolean type • Boolean types represents true/false. • true and false are reserved words in Java • class BoolDemo • {public static void main(String args[]){ • boolean b; • b = false; • 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) ); • } • } Output: b is false b is true 10 > 9 is true
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; // b and c are initialized
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 floating-point numbers
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 1.0
Examples of increment and decrement: • X++ means X = X + 1 • ++X means X = X + 1 • Y = X++ means Y = X and X= X+1 • Y = ++X means X = X+1 and Y = X • The same logic works for decrement (X-- )
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
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.
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