• www.uptuexam.com
• GBTU Results 2014
• MTU Results 2014
• UPTU Circulars
• COP Result 2012,13,14
• UPTU Previous Papers
• GATE study material
• Robotics Projects
Thank you for visiting www.UPTUexam.com " Free download Exam materials, previous year question papers, free ebooks & Providing Important Questions To Do their Exams Well and Totally a FREE SERVICE for all engineering streams (B.Tech)."

### Type Casting / Type Conversion

##### Type Casting / Type Conversion

Converting the values of one type to another for the evaluation of an expression is called type casting or type conversion.

Type casting is of two types:-

1) Upcasting – Conversion of lower types to upper types is called upcasting. Upcasting is implicitly performed.

Upcasting is performed according to the following graph:- Explanation -
a.      Let n be an integer and n = 2n then to store n in memory in integer representation k bits are required.

For e.g
32768 = 215
0 111111111111111

15 bits are required to store 32768.

b.      In floating point representation number is not stored rather its exponent is stored.
i.e
32768 = 215
Then only 15 need to be stored.

n=2k and k = 2l where l<k then to store n only l bits are required.

2) Downcasting – Conversion of higher types to lower type is called downcasting. Downcasting need to be explicitly performed.

Syntax –
(target type) expression;

Example- float f = 12.45;    ==========>  float f = (float)12.45;  OR  float f = 12.45f;
By this statement compiler

1. PROGRAM – Rectangle.java
2. public class Rectangle
3. {
4. private int l, b;
5. public void Rectangle(int x, int y)
6. {
7. l = x;
8. b = y;
9. }
10. public void display()
11. {
12. System.out.println("Length = " + l);
13. System.out.println("Breadth = " + b);
14. }
15. public int area()
16. {
17. return l * b;
18. }
19. public void setDimension(int x, int y)
20. {
21. l = x;
22. b = y;
23. }
24. }
25. Syntax of creating object of a class-
26. className ReferenceVariable = new className();
27. OR
28. className ReferenceVariable;
29. ReferenceVariable = new className();

Reference Variable – is an implicit pointer that contains the reference of a class object. In Java, objects are dynamically created. Hence, they don’t have names. They are referred using the name of their reference variable.

In C++ :-
Rectangle r; Traditionally in languages when we write statement
int a=5, b=6, c=10;
a table is created during compilation.

 Variable Name Type Address Value Scope a int 0 + 1000 5 main B int 2 + 1000 6 main c int 4 + 1000 10 main

int * p; Address & Reference denotes two different things.
o Address represents actual memory location whereas Reference represents a mechanism of finding out objects.
 Different JRE provides different implementations of references.
o In Microsft JRE, References are implemented as pointers that is they actually holds the address of object.  o In Sun Microsystem JRE, Reference Variables are implemented as pointer to pointer. In this implementation, Reference and Address are different. Now we will write a program RectTest.java to test the program Rectangle.java written above.

1. public class RectTest
2. {
3. public static void main(String[] args)
4. {
5. Rectangle r = new Rectangle();
6. r.l = 5;
7. r.b = 7;
8. r.setDimension(5, 4);
9. System.out.println("Dimension of rectangle r ");
10. r.display();
11. System.out.println("Area of r = " + r.area());
12. }
13. }

Output – Since variables l and b are declared private so we cannot access it from outside.

Now the same program RectTest.java again.

1. PROGRAM RectTest.java
2. public class RectTest
3. {
4. public static void main(String[] args)
5. {
6. Rectangle r = new Rectangle();
7. //r.l = 5; // Invalid statement
8. //r.b = 7; // Invalid statement
9. r.setDimension(5, 4);
10. System.out.println("Dimension of rectangle r ");
11. r.display();
12. System.out.println("Area of r = " + r.area());
13. }
14. }

OUTPUT – ### Question: What is datatype?

##### Question: What is datatype?

AnswerDatatype is a set of values that has an associated set of operations and a memory representation for its values.

 S. NO. DATA TYPE SIGN IN BYTES DEFAULT VALUES 1. char 2 \0 (Null Character) 2. byte 1 0 3. short 2 0 4. int 4 0 5. long 8 0 6. float 4 0 7. double 8 0 8. boolean Not defined false

1. class Test1
2. {
3. public static void main(String args[])
4. {
5. int a;
6. System.out.println("a = “ + a); // Compilation error
7. }
8. }

Output - Explanation-

v  Concept of default value is not applied on local variables of method i.e. local variables of a method need to be explicitly assigned.

v  Default value will be applied in class variables.

Like for example the above program can be rewritten as-

1. PROGRAM Test1.java
2. class Test1
3. {
4. static int a, b;
5. public static void main(String args[])
6. {
7. System.out.println("a & b is : " + a + " " + b); // No compilation error
8. }
9. }

OUTPUT – 1. PROGRAM Test2.java
2. class Test2
3. {
4. public static void main(String args[])
5. {
6. float f = 12.45;
7. System.out.println("Value of f = " + f);
8. }
9. }

What will be the output –
A.     Value of f = 12.45
B.     Value of f = 12
C.     Value of f = 12.00000
D.     Compilation Error  (output)

Now let’s see the output of the above program. Explanation –

In Java, floating point constants are of double type by default. The value of higher type cannot be directly assigned to a lower type. In such a case type conversion is required.