Presentation is loading. Please wait.

Presentation is loading. Please wait.

Strings A string is a sequence of characters that is treated as a single value. Strings are objects. We have been using strings all along. For example,

Similar presentations


Presentation on theme: "Strings A string is a sequence of characters that is treated as a single value. Strings are objects. We have been using strings all along. For example,"— Presentation transcript:

1 Strings A string is a sequence of characters that is treated as a single value. Strings are objects. We have been using strings all along. For example, to display text Every time you use a “” string, a string object is created automatically. String is a class in the java.lang package. System.out.println("Hello, how are you?");

2 Explicit String Objects A declaration and object creation are needed for instances of the String class. For example, String name1; name1 = new String("Frooot"); We normally use shorthand notation (only for Strings): String name1; name1 = "Frooot"; These two statements are equivalent.

3 Explicit String Objects Blitititi … out to reality … StringVar.java Blitititi … out to reality … StringVar2.java

4 String variables are References - 1 Code State of Memory String word1, word2; word1 = new String("Java"); word2 = word1; A A Both word1 and word2 are allocated memory (to store references), but the objects themselves are not yet created, so they both contain null. word1 word2 After is executed A A  

5 word1 word2 String variables are References - 2 Code State of Memory String word1, word2; word1 = new String("Java"); word2 = word1; B B One String object is created and assigned to word1, so word1 contains the address of this object. word1 word2 After is executed B B String Java 

6 word1 word2 String Java String variables are References - 3 Code State of Memory String word1, word2; word1 = new String("Java"); word2 = word1; C C Content of word1, which is an address, is assigned to word2, making word2 refer to the same object. word1 word2 String Java After is executed C C Gadzook … out to reality … StringAlias.java

7 Concatenating Strings The + operator can also concatenate strings. A new string object is created - the operands are not affected Gadzook … out to reality … StringCat.java

8 Command line Strings The formal arguments to the main method receive strings from the command line arguments. When running a program, supply command line arguments after the program name, e.g., java MyJavaProgram cat 27 'Java is great!' has three command line arguments. Gadzook … out to reality … StringCat.java

9 Accessing Individual Elements Individual characters in a String accessed with the charAt method. 012345 6 Sumatr a String name = “Sumatra”; name This variable refers to the whole string. name.charAt( 3 ) The method returns the character at position # 3.

10 Determining the Size We determine the number of characters in a String with the length method. String name = "Sumatra"; String str2 = ""; String str3; Error because no object is created for str3, so it is a null. name.length();str2.length();str3.length(); 7 0 Error! Olipidoo … out to reality … StringVowels.java Olipidoo … out to reality … StringWords.java

11 Equality (==) vs. equals—Case 1 word1 word2 String Java word1 == word2 word1.equals( word2 ) true word1 and word2 point to the same object.

12 Equality (==) vs. equals—Case 2 word1 word2 String Java word1 == word2 word1.equals( word2 ) true false String Java word1 and word2 point to different objects having the same string.

13 Equality (==) vs. equals—Case 3 word1 word2 String Java word1 == word2 word1.equals( word2 ) false String Bali word1 and word2 point to different objects with different strings. Quixote … out to reality … StringJavas.java

14 Other Useful String Operators MethodMeaning compareTo Compares the two strings. str1.compareTo( str2 ) substring Extracts the a substring from a string. str1.substring( 1, 4 ) trim Removes the leading and trailing spaces. str1.trim( ) valueOf Converts a given primitive data value to a string. String.valueOf( 123.4565 ) startsWith Returns true if a string starts with a specified prefix string. str1.startsWith( str2 ) endsWith Returns true if a string ends with a specified suffix string. str1.endsWith( str2 )

15 Strings and Methods Strings are reference variables, so (like arrays) formal parameters point to the actual parameter data Strings returned from methods point to the data created in the method Likidylik … out to reality … StringMethod.java

16 Strings are Immutable A String object is immutable, which means that once a String object is created, is cannot be changed. It is not possible to add, delete, or modify characters of a String object. The methods of the String class, such as toUpperCase and substring, do not modify the original string; they return a new string. Java adopts this immutability restriction to implement an efficient memory allocation scheme for managing String objects. Oieeeeiooo … out to reality … StringImmut.java

17 StringBuffer Creating a new string from the old one will work for most cases, but sometimes manipulating the content of a string directly is more convenient. Manipulation means operations such as replacing a character, appending a string with another string, deleting a portion of a string, and so forth. Java has a StringBuffer class for this. StringBuffers are created from strings (no shorthand) Ay … out to reality … StringBufferX.java Ay … out to reality … StringBufferMake.java


Download ppt "Strings A string is a sequence of characters that is treated as a single value. Strings are objects. We have been using strings all along. For example,"

Similar presentations


Ads by Google