Java Source File
Download
import java.util.Arrays;
/**
* Java Basics: Arrays
* PT821 - Object-Oriented Programming
*
* This example demonstrates:
* - Array declaration and initialization
* - Accessing and modifying elements
* - Array length
* - Iterating through arrays
* - Multi-dimensional arrays
* - Common array operations
*/
public class ArraysExample {
public static void main(String[] args) {
// ============================================
// 1. ARRAY DECLARATION AND INITIALIZATION
// ============================================
System.out.println("=== Array Declaration and Initialization ===\n");
// Method 1: Declare then initialize
int[] numbers = new int[5]; // Creates array of 5 integers (all 0)
// Method 2: Declare and initialize with values
int[] scores = {85, 92, 78, 95, 88};
// Method 3: Using new keyword with values
String[] names = new String[]{"Ali", "Fatma", "Hassan"};
// Display arrays
System.out.println("numbers array (default values): " + Arrays.toString(numbers));
System.out.println("scores array: " + Arrays.toString(scores));
System.out.println("names array: " + Arrays.toString(names));
// ============================================
// 2. ACCESSING AND MODIFYING ELEMENTS
// ============================================
System.out.println("\n=== Accessing and Modifying Elements ===\n");
// Arrays are zero-indexed (first element is at index 0)
System.out.println("First score (index 0): " + scores[0]);
System.out.println("Third score (index 2): " + scores[2]);
System.out.println("Last score (index 4): " + scores[4]);
// Modifying elements
numbers[0] = 10;
numbers[1] = 20;
numbers[2] = 30;
numbers[3] = 40;
numbers[4] = 50;
System.out.println("\nAfter modification: " + Arrays.toString(numbers));
// ============================================
// 3. ARRAY LENGTH
// ============================================
System.out.println("\n=== Array Length ===\n");
System.out.println("Length of scores array: " + scores.length);
System.out.println("Length of names array: " + names.length);
// Last element is at index (length - 1)
System.out.println("Last element of scores: " + scores[scores.length - 1]);
// ============================================
// 4. ITERATING THROUGH ARRAYS
// ============================================
System.out.println("\n=== Iterating Through Arrays ===\n");
// Using for loop
System.out.println("Using for loop:");
for (int i = 0; i < scores.length; i++) {
System.out.println("scores[" + i + "] = " + scores[i]);
}
// Using enhanced for loop (for-each)
System.out.println("\nUsing for-each loop:");
for (int score : scores) {
System.out.println("Score: " + score);
}
// Iterating with while loop
System.out.println("\nUsing while loop:");
int index = 0;
while (index < names.length) {
System.out.println("Name: " + names[index]);
index++;
}
// ============================================
// 5. COMMON ARRAY OPERATIONS
// ============================================
System.out.println("\n=== Common Array Operations ===\n");
int[] data = {45, 82, 33, 91, 67, 28, 75};
System.out.println("Array: " + Arrays.toString(data));
// Find sum
int sum = 0;
for (int value : data) {
sum += value;
}
System.out.println("Sum: " + sum);
// Find average
double average = (double) sum / data.length;
System.out.printf("Average: %.2f%n", average);
// Find maximum
int max = data[0];
for (int value : data) {
if (value > max) {
max = value;
}
}
System.out.println("Maximum: " + max);
// Find minimum
int min = data[0];
for (int value : data) {
if (value < min) {
min = value;
}
}
System.out.println("Minimum: " + min);
// Search for element
int searchValue = 67;
int foundIndex = -1;
for (int i = 0; i < data.length; i++) {
if (data[i] == searchValue) {
foundIndex = i;
break;
}
}
System.out.println("Element " + searchValue + " found at index: " + foundIndex);
// Count occurrences
int[] grades = {5, 4, 5, 3, 5, 4, 5, 2, 5};
int countFives = 0;
for (int grade : grades) {
if (grade == 5) {
countFives++;
}
}
System.out.println("Number of 5s in grades: " + countFives);
// ============================================
// 6. SORTING ARRAYS
// ============================================
System.out.println("\n=== Sorting Arrays ===\n");
int[] unsorted = {64, 34, 25, 12, 22, 11, 90};
System.out.println("Before sorting: " + Arrays.toString(unsorted));
Arrays.sort(unsorted);
System.out.println("After sorting: " + Arrays.toString(unsorted));
// Sorting strings
String[] fruits = {"Banana", "Apple", "Orange", "Mango"};
System.out.println("\nBefore sorting: " + Arrays.toString(fruits));
Arrays.sort(fruits);
System.out.println("After sorting: " + Arrays.toString(fruits));
// ============================================
// 7. COPYING ARRAYS
// ============================================
System.out.println("\n=== Copying Arrays ===\n");
int[] original = {1, 2, 3, 4, 5};
// Using Arrays.copyOf
int[] copy1 = Arrays.copyOf(original, original.length);
System.out.println("Original: " + Arrays.toString(original));
System.out.println("Copy: " + Arrays.toString(copy1));
// Partial copy
int[] partial = Arrays.copyOf(original, 3);
System.out.println("Partial copy (first 3): " + Arrays.toString(partial));
// ============================================
// 8. MULTI-DIMENSIONAL ARRAYS
// ============================================
System.out.println("\n=== Multi-Dimensional Arrays ===\n");
// 2D array (matrix)
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
System.out.println("3x3 Matrix:");
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
// Accessing elements
System.out.println("\nElement at [1][2]: " + matrix[1][2]); // 6
System.out.println("Element at [0][0]: " + matrix[0][0]); // 1
// Student grades table
System.out.println("\nStudent Grades Table:");
String[] students = {"Ali", "Fatma", "Hassan"};
String[] subjects = {"Math", "Science", "English"};
int[][] studentGrades = {
{85, 90, 88}, // Ali's grades
{92, 87, 95}, // Fatma's grades
{78, 82, 80} // Hassan's grades
};
// Print header
System.out.print("Student\t\t");
for (String subject : subjects) {
System.out.print(subject + "\t");
}
System.out.println("Average");
System.out.println("------------------------------------------------");
// Print grades
for (int i = 0; i < students.length; i++) {
System.out.print(students[i] + "\t\t");
int total = 0;
for (int j = 0; j < studentGrades[i].length; j++) {
System.out.print(studentGrades[i][j] + "\t");
total += studentGrades[i][j];
}
double avg = total / 3.0;
System.out.printf("%.1f%n", avg);
}
}
}