🚀 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 –














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.