Strings in Java are objects, not primitives. They're stored in the "String pool".
If one side is a String, Java converts the other side automatically.
Strings are immutable. Every method returns a new string — you must save the result.
Java starts counting at 0. "hello".charAt(0) is 'h', not 'e'.
Always use .equals() to compare string content. == checks if they're the same object in memory.
Used for sorting strings alphabetically.
Integer.parseInt() throws an exception if the string isn't a valid number.
Classic Grade 11 pattern — loop with index, grab each char with .charAt(i).