DEV Community

Vigneshwaralingam
Vigneshwaralingam

Posted on

Java Day 4: Data Types & Variables

Java Day 4: Data Types & Variables

In Java, data types define the kind of values a variable can store. Java has two main categories:

1️⃣ Primitive Data Types

2️⃣ Non-Primitive Data Types


1. Primitive Data Types

These are built-in data types that store simple values. There are 8 primitive types in Java:

Whole Numbers (Integer Types)

Data Type Size Range
byte 1 byte -128 to 127
short 2 bytes -32,768 to 32,767
int 4 bytes -2³¹ to 2³¹-1
long 8 bytes -2⁶³ to 2⁶³-1

Decimal Numbers (Floating-Point Types)

Data Type Size Precision
float 4 bytes 6–7 decimal places
double 8 bytes 15 decimal places

Other Primitive Types

Data Type Size Stores
char 2 bytes Single character (Unicode)
boolean 1 bit true or false

Example:

byte b = 127; short s = 3000; int i = 100000; long l = 1000000000L; float f = 10.5f; double d = 99.99; char c = 'A'; boolean isJavaFun = true; 
Enter fullscreen mode Exit fullscreen mode

2. Non-Primitive Data Types (Reference Types)

  • These store references to objects, not actual values.
  • Examples: String, Arrays, Classes, Interfaces
  • Can be null (primitive types cannot).

Example:

String name = "Vignesh"; int[] numbers = {1, 2, 3, 4, 5}; 
Enter fullscreen mode Exit fullscreen mode

Why are they called "Primitive" and "Non-Primitive"?

  • Primitive types store actual values in memory.
  • Non-primitive types store a reference (address) to the value.

3. Variable Declaration, Initialization, and Assignment

Declaration: Only declaring a variable (no value assigned).

int age; 
Enter fullscreen mode Exit fullscreen mode

Initialization: Assigning a value when declaring.

int age = 21; 
Enter fullscreen mode Exit fullscreen mode

Assignment: Changing the value later.

age = 25; 
Enter fullscreen mode Exit fullscreen mode

4. Global vs Local Variables

Global Variables (Declared outside methods, available globally)

✅ Use static keyword to access without an object.

public class Home { static String name = "Vignesh"; static int age = 21; } 
Enter fullscreen mode Exit fullscreen mode

Access them using ClassName.variableName:

System.out.println(Home.name); // Vignesh System.out.println(Home.age); // 21 
Enter fullscreen mode Exit fullscreen mode

Local Variables (Declared inside methods, only available within that method)

🚫 Local variables cannot be static because they belong to a method, not a class.

public class Test { public void display() { int num = 10; // Local variable System.out.println(num); } } 
Enter fullscreen mode Exit fullscreen mode

5. Variable Naming Rules

✔️ Can contain letters, digits, _ , $

✔️ Cannot start with a digit

✔️ No Java keywords allowed (like int, class)

✔️ Case-sensitive

int myAge = 20; int MyAge = 25; // Different variable 
Enter fullscreen mode Exit fullscreen mode

6. Identifiers in Java

  • Variables are called identifiers because they "identify" memory locations.
  • Examples: age, number, totalSalary are all identifiers.

7. Interesting Java Cases

Case 1: Mixed Data Types in Concatenation

System.out.println(25 + 69 + ", " + "Hello"); 
Enter fullscreen mode Exit fullscreen mode

📌 Output: 94, Hello

🔹 Numbers are added first, then concatenated with the string.

Case 2: String First in Concatenation

System.out.println("Hello" + 25 + 69); 
Enter fullscreen mode Exit fullscreen mode

📌 Output: Hello2569

🔹 When a string appears first, everything after is treated as a string.

Case 3: Byte Overflow

byte no = 127; no = 128; // Error: Exceeds byte range (-128 to 127) 
Enter fullscreen mode Exit fullscreen mode

🔹 Solution: Use short, int, or long.


8. More Variable Access Examples

public class Home { static String name = "Vignesh"; static int age = 21; } 
Enter fullscreen mode Exit fullscreen mode

Accessing Static Variables

System.out.println(Home.age); // 21 System.out.println(Home.name); // Vignesh System.out.println(Home.name + "45" + 66); // Vignesh4566 
Enter fullscreen mode Exit fullscreen mode

Variable Reassignment

int no = 120; no = 1233; // Allowed (variable can change) 
Enter fullscreen mode Exit fullscreen mode

Conclusion

✅ Java has primitive (simple values) and non-primitive (object references) types.

Global variables use static, while local variables cannot be static.

String concatenation follows order, and byte overflow occurs if exceeded.

✅ Understanding variables helps in memory management and code efficiency.


*Reference

1.Classroom notes
2.Chat gpt.

Top comments (0)