Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 10 Strings CSE 1322 4/26/2018.

Similar presentations


Presentation on theme: "Lecture 10 Strings CSE 1322 4/26/2018."— Presentation transcript:

1 Lecture 10 Strings CSE 1322 4/26/2018

2 String class A string is a sequence of characters stored in a certain address in memory. Once created, it cannot be changed. It is an immutable object because the string class has no mutators methods. Unlike other objects, it does not need to be explicitly instantiated After being assigned once, the content of the variable does not change directly – if we try to change the value, it will be saved to a new location in the dynamic memory and the variable will point to it. 4/26/2018

3 Strings java Strings are objects of the String class
String constants or literals: String variables: String length: Empty string: "Hello, World!" String message = "Hello, World!"; int n = message.length(); "" 4/26/2018

4 Strings C# Strings are objects of the string class
String constants or literals: String variables: String length: Empty string: "Hello, World!" string message = "Hello, World!"; int n = message.Length; "" 4/26/2018

5 String Object vs String Reference
String Constant Pool 4/26/2018

6 String Object vs String Reference
String Constant Pool 4/26/2018

7 Concatenation Use the + operator:
If one of the arguments of the + operator is a string, the other is converted to a string String name = "Dave"; String message = "Hello, " + name; // message is "Hello, Dave" String a = "Agent"; int n = 7; String bond = a + n; // bond is Agent7 4/26/2018

8 Concatenation Use the + operator:
If one of the arguments of the + operator is a string, the other is converted to a string string name = "Dave"; string message = "Hello, " + name; // message is "Hello, Dave" string a = "Agent"; int n = 7; String bond = a + n; // bond is Agent7 4/26/2018

9 Concatenation in Print Statements
Useful to reduce the number of System.out.print instructions versus System.out.print("The total is "); System.out.println(total); System.out.println("The total is " + total); 4/26/2018

10 Concatenation in Print Statements
Useful to reduce the number of Console.Write instructions versus Console.Write("The total is "); Console.WriteLIne(total); Console.WriteLine("The total is " + total); 4/26/2018

11 Converting between Strings and Numbers
Convert to number: Convert to string: int n = Integer.parseInt(str); double x = Double.parseDouble(x); String str = "" + n; str = Integer.toString(n); 4/26/2018

12 Converting between Strings and Numbers
Convert to number: Convert to string: int n = int.ParseInt(str); double x = double.Parse(x); String str = "" + n; int many = 5; string xyz = many.ToString(); 4/26/2018

13 Substrings Java Supply start and “past the end” position
String greeting = "Hello, World!"; String sub = greeting.substring(0, 5); // sub is "Hello" Supply start and “past the end” position First position is at 0 4/26/2018

14 Substrings Java Substring length is “past the end” - start
String greeting = "Hello, World!"; String sub = greeting.substring(7, 12); // sub is “World" Substring length is “past the end” - start 4/26/2018

15 Substrings C# Supply start and the number of characters desired
string greeting = "Hello, World!"; string sub = greeting.substring(0, 5); // sub is "Hello" Supply start and the number of characters desired First position is at 0 4/26/2018

16 Substrings Java String greeting = "Hello, World!"; String sub = greeting.substring(7, 12); // sub is “World" 4/26/2018

17 Challenge String s ="Agent“;
What is the effect of the assignment s = s + s.length()? String river ="Mississippi“: what is the value of river.substring(1, 2)? what is the value of river.substring(2, river.length() - 3)? What is the value of river.substring(1)? string s ="Agent“; What is the effect of the assignment s = s + s.Length; string river ="Mississippi“: what is the value of river.Substring(1, 2)? what is the value of river.Substring(2, river.Length- 3)? What is the value of river.Substring(1)? 4/26/2018

18 Answers Agent5 i ssiss ississippi Agent5 i ssissip ississippi
4/26/2018

19 4/26/2018

20 Length Property public int Length { get; } The number of characters in the current string. Remarks The Length property returns the number of Char objects in this instance, not the number of Unicode characters. Example: string h= “hello”; int len = h.Length; len has a value of 5 4/26/2018

21 To upper and lower case public string ToLower() Return Value: A string in lowercase. public string ToUpper() Return Value: A string in uppercase. Example: string myString = “good luck”; myString = myString.ToUpper(); myString now has the value “GOOD LUCK” 4/26/2018

22 To upper and lower case public string ToLower() Return Value: A string in lowercase. public string ToUpper() Return Value: A string in uppercase. Example: string myString = “good luck”; myString = myString.ToUpper(); myString now has the value “GOOD LUCK” 4/26/2018

23 To upper and lower case public string toLowerCase() Return Value: A string in lowercase. public string toUpperCase() Return Value: A string in uppercase. Example: String myString = “good luck”; myString = myString.toUpperCase(); myString now has the value “GOOD LUCK” 4/26/2018

24 IndexOf methods public int IndexOf( char value ) The zero-based index position of value if that character is found, or -1 if it is not. public int IndexOf( string value) The zero-based index position of value if that string is found, or -1 if it is not. string myString= “hello world”; int e_index=myString.IndexOf(‘e’); // e_index= 1 int or_index= myString.IndexOf(“or”); //or_index=7 4/26/2018

25 indexOf methods public int indexOf( char value ) The zero-based index position of value if that character is found, or -1 if it is not. public int indexOf( string value) The zero-based index position of value if that string is found, or -1 if it is not. String myString= “hello world”; int e_index=myString.indexOf(‘e’); // e_index= 1 int or_index= myString.indexOf(“or”); //or_index=7 4/26/2018

26 Problem-1: Reverse a String (Using a Char Array)
4/26/2018

27 Problem-1: Reverse a String (in place)
4/26/2018

28 Problem-1: Reverse a String (in place)
public class StringReverseInPlaceEx1 { public static void main(String[] args) { String a = “INFORMATION"; System.out.println(reverse(a)); //NOITAMROFNI } private static String reverse(String a) { char[] ca = a.toCharArray(); int start = 0 ; int end = a.length()-1; while(end > start) { swap(ca,start,end); start++; end--; }//while return new String(ca); private static void swap(char[] ca, int start, int end) { char t = ca[start]; ca[start] = ca[end]; ca[end] = t ; 4/26/2018

29 Problem-1: Reverse a String (in place)
public class StringReverseInPlaceEx2 { public static void main(String[] args) { String a = "INFORMATION"; System.out.println(StringReverseInPlace(a)); //NOITAMROFNI } public static String StringReverseInPlace(String toReverse) { char[] chars = toReverse.toCharArray(); int inputStringLength = toReverse.length(); for (int i = 0; i < inputStringLength / 2; i++) { int toMoveBack = toReverse.charAt(i); int toMoveForward = toReverse.charAt(inputStringLength - i - 1); //swap toMoveForward = toMoveBack - toMoveForward; toMoveBack -= toMoveForward; toMoveForward += toMoveBack; chars[i] = (char) toMoveBack; chars[inputStringLength - i - 1] = (char) toMoveForward; return String.valueOf(chars); 4/26/2018

30 Null Initialization vs Empty String
4/26/2018

31 Frequently Used String Methods
4/26/2018


Download ppt "Lecture 10 Strings CSE 1322 4/26/2018."

Similar presentations


Ads by Google