Bird
Raised Fist0
Javaprogramming~5 mins

String creation in Java - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: String creation
O(n²)
Understanding Time Complexity

We want to see how the time needed to create strings changes as we make bigger or more strings.

How does the work grow when we build strings in different ways?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


public class StringCreation {
    public static void main(String[] args) {
        String s = "";
        for (int i = 0; i < 1000; i++) {
            s += i;
        }
    }
}
    

This code builds a string by adding numbers one by one in a loop.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Adding numbers to the string inside the loop.
  • How many times: The loop runs 1000 times, and each time it creates a new string by copying the old one plus the new number.
How Execution Grows With Input

Each time we add to the string, the program copies the whole string so far, which takes longer as the string grows.

Input Size (n)Approx. Operations
10About 55 copies (1+2+...+10)
100About 5050 copies
1000About 500,500 copies

Pattern observation: The work grows much faster than the input size; it grows roughly like the square of the input.

Final Time Complexity

Time Complexity: O(n²)

This means the time needed grows roughly with the square of how many times we add to the string.

Common Mistake

[X] Wrong: "Adding to a string in a loop always takes the same time as the number of loop runs."

[OK] Correct: Each addition copies the whole string so far, so the work grows more than just the loop count.

Interview Connect

Understanding how string creation time grows helps you write faster code and explain your choices clearly in interviews.

Self-Check

"What if we used a StringBuilder instead of adding strings directly? How would the time complexity change?"

Practice

(1/5)
1. Which of the following is the correct way to create a string variable in Java?
easy
A. String greeting = "Hello";
B. string greeting = 'Hello';
C. String greeting = Hello;
D. String greeting = "Hello"

Solution

  1. Step 1: Check the data type and quotes

    Java strings use the class String with a capital S and text must be in double quotes.
  2. Step 2: Validate syntax correctness

    String greeting = "Hello"; uses correct capitalization, double quotes, and ends with a semicolon.
  3. Final Answer:

    String greeting = "Hello"; -> Option A
  4. Quick Check:

    String creation uses String and double quotes [OK]
Hint: Use capital S in String and double quotes for text [OK]
Common Mistakes:
  • Using single quotes instead of double quotes
  • Using lowercase 'string' instead of 'String'
  • Missing semicolon at the end
2. Which of the following lines will cause a syntax error in Java?
easy
A. String name = "Alice";
B. String name = 'Alice';
C. String name = "Bob";
D. String name = "Charlie";

Solution

  1. Step 1: Identify correct string literal syntax

    Java strings must be enclosed in double quotes, not single quotes.
  2. Step 2: Check each option

    String name = 'Alice'; uses single quotes which is invalid for strings in Java, causing a syntax error.
  3. Final Answer:

    String name = 'Alice'; -> Option B
  4. Quick Check:

    Strings need double quotes, single quotes cause syntax error [OK]
Hint: Remember: Java strings use double quotes only [OK]
Common Mistakes:
  • Using single quotes for strings
  • Confusing char literals with strings
  • Missing semicolon
3. What will be the output of the following code?
String first = "Good";
String second = "Morning";
System.out.println(first + " " + second);
medium
A. GoodMorning
B. Good+Morning
C. Good Morning
D. gninroM dooG

Solution

  1. Step 1: Understand string concatenation

    The + operator joins strings. Here, first + " " + second adds a space between words.
  2. Step 2: Combine the strings

    "Good" + " " + "Morning" results in "Good Morning" with a space.
  3. Final Answer:

    Good Morning -> Option C
  4. Quick Check:

    + joins strings including spaces [OK]
Hint: Use + with " " to add spaces between words [OK]
Common Mistakes:
  • Forgetting to add space between words
  • Using + without quotes for space
  • Expecting + to print plus sign
4. Find the error in the following code snippet:
String text = "Hello"
System.out.println(text);
medium
A. System.out.println syntax is wrong
B. Incorrect string quotes
C. Variable name is invalid
D. Missing semicolon after string assignment

Solution

  1. Step 1: Check string assignment line

    The line ends without a semicolon, which is required in Java statements.
  2. Step 2: Verify other lines

    Quotes are correct, variable name is valid, and print statement syntax is correct.
  3. Final Answer:

    Missing semicolon after string assignment -> Option D
  4. Quick Check:

    Every statement must end with a semicolon [OK]
Hint: Always end Java statements with a semicolon [OK]
Common Mistakes:
  • Omitting semicolon at end of statement
  • Confusing quotes with apostrophes
  • Misnaming variables
5. You want to create a string variable that holds the full name by combining first and last names with a space. Which code correctly does this?
hard
A. String fullName = firstName + " " + lastName;
B. String fullName = firstName + lastName;
C. String fullName = firstName.concat(lastName);
D. String fullName = firstName - lastName;

Solution

  1. Step 1: Understand string concatenation with space

    To add a space between first and last names, include " " between them.
  2. Step 2: Check each option

    String fullName = firstName + " " + lastName; correctly uses + operator with a space string. String fullName = firstName + lastName; misses space, C concatenates without space, D uses invalid operator.
  3. Final Answer:

    String fullName = firstName + " " + lastName; -> Option A
  4. Quick Check:

    Use + " " + to add space between strings [OK]
Hint: Add " " between strings to insert space [OK]
Common Mistakes:
  • Forgetting space between names
  • Using invalid operators like -
  • Using concat() without space
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