These questions cover various aspects of working with strings in Java. Remember to understand the concepts behind each answer and practice coding to reinforce your knowledge.
Q1: What is a string in Java?
A: In Java, a string is an object that represents a sequence of characters. It is an instance of the String class and is immutable.
Q2: How do you create a string in Java?
A: Strings can be created using string literals or the new keyword:
String str1 = "Hello";
String str2 = new String("World");
Q3: Explain the difference between == and equals() when comparing strings.
A: The == operator compares object references, while equals() compares the content of strings. Use equals() for content comparison:
String str1 = "Hello";
String str2 = "Hello";
System.out.println(str1 == str2); // true (same reference in the string pool)
System.out.println(str1.equals(str2)); // true (same content)
Q4: How do you concatenate strings in Java?A: Strings can be concatenated using the + operator or the concat() method:
String str1 = "Hello";
String str2 = "World";
String concatenated = str1 + " " + str2;
String concatenated2 = str1.concat(" ").concat(str2);
Q5: How do you find the length of a string in Java?
A: Use the length() method to get the number of characters in a string:
String str = "Hello, World!";
int length = str.length(); // length is 13
Q6: Explain the concept of string immutability in Java.A: In Java, strings are immutable, meaning their value cannot be changed after creation. Any operation that appears to modify a string creates a new string object.
Q7: How do you convert a string to uppercase and lowercase in Java?
A: Use toUpperCase() and toLowerCase() methods:
String str = "Hello, World!";
String upperCaseStr = str.toUpperCase();
String lowerCaseStr = str.toLowerCase();
Q8: How do you check if a string starts or ends with a specific substring?
A: Use startsWith() and endsWith() methods:
String str = "Hello, World!";
boolean startsWithHello = str.startsWith("Hello");
boolean endsWithWorld = str.endsWith("World!");
Q9: How do you extract a substring from a string in Java?
A: Use the substring() method:
String str = "Hello, World!";
String subStr = str.substring(7); // "World!"
String subStr2 = str.substring(0, 5); // "Hello"
Q10: How do you compare two strings lexicographically?A: Use the compareTo() method:
String str1 = "Apple";
String str2 = "Banana";
int result = str1.compareTo(str2);
// result will be a negative value since "A" comes before "B" in lexicographic orderQ11: How do you check if two strings are equal, ignoring their case?
A: Use the equalsIgnoreCase() method:
String str1 = "HELLO";
String str2 = "hello";
boolean isEqualIgnoreCase = str1.equalsIgnoreCase(str2); // true
String str = "Hello, Hello, World!";
int firstOccurrence = str.indexOf("Hello"); // 0
int lastOccurrence = str.lastIndexOf("Hello"); // 7
Q13: How do you replace a specific character or substring in a string?
String str = "Hello, World!";
String replaced = str.replace("o", "X"); // "HellX, WXXrld!"
Q14: How do you split a string into an array of substrings based on a delimiter?
String str = "apple,banana,orange";
String[] fruits = str.split(","); // ["apple", "banana", "orange"]
Q15: How do you remove leading and trailing whitespaces from a string?
String str = " Hello, World! ";
String trimmedStr = str.trim(); // "Hello, World!"
Q16: How do you convert a string to an integer or other primitive data types?
String numStr = "123";
int num = Integer.parseInt(numStr);
Q17: How do you convert a character array to a string?
char[] charArray = {'H', 'e', 'l', 'l', 'o'};
String str = new String(charArray);
Q18: How do you check if a string is empty or null?
A: Use the isEmpty() method to check if it's empty and == null to check if it's null:
String str = "";
boolean isEmpty = str.isEmpty(); // true
String anotherStr = null;
boolean isNull = anotherStr == null; // true
Q19: How can you replace all occurrences of a substring in a string?
A: Use the replaceAll() method with regular expressions:
String str = "Hello, Hello, World!";
String replacedAll = str.replaceAll("Hello", "Hi"); // "Hi, Hi, World!"
Q20: How do you check if a string contains a specific character or substring?
A: Use the contains() method:
String str = "Hello, World!";
boolean containsHello = str.contains("Hello"); // true
boolean containsJava = str.contains("Java"); // false
Q21: How can you format a string using placeholders?
A: Use the String.format() method or the printf() method:
String name = "John";
int age = 30;
String formattedStr = String.format("My name is %s and I'm %d years old.", name, age);
System.out.printf("My name is %s and I'm %d years old.", name, age);
Q22: How do you convert a string to a character array?
A: Use the toCharArray() method:
String str = "Hello";
char[] charArray = str.toCharArray(); // ['H', 'e', 'l', 'l', 'o']
Q23: How can you reverse a string in Java?
A: You can use a loop or StringBuilder to reverse a string:
// Using loop
String str = "Hello";
StringBuilder reversed = new StringBuilder();
for (int i = str.length() - 1; i >= 0; i--) {
reversed.append(str.charAt(i));
}
String reversedStr = reversed.toString();
// Using StringBuilder
String str = "Hello";
String reversedStr = new StringBuilder(str).reverse().toString();
Q24: How do you convert a string to a byte array?
A: Use the getBytes() method:
String str = "Hello";
byte[] byteArray = str.getBytes();
Q25: How can you check if a string is a palindrome (reads the same backward as forward)?
A: Check if the string is equal to its reverse:
String str = "level";
String reversedStr = new StringBuilder(str).reverse().toString();
boolean isPalindrome = str.equals(reversedStr); // true
Q26: How do you check if a string contains only numeric characters?
A: Use a regular expression to match numeric characters:
String str = "12345";
boolean isNumeric = str.matches("\\d+"); // true
Q27: How can you count the occurrences of a specific character in a string?
A: Iterate through the string and count occurrences manually:
String str = "Hello, World!";
char ch = 'l';
int count = 0;
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == ch) {
count++;
}
}
Q28: How do you compare two strings without considering their case?
A: Convert both strings to lowercase (or uppercase) and then use equals():
String str1 = "hello";
String str2 = "HELLO";
boolean isEqualIgnoreCase = str1.equalsIgnoreCase(str2); // true
Q29: How can you join multiple strings into a single string with a delimiter?
A: Use String.join() method:
String[] words = {"Hello", "World", "Java"};
String joinedStr = String.join(", ", words); // "Hello, World, Java"
Q30: How do you check if a string is a valid number (integer or decimal)?
A: Use a regular expression to check for valid numeric format:
String str = "123.45";
boolean isValidNumber = str.matches("-?\\d+(\\.\\d+)?"); // true
Q31: How can you convert a string to a date object?
A: Use SimpleDateFormat or DateTimeFormatter for Java 8+:
String dateStr = "2023-07-28";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(dateStr); // Thu Jul 28 00:00:00 UTC 2023
Q32: How do you remove specific characters from a string?
A: Use replaceAll() with a regular expression to remove characters:
String str = "Hello, World!";
String removedChars = str.replaceAll("[, !]", ""); // "HelloWorld"
Q33: How can you check if a string is a valid email address?
A: Use a regular expression to match a valid email format:
String email = "user@example.com";
boolean isValidEmail = email.matches("[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}"); // true
Q34: How do you convert an int to a string with leading zeros?
A: Use String.format() or DecimalFormat:
int num = 7;
String formatted = String.format("%04d", num); // "0007"
Q35: How can you check if a string contains only alphabetic characters?
A: Use a regular expression to match alphabetic characters:
String str = "Hello";
boolean isAlphabetic = str.matches("[a-zA-Z]+"); // true
Q36: How do you remove duplicate characters from a string?
A: Iterate through the string and build a new string without duplicates:
String str = "hello";
StringBuilder uniqueStr = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if (uniqueStr.indexOf(String.valueOf(ch)) == -1) {
uniqueStr.append(ch);
}
}
String result = uniqueStr.toString(); // "helo"
Q37: How can you reverse words in a string while keeping the word order?
A: Use split() and StringBuilder to reverse words:
String sentence = "Hello World Java";
String[] words = sentence.split(" ");
StringBuilder reversedSentence = new StringBuilder();
for (int i = words.length - 1; i >= 0; i--) {
reversedSentence.append(words[i]).append(" ");
}
String reversed = reversedSentence.toString().trim(); // "Java World Hello"
Q38: How do you convert a string to a boolean value ("true" or "false")?
A: Use Boolean.parseBoolean():
String str = "true";
boolean value = Boolean.parseBoolean(str); // true
Q39: How can you find the first non-repeated character in a string?
A: Iterate through the string and use a map to track character occurrences:
String str = "abacddbec";
Map charCount = new LinkedHashMap<>();
for (char ch : str.toCharArray()) {
charCount.put(ch, charCount.getOrDefault(ch, 0) + 1);
}
char firstNonRepeated = ' ';
for (Map.Entry entry : charCount.entrySet()) {
if (entry.getValue() == 1) {
firstNonRepeated = entry.getKey();
break;
}
}
Q40: How do you check if a string contains only uppercase letters?
A: Use a regular expression to match uppercase letters:
String str = "HELLO";
boolean isUpperCase = str.matches("[A-Z]+"); // true
Q41: How can you check if a string is a valid URL?
A: Use a regular expression to match a valid URL format:
String url = "https://www.example.com";
boolean isValidURL = url.matches("^(http|https)://[a-zA-Z0-9./?=_-]+"); // true
Q42: How do you check if a string contains only lowercase letters?
A: Use a regular expression to match lowercase letters:
String str = "hello";
boolean isLowerCase = str.matches("[a-z]+"); // true
Q43: How can you find the most frequent character in a string?
A: Iterate through the string and use a map to track character occurrences:
String str = "hello";
Map charCount = new HashMap<>();
for (char ch : str.toCharArray()) {
charCount.put(ch, charCount.getOrDefault(ch, 0) + 1);
}
int maxOccurrences = 0;
char mostFrequent = ' ';
for (Map.Entry entry : charCount.entrySet()) {
int occurrences = entry.getValue();
if (occurrences > maxOccurrences) {
maxOccurrences = occurrences;
mostFrequent = entry.getKey();
}
}
Q44: How do you check if a string contains only alphanumeric characters?
A: Use a regular expression to match alphanumeric characters:
String str = "Hello123";
boolean isAlphanumeric = str.matches("[a-zA-Z0-9]+"); // true
Q45: How can you find the longest palindrome in a given string?
A: Iterate through the string and expand around each character to find palindromes:
String str = "abacddbec";
String longestPalindrome = "";
for (int i = 0; i < str.length(); i++) {
// Odd-length palindrome
String oddPalindrome = expandAroundCenter(str, i, i);
// Even-length palindrome
String evenPalindrome = expandAroundCenter(str, i, i + 1);
// Update the longest palindrome
if (oddPalindrome.length() > longestPalindrome.length()) {
longestPalindrome = oddPalindrome;
}
if (evenPalindrome.length() > longestPalindrome.length()) {
longestPalindrome = evenPalindrome;
}
}
private static String expandAroundCenter(String s, int left, int right) {
while (left >= 0 && right < s.length() && s.charAt(left) == s.charAt(right)) {
left--;
right++;
}
return s.substring(left + 1, right);
}
Q46: How do you count the number of words in a string?
A: Use split() method with a regular expression to split words and then count them:
String sentence = "Hello World Java";
String[] words = sentence.split("\\s+");
int wordCount = words.length; // 3
Q47: How can you check if a string is a valid IP address?
A: Use a regular expression to match a valid IP address format:
String ipAddress = "192.168.1.1";
boolean isValidIP = ipAddress.matches(
"^((25[0-5]|2[0-4][0-9]|[0-1]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[0-1]?[0-9][0-9]?)$"
); // true
Q48: How do you convert a string to a double or float?
A: Use Double.parseDouble() for double or Float.parseFloat() for float:
String numStr = "3.14";
double numDouble = Double.parseDouble(numStr);
float numFloat = Float.parseFloat(numStr);
Q49: How can you check if a string is a valid credit card number?
A: Use a regular expression to match a valid credit card number format:
String creditCardNumber = "1234-5678-9012-3456";
boolean isValidCreditCard = creditCardNumber.matches("^\\d{4}-\\d{4}-\\d{4}-\\d{4}$"); // true
Q50: How do you convert a string to a long or integer?
A: Use Long.parseLong() for long or Integer.parseInt() for int:
String numStr = "123456";
long numLong = Long.parseLong(numStr);
int numInt = Integer.parseInt(numStr);
Additionally, practice coding these concepts to gain confidence and improve your problem-solving skills.