Bird
Raised Fist0
Javaprogramming~5 mins

Method declaration in Java - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Method declaration
O(n)
Understanding Time Complexity

When we look at a method declaration, we want to understand how the time it takes to run changes as the input changes.

We ask: How does the work inside the method grow when inputs get bigger?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


public int sumArray(int[] numbers) {
    int sum = 0;
    for (int num : numbers) {
        sum += num;
    }
    return sum;
}
    

This method adds all numbers in an array and returns the total sum.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: The for-each loop that adds each number to sum.
  • How many times: Once for each element in the input array.
How Execution Grows With Input

As the array gets bigger, the method does more additions, one for each number.

Input Size (n)Approx. Operations
1010 additions
100100 additions
10001000 additions

Pattern observation: The work grows directly with the number of items in the array.

Final Time Complexity

Time Complexity: O(n)

This means the time to finish grows in a straight line with the input size.

Common Mistake

[X] Wrong: "The method takes the same time no matter how big the array is."

[OK] Correct: Because the method must add each number, more numbers mean more work and more time.

Interview Connect

Understanding how loops inside methods affect time helps you explain your code clearly and shows you know how programs grow with input.

Self-Check

"What if we changed the method to sum only the first half of the array? How would the time complexity change?"

Practice

(1/5)
1. What is the correct way to declare a method in Java that returns an integer and takes no parameters?
easy
A. int getNumber { return 5; }
B. public int getNumber() { return 5; }
C. public getNumber() int { return 5; }
D. public int getNumber[] { return 5; }

Solution

  1. Step 1: Check method signature format

    The correct method declaration includes access modifier, return type, method name, and parentheses for parameters.
  2. Step 2: Validate syntax correctness

    public int getNumber() { return 5; } correctly uses 'public int getNumber()' with parentheses and a return statement.
  3. Final Answer:

    public int getNumber() { return 5; } -> Option B
  4. Quick Check:

    Method declaration = public int getNumber() { ... } [OK]
Hint: Method declaration needs return type, name, and parentheses [OK]
Common Mistakes:
  • Omitting parentheses after method name
  • Missing return type before method name
  • Using brackets [] instead of parentheses for parameters
2. Which of the following is a correct method declaration syntax in Java?
easy
A. void printMessage(String message) { System.out.println(message); }
B. void printMessage(String message); { System.out.println(message); }
C. void printMessage String message { System.out.println(message); }
D. void printMessage(String message) System.out.println(message);

Solution

  1. Step 1: Identify correct method header and body syntax

    Method header must have parentheses around parameters and body enclosed in braces.
  2. Step 2: Check for syntax errors

    void printMessage(String message) { System.out.println(message); } correctly declares method with parameters in parentheses and body in braces.
  3. Final Answer:

    void printMessage(String message) { System.out.println(message); } -> Option A
  4. Quick Check:

    Method syntax = returnType name(params) { body } [OK]
Hint: Method parameters must be inside parentheses and body inside braces [OK]
Common Mistakes:
  • Adding semicolon after method header
  • Missing parentheses around parameters
  • Omitting braces for method body
3. What will be the output of the following code?
public class Test {
  public static int add(int a, int b) {
    return a + b;
  }
  public static void main(String[] args) {
    System.out.println(add(3, 4));
  }
}
medium
A. 0
B. 34
C. 7
D. Error

Solution

  1. Step 1: Understand method call and parameters

    The method add takes two integers and returns their sum.
  2. Step 2: Calculate the return value

    Calling add(3, 4) returns 3 + 4 = 7, which is printed.
  3. Final Answer:

    7 -> Option C
  4. Quick Check:

    3 + 4 = 7 [OK]
Hint: Method add returns sum; 3 + 4 = 7 [OK]
Common Mistakes:
  • Confusing concatenation with addition
  • Expecting compile error due to static method
  • Ignoring return value and expecting no output
4. Identify the error in the following method declaration:
public int multiply(int x, int y)
  return x * y;
}
medium
A. Extra semicolon after return statement
B. Missing return type
C. Incorrect parameter types
D. Missing opening brace '{' after method header

Solution

  1. Step 1: Check method header and body braces

    The method header must be followed by an opening brace '{' to start the method body.
  2. Step 2: Identify missing brace

    The code lacks '{' after the method header, causing a syntax error.
  3. Final Answer:

    Missing opening brace '{' after method header -> Option D
  4. Quick Check:

    Method body must start with '{' [OK]
Hint: Method body always starts with '{' after header [OK]
Common Mistakes:
  • Forgetting opening brace '{'
  • Placing return statement outside method body
  • Confusing semicolon placement
5. You want to declare a method named filterPositive that takes an array of integers and returns a new array containing only the positive numbers. Which method declaration is correct?
hard
A. public int[] filterPositive(int[] numbers) { /* implementation */ }
B. public int filterPositive(int numbers[]) { /* implementation */ }
C. public void filterPositive(int[] numbers) { /* implementation */ }
D. public int filterPositive(int[] numbers[]) { /* implementation */ }

Solution

  1. Step 1: Determine return type and parameter type

    The method returns an array of integers, so return type must be int[]. The parameter is an int array.
  2. Step 2: Check syntax correctness

    public int[] filterPositive(int[] numbers) { /* implementation */ } correctly declares return type as int[] and parameter as int[]. Other options have wrong return types or parameter syntax.
  3. Final Answer:

    public int[] filterPositive(int[] numbers) { /* implementation */ } -> Option A
  4. Quick Check:

    Return type matches output array type [OK]
Hint: Return type must match method output type (int[] for array) [OK]
Common Mistakes:
  • Using int instead of int[] as return type
  • Incorrect parameter array syntax
  • Using void when method returns data
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard