Download presentation
Presentation is loading. Please wait.
Published byNigel White Modified over 9 years ago
1
Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer class to extract tokens from a string.
2
The String Class F Declaring a String F String Length (length()) F Substrings (substring(index), substring(start, end)) F Retrieving Individual Characters in a string F String Concatenation (concat) F String Comparisons (equals, compareTo)
3
The String Class F Declaring a String: String s = new String(); String message = "Welcome to Java!”; // OK String message = new String("Welcome to Java!“);// ??
4
Strings are immutable F Strings are immutable. The contents of a string cannot be changed. F One cannot delete, modify or inserts characters. F But one can create a new string. Therefore, you must use the equals method to test whether two strings have the same contents, and the == operator to test whether the two strings have the same references (that is, point to the same memory location).
5
Finding String Length Finding string length using the length() method: Example: String message = "Welcome"; int len = message.length(); // (returns 7 )
6
Retrieving Individual Characters in a String Do not use message[0]! F Use: char message.charAt(int index) Index starts from 0 Example: String message = "Welcome"; char c = message.charAt(1); // c is ‘e’
7
Substrings String is an immutable class; its values cannot be changed individually. String s1 = "Welcome to Java"; String s2 = s1.substring(0,10) + "HTML";
8
String Concatenation String s1=“Hello ”; String s2=“World!”; We can do concatenation in two ways: 1) String s3 = s1.concat(s2); or 2) String s3 = s1 + s2; Result: s3 is “Hello World!”
9
String Concatenation Example 1: String s1=“Result is ”; int n = 4; String s2 = s1 + n; System.out.println(s2); Output: Result is 4
10
String Concatenation Example 2: String s1=“Result is ”; String s2 = s1 + 2 + 2; String s3 = s1 + (2 + 2); System.out.println(s2); System.out.println(s3); Output: ?
11
String Concatenation Example 2: String s1=“Result is ”; String s2 = s1 + 2 + 2; String s3 = s1 + (2 + 2); System.out.println(s2); System.out.println(s3); Output: Result is 22 Result is 4
12
String Comparisons F equals String s1 = "Welcome"; String s2 = "welcome"; if (s1.equals(s2)) { // s1 and s2 have the same contents } if (s1 == s2) { // s1 and s2 have the same reference }
13
String Comparisons, cont. F compareTo(Object object) String s1 = "Welcome"; String s2 = "welcome"; if (s1.compare(s2) > 0) { // s1 is greater than s2 } else if (s1.compare(s2 == 0) { // s1 and s2 have the same reference } else // s1 is less than s2
14
String Conversions F The contents of a string cannot be changed once the string is created. F But you can convert a string to a new string using the following methods: String toLowerCase() String toUpperCase() String trim() String replace(oldChar, newChar)
15
String Conversions Example: String s1 = “ WAY ”; String s2 = s1.trim(); // “WAY” String s3 = s2.toLowerCase(); // “way” String s4 = s3.replace(‘w’,’d’); // ”day” String s5 = s4.toUpperCase(); // “DAY”
16
Convert char and numbers to Strings F The String class provides several static valueOf() methods for converting a character, an array of characters, and numeric values to strings. F These methods have the same name valueOf( ) with different argument types char, char[], double, long, int, and float. F Example:, to convert a double value to a string, use String.valueOf(5.44). The return value is string consists of characters ‘5’, ‘.’, ‘4’, and ‘4’.
17
Convert char and numbers to Strings Example: int i = 3; double d = 3.14; char c = ‘e’; char[] e = {‘y’,’e’,’s’}; String s1 = String.valueOf(i); // “3” String s2 = String.valueOf(d); // “3.14” String s3 = String.valueOf(c); // “e” String s4 = String.valueOf(e); // “yes”
18
Are two Strings equal? F boolean equals(String s2) String s1 = "Welcome"; String s2 = "welcome"; if (s1.equals(s2)) { // s1 and s2 have the same contents } if (s1 == s2) { // s1 and s2 have the same reference
19
String Comparisons, cont. F int compareTo(String s2) String s1 = "Welcome"; String s2 = "welcome"; if (s1.compare(s2) > 0) { // s1 is greater than s2 } else if (s1.compare(s2 == 0) { // s1 and s2 have the same reference } else // s1 is less than s2
20
The StringBuffer Class The StringBuffer class is an alternative to the String class. In general, a string buffer can be used wherever a string is used. StringBuffer is more flexible than String. F You can add, insert, or append new contents into a string buffer.
21
StringBuffer Constructors F public StringBuffer() No characters, initial capacity 16 characters. F public StringBuffer(int length) No characters, initial capacity specified by the length argument. F public StringBuffer(String str) Represents the same sequence of characters as the String argument. Initial capacity 16 plus the length of the String argument.
22
Appending New Contents into a String Buffer StringBuffer strBuf = new StringBuffer(); strBuf.append("Welcome"); strBuf.append(' '); strBuf.append("to"); strBuf.append(' '); strBuf.append("Java"); “Welcome to Java”
23
The StringTokenizer Class Constructors F StringTokenizer(String s) // default delimiters: \r\n\t and space F StringTokenizer(String s, String delim, boolean returnTokens) F StringTokenizer(String s, String delim)
24
The StringTokenizer Class Methods F int countTokens() F boolean hasMoreTokens() F String nextToken() String nextToken(String delim)
25
Example 7.4 import java.util.StringTokenizer; public class TestStringTokenizer { public static main(Strings[] args) { String s =“Java and Classes”; StringTokenizer st = new StringTokenizer(s); int n = st.countTokens(); // n is 3 while(st.hasMoreTokens()) { System.out.println(st.nextToken()); } Java and Classes
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.