Java Logical Operations
Java supports standard arithmetic operations including addition, subtraction, multiplication, division, modulus, and increment/decrement:
int num1 = 3;
int num2 = 5;
long num3 = 8;
float num4 = 6.6f;
double num5 = 9.321;
String greeting = "Hello, ";
int total = num1 + num2;
System.out.println(total);
System.out.println(num1 + num3);
System.out.println(num1 / num4);
System.out.println(num4 * num5);
System.out.println(greeting + num1);
System.out.println(num3 % num1);
System.out.println(num1++);
System.out.println(++num2);
Conditional Statements
Java provides several ways to implement conditional logic:
// Boolean expressions
System.out.println(num1 == num1);
System.out.println(num1 == num2);
System.out.println(num1 % num2 == num3);
// If-else statement
if(num1 == 3) {
System.out.println("num1 equals 3");
} else {
System.out.println("num1 doesn't equal 3");
}
// Switch-case statement
switch(num1) {
case 1:
System.out.println("num1 is 1");
break;
case 2:
System.out.println("num1 is 2");
break;
case 3:
System.out.println("num1 is 3");
break;
default:
System.out.println("num1 is not 1, 2, or 3");
break;
}
Looping Constructs
Java offers multiple loop structures:
// For loop
for(int counter = 0; counter < 10; counter++) {
System.out.println("For loop iteration: " + counter);
}
// While loop
int countdown = 10;
while(countdown > 0) {
countdown--;
System.out.println("While loop count: " + countdown);
}
Essential Utility Classes
- Input/Output with Scanner:
Scanner reader = new Scanner(System.in);
String userInput = reader.next();
System.out.println(userInput);
- String manipulation methods
- Date and time operations
- Number formatting
- Math class functions
- Exception handling mechanisms
Data Structures
Arrays
String[] colors = new String[10];
colors[0] = "red";
colors[1] = "blue";
System.out.println(colors[0]);
for(String color : colors) {
System.out.println(color);
}
Lists
List<String> fruits = new ArrayList<>();
fruits.add("apple");
fruits.add("banana");
System.out.println(fruits.get(0));
Maps
Map<String, String> capitals = new HashMap<>();
capitals.put("France", "Paris");
capitals.put("Germany", "Berlin");
System.out.println(capitals.containsKey("Germany"));
System.out.println(capitals.get("Germany"));
File Operations
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class FileHandler {
public static String readFile(String path) throws Exception {
FileInputStream input = new FileInputStream(path);
byte[] data = new byte[input.available()];
input.read(data);
input.close();
return new String(data);
}
public static void writeFile(String content, String path) throws Exception {
FileOutputStream output = new FileOutputStream(path);
output.write(content.getBytes());
output.flush();
output.close();
}
}
Object-Oriented Principles
Encapsulation
Encapsulation bundles data and methods within a class while controllling access through interfaces. Benefits include:
- Reduced coupling between components
- Flexible internal implementation
- Controlled member access
- Information hiding
Inheritance
public class Vehicle {
protected String model;
protected String vin;
public void startEngine() {
System.out.println("Engine started");
}
}
public class Car extends Vehicle {
public void displayInfo() {
System.out.println(this.model);
System.out.println(this.vin);
this.startEngine();
}
}
Polymorphism
public class Animal {
public void move() {
System.out.println("Animal moving");
}
}
public class Bird extends Animal {
@Override
public void move() {
System.out.println("Bird flying");
}
}
public class Fish extends Animal {
@Override
public void move() {
System.out.println("Fish swimming");
}
}