• 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.