Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 7 Strings  Use the String class to process fixed strings.  Use the StringBuffer class to process flexible strings.  Use the StringTokenizer.

Similar presentations


Presentation on theme: "Chapter 7 Strings  Use the String class to process fixed strings.  Use the StringBuffer class to process flexible strings.  Use the StringTokenizer."— Presentation transcript:

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


Download ppt "Chapter 7 Strings  Use the String class to process fixed strings.  Use the StringBuffer class to process flexible strings.  Use the StringTokenizer."

Similar presentations


Ads by Google