💻 Programming

Java Programming Language

Last updated: 2025-09-25 02:29:54

Java Object-Oriented Programming

Java is a robust, platform-independent programming language widely used in enterprise applications.

Basic Java Syntax

// Hello World
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

// Variables and Data Types
int age = 25;
double price = 99.99;
String name = "John Doe";
boolean isActive = true;
char grade = 'A';

// Arrays
int[] numbers = {1, 2, 3, 4, 5};
String[] names = new String[3];
names[0] = "Alice";
names[1] = "Bob";
names[2] = "Charlie";

Object-Oriented Programming

// Class definition
public class Person {
    // Fields (encapsulation)
    private String name;
    private int age;
    private String email;
    
    // Constructor
    public Person(String name, int age, String email) {
        this.name = name;
        this.age = age;
        this.email = email;
    }
    
    // Getters and Setters
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public int getAge() {
        return age;
    }
    
    public void setAge(int age) {
        if (age >= 0) {
            this.age = age;
        }
    }
    
    // Methods
    public void introduce() {
        System.out.println("Hi, I'm " + name + " and I'm " + age + " years old.");
    }
    
    public boolean isAdult() {
        return age >= 18;
    }
    
    // Override toString
    @Override
    public String toString() {
        return "Person{name='" + name + "', age=" + age + ", email='" + email + "'}";
    }
}

// Inheritance
public class Employee extends Person {
    private String jobTitle;
    private double salary;
    
    public Employee(String name, int age, String email, String jobTitle, double salary) {
        super(name, age, email); // Call parent constructor
        this.jobTitle = jobTitle;
        this.salary = salary;
    }
    
    // Method overriding
    @Override
    public void introduce() {
        super.introduce();
        System.out.println("I work as a " + jobTitle);
    }
    
    public void work() {
        System.out.println(getName() + " is working as " + jobTitle);
    }
}

Collections and Generics

import java.util.*;

// Lists
List names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");

// Iterate through list
for (String name : names) {
    System.out.println(name);
}

// Maps
Map ages = new HashMap<>();
ages.put("Alice", 25);
ages.put("Bob", 30);
ages.put("Charlie", 35);

// Stream API (Java 8+)
List upperCaseNames = names.stream()
    .map(String::toUpperCase)
    .filter(name -> name.length() > 3)
    .collect(Collectors.toList());

// Lambda expressions
names.forEach(name -> System.out.println("Hello, " + name));

// Generic class example
public class Box {
    private T content;
    
    public void setContent(T content) {
        this.content = content;
    }
    
    public T getContent() {
        return content;
    }
}

// Usage
Box stringBox = new Box<>();
stringBox.setContent("Hello World");
String message = stringBox.getContent();