Bird
Raised Fist0
Javaprogramming~10 mins

Type casting in Java - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to convert an integer to a double.

Java
int num = 5;
double result = ([1]) num;
System.out.println(result);
Drag options to blanks, or click blank then click option'
Afloat
Bint
Cdouble
Dlong
Attempts:
3 left
💡 Hint
Common Mistakes
Using the wrong type in the cast, like int or float.
Forgetting the parentheses around the type.
2fill in blank
medium

Complete the code to cast a double to an integer.

Java
double pi = 3.14;
int whole = ([1]) pi;
System.out.println(whole);
Drag options to blanks, or click blank then click option'
Adouble
Bint
Cfloat
Dlong
Attempts:
3 left
💡 Hint
Common Mistakes
Using (double) instead of (int).
Expecting rounding instead of truncation.
3fill in blank
hard

Fix the error in casting a long to an int.

Java
long bigNumber = 100000L;
int smaller = ([1]) bigNumber;
System.out.println(smaller);
Drag options to blanks, or click blank then click option'
Along
Bfloat
Cdouble
Dint
Attempts:
3 left
💡 Hint
Common Mistakes
Casting to the same type (long) instead of int.
Forgetting to cast and causing a compile error.
4fill in blank
hard

Fill both blanks to create a dictionary with string keys and integer values using casting.

Java
Map<String, Integer> map = new HashMap<>();
String key = "age";
Object value = 30;
map.put(key, ([1]) value);
int age = ([2]) map.get(key);
System.out.println(age);
Drag options to blanks, or click blank then click option'
AInteger
BString
Cint
DDouble
Attempts:
3 left
💡 Hint
Common Mistakes
Casting to String instead of Integer.
Casting to Double which is incompatible.
Using int instead of Integer when putting into the map.
5fill in blank
hard

Fill all three blanks to cast and calculate the average of two numbers.

Java
int a = 5;
int b = 8;
double average = (([1]) a + ([2]) b) / [3];
System.out.println(average);
Drag options to blanks, or click blank then click option'
Adouble
C2.0
Dint
Attempts:
3 left
💡 Hint
Common Mistakes
Dividing by integer 2 causing integer division.
Not casting both numbers to double.
Casting to int which does not help here.

Practice

(1/5)
1.

What is type casting in Java?

easy
A. Writing a loop
B. Creating a new variable
C. Declaring a method
D. Changing a value from one data type to another

Solution

  1. Step 1: Understand the meaning of type casting

    Type casting means converting a value from one data type to another, like from int to double or vice versa.
  2. Step 2: Identify the correct description

    Among the options, only changing a value's data type matches the definition of type casting.
  3. Final Answer:

    Changing a value from one data type to another -> Option D
  4. Quick Check:

    Type casting = Changing data type [OK]
Hint: Type casting means changing data types [OK]
Common Mistakes:
  • Confusing type casting with variable declaration
  • Thinking type casting creates new variables
  • Mixing type casting with control structures
2.

Which of the following is the correct syntax for explicit type casting from double to int in Java?

easy
A. int x = (int) 3.14;
B. int x = int(3.14);
C. int x = 3.14 as int;
D. int x = cast int 3.14;

Solution

  1. Step 1: Recall Java explicit casting syntax

    In Java, explicit casting uses parentheses with the target type before the value, like (int) value.
  2. Step 2: Match syntax with options

    Only int x = (int) 3.14; uses the correct syntax: int x = (int) 3.14;. Others are invalid in Java.
  3. Final Answer:

    int x = (int) 3.14; -> Option A
  4. Quick Check:

    Explicit cast uses (type) value [OK]
Hint: Use (type) before value for explicit cast [OK]
Common Mistakes:
  • Using function-like cast syntax (e.g., int(3.14))
  • Using 'as' keyword which Java doesn't support
  • Writing 'cast' keyword which is invalid
3.

What is the output of the following Java code?

double d = 9.99;
int i = (int) d;
System.out.println(i);
medium
A. 9.99
B. 10
C. 9
D. Compilation error

Solution

  1. Step 1: Understand explicit cast from double to int

    Casting a double to int truncates the decimal part, it does not round.
  2. Step 2: Apply casting to value 9.99

    When casting 9.99 to int, the decimal .99 is dropped, resulting in 9.
  3. Final Answer:

    9 -> Option C
  4. Quick Check:

    Double to int cast truncates decimals = 9 [OK]
Hint: Casting double to int drops decimals, no rounding [OK]
Common Mistakes:
  • Assuming casting rounds the number
  • Expecting compilation error due to cast
  • Confusing output with original double value
4.

Identify the error in the following Java code snippet:

byte b = 130;
medium
A. Type mismatch: possible lossy conversion from int to byte
B. No error, code runs fine
C. Syntax error: missing cast operator
D. Runtime exception: value too large

Solution

  1. Step 1: Understand byte range in Java

    Byte type can hold values from -128 to 127 only.
  2. Step 2: Check assigned value 130

    130 is outside byte range, so Java reports a compile-time error about possible lossy conversion.
  3. Final Answer:

    Type mismatch: possible lossy conversion from int to byte -> Option A
  4. Quick Check:

    Byte range exceeded causes compile error [OK]
Hint: Byte values must be between -128 and 127 [OK]
Common Mistakes:
  • Thinking code runs without error
  • Expecting runtime exception instead of compile error
  • Missing need for explicit cast
5.

Given the code below, what will be the output?

int a = 300;
byte b = (byte) a;
System.out.println(b);

Note: byte range is -128 to 127.

hard
A. 44
B. -56
C. 300
D. Compilation error

Solution

  1. Step 1: Understand casting int 300 to byte

    When casting int to byte, Java keeps only the lowest 8 bits of the int value.
  2. Step 2: Calculate byte value from 300

    300 in binary is 00000001 00101100 (16 bits). The lowest 8 bits are 00101100 (decimal 44).
  3. Step 3: Confirm signed byte value

    300 mod 256 = 44. However, since byte is signed, the value wraps around to -56.
  4. Final Answer:

    -56 -> Option B
  5. Quick Check:

    Int to byte cast wraps around signed byte range = -56 [OK]
Hint: Casting int to byte keeps lowest 8 bits and wraps signed range [OK]
Common Mistakes:
  • Assuming output is original int value
  • Confusing signed byte range with unsigned
  • Expecting compilation error without cast
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard