🚀 Welcome to www.UptuExam.com — Free Notes, Previous Papers, AI Search, Tutorials, Results, Syllabus, Important Questions and More...
AI is preparing your answer...
Searching notes, previous year papers, tutorials, AI content and important exam resources for you...

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 –














2 comments: