Skip to content

Java Basic

1. Type Conversion

Type conversion in Java refers to converting values from one data type to another. This can be automatic or explicit.

  • Automatic Type Conversion:

    • Principle: Java automatically converts smaller data types to larger data types to prevent data loss. For instance, a byte can be seamlessly converted to an int.
    • Example:
      • byte a = 10;
      • int b = a; // Here, byte is automatically converted to int.
    • In Expressions: Within expressions, smaller data types (like byte, short, char) are promoted to int before computation.
      • Example:
        • Incorrect: byte b3 = b1 + b2; (where both b1 and b2 are bytes)
        • Correct: int b3 = b1 + b2; or byte b3 = (byte) (b1 + b2);
  • Explicit Type Conversion (Type Casting):

    • Principle: When converting from larger to smaller data types, explicit casting is required to avoid compile-time errors.
    • Examples:
      • int a = 1500;
      • byte b = (byte)a; // Potential data loss, as byte can hold values from -128 to 127.
      • double a = 99.5;
      • int i = (int)a; // Here, i becomes 99, losing the decimal part.

2. Operators

Java supports various operators for arithmetic, relational, and logical operations.

  • Arithmetic Operators: Common operators include +, -, *, /, and %.

    • / in integer division truncates any fractional part.
    • * with a floating point results in a floating-point number.
  • String Concatenation: Using + with strings concatenates them, e.g., "Hello " + "World" results in "Hello World".

  • Increment/Decrement Operators (++, --):

    • Pre-increment/decrement (++var, --var) modifies the variable before use.
    • Post-increment/decrement (var++, var--) modifies the variable after use.
  • Assignment Operators: Include =, +=, -=, *=, /=, %= which perform an operation and assignment in one step.

  • Relational Operators: ==, !=, >, <, >=, <= evaluate to boolean values.

  • Logical Operators: Include &, |, &&, ||, !, ^. Short-circuit versions (&&, ||) do not evaluate the second expression if the first is sufficient to determine the result.

  • Ternary Operator: Used for conditional assignments, e.g., int result = (condition) ? value1 : value2;.

  • Operator Precedence: Determines the order of operations, with parentheses having the highest priority.

3. Keyboard Input Technology

Java provides mechanisms to handle user input through the keyboard using the Scanner class.

  • Procedure:
    1. Import the Scanner class: import java.util.Scanner;
    2. Create a Scanner object: Scanner sc = new Scanner(System.in);
    3. Use the Scanner to read different types of input (e.g., nextInt() for integers, next() for strings).

Contributors

No contributors

Changelog

No recent changes