chapter 7 strings use the string class to process fixed strings. use the stringbuffer class to...
TRANSCRIPT
![Page 1: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/1.jpg)
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.
![Page 2: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/2.jpg)
The String Class Declaring a String String Length (length()) Substrings (substring(index), substring(start, end)) Retrieving Individual Characters in a string String Concatenation (concat) String Comparisons (equals, compareTo)
![Page 3: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/3.jpg)
The String Class Declaring a String:String s = new String();
String message = "Welcome to Java!”; // OK
String message = new String("Welcome to Java!“);// ??
![Page 4: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/4.jpg)
Strings are immutable Strings are immutable. The contents of a string cannot
be changed. One cannot delete, modify or inserts characters. 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).
![Page 5: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/5.jpg)
Finding String Length
Finding string length using the length() method:
Example:
String message = "Welcome";
int len = message.length(); // (returns 7)
![Page 6: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/6.jpg)
Retrieving Individual Characters in a String
Do not use message[0]!
Use:
char message.charAt(int index)
Index starts from 0
Example:
String message = "Welcome";
char c = message.charAt(1); // c is ‘e’
![Page 7: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/7.jpg)
Substrings
String is an immutable class; its valuescannot be changed individually.
String s1 = "Welcome to Java";
String s2 = s1.substring(0,10) + "HTML";
![Page 8: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/8.jpg)
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!”
![Page 9: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/9.jpg)
String Concatenation
Example 1:
String s1=“Result is ”;
int n = 4;
String s2 = s1 + n;
System.out.println(s2);
Output: Result is 4
![Page 10: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/10.jpg)
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: ?
![Page 11: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/11.jpg)
String ConcatenationExample 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
![Page 12: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/12.jpg)
String Comparisons 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 }
![Page 13: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/13.jpg)
String Comparisons, cont. 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
![Page 14: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/14.jpg)
String Conversions The contents of a string cannot be changed once the string is created. But you can convert a string to a new string using the following methods:
String toLowerCase()
String toUpperCase()
String trim()
String replace(oldChar, newChar)
![Page 15: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/15.jpg)
String ConversionsExample:
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”
![Page 16: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/16.jpg)
Convert char and numbers to Strings
The String class provides several static valueOf() methods for converting a character, an array of characters, and numeric values to strings. These methods have the same name valueOf() with different argument types char, char[], double, long, int, and float. 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’.
![Page 17: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/17.jpg)
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”
![Page 18: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/18.jpg)
Are two Strings equal? 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
![Page 19: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/19.jpg)
String Comparisons, cont. 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
![Page 20: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/20.jpg)
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.
You can add, insert, or append new contents
into a string buffer.
![Page 21: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/21.jpg)
StringBuffer Constructors public StringBuffer()
No characters, initial capacity 16 characters.
public StringBuffer(int length)No characters, initial capacity specified by the length argument.
public StringBuffer(String str)Represents the same sequence of charactersas the String argument. Initial capacity 16plus the length of the String argument.
![Page 22: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/22.jpg)
Appending New Contentsinto a String Buffer
StringBuffer strBuf = new StringBuffer();strBuf.append("Welcome");strBuf.append(' ');strBuf.append("to");strBuf.append(' ');strBuf.append("Java");
“Welcome to Java”
![Page 23: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/23.jpg)
The StringTokenizer Class Constructors
StringTokenizer(String s)
// default delimiters: \r\n\t and space StringTokenizer(String s, String delim, boolean returnTokens)
StringTokenizer(String s, String delim)
![Page 24: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/24.jpg)
The StringTokenizer Class Methods
int countTokens() boolean hasMoreTokens()
String nextToken()
String nextToken(String delim)
![Page 25: Chapter 7 Strings Use the String class to process fixed strings. Use the StringBuffer class to process flexible strings. Use the StringTokenizer](https://reader035.vdocument.in/reader035/viewer/2022062304/56649ef35503460f94c05987/html5/thumbnails/25.jpg)
Example 7.4import 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