Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
BUILDING JAVA PROGRAMS CHAPTER 3 THE STRING CLASS 1 THE EQUALS METHOD • Strings and Objects are compared using a method named equals. Scanner console = new Scanner(System.in); System.out.print("What is your name? "); String name = console.next(); if (name.equals("Barney")) { System.out.println("I love you, you love me,"); System.out.println("We're a happy family!"); } 2 INDEXES • Characters of a string are numbered with 0-based indexes: String name = "R. Kelly"; index character 0 R 1 . 2 3 K 4 e 5 l 6 l 7 y • • First character's index : 0 • The individual characters are values of type char (seen later) Last character's index : 1 less than the string's length 3 STRING METHODS Method name Description str1.indexOf(str2) index where the start of str2 appears in str1 (-1 if not found) str1.length() number of characters in this string str1.substring(index1, index2) or str1.substring(index1) the characters in this string from index1 (inclusive) to index2 (exclusive); if index2 is omitted, grabs till end of string str1.toLowerCase() a new string with all lowercase letters str1.toUpperCase() a new string with all uppercase letters • These methods are called using the dot notation: String gangsta = "Dr. Dre"; System.out.println(gangsta.length()); // 7 4 STRING METHOD EXAMPLES // index 012345678901 String s1 = "Stuart Reges"; String s2 = "Marty Stepp"; System.out.println(s1.length()); // 12 System.out.println(s1.indexOf("e")); // 8 System.out.println(s1.substring(7, 10)); // "Reg" String s3 = s2.substring(1, 7); System.out.println(s3.toLowerCase()); • // "arty s" Given the following string: // index 0123456789012345678901 String book = "Building Java Programs"; • How would you extract the word "Java" ? 5 MODIFYING STRINGS • Methods like substring and toLowerCase build and return a new string, rather than modifying the current string. String s = "lil bow wow"; s.toUpperCase(); System.out.println(s); // lil bow wow • To modify a variable's value, you must reassign it: String s = "lil bow wow"; s = s.toUpperCase(); System.out.println(s); // LIL BOW WOW • An object that can never be modified after creation is called an immutable object. Strings are immutable. 6 STRING TEST METHODS Method str1.equals(str2) str1. equalsIgnoreCase(str2) str1.startsWith(str2) str1.endsWith(str2) str1.contains(str2) Description whether two strings contain the same characters whether two strings contain the same characters, ignoring upper vs. lower case whether str1 contains str2's characters at start whether str1 contains str2's characters at end whether str1 contains str2’s characters anywhere 7 TRY THIS • Write a method that accepts a string parameter, and returns the string in reverse order. • Example: reverse(“Good day”)should return “yad dooG“ 8 SCANNER For most objects (including Scanner objects), we create a new instance with the new keyword: TypeName myInstance = new TypeName(any, parameters); For a Scanner, it looks like this: Scanner console = new Scanner(System.in); 9 A BIT MORE MAGIC: IMPORT There’s one other thing we have to do before we can start using our Scanner. We have to tell Java where it can find it! We do this with one more magic Java keyword, import, at the top of the Java source code file: import java.util.*; 10 SCANNER import java.util.*; public class MyInteractiveProgram { public static void main(String[] args) { Scanner console = new Scanner(System.in); System.out.print("Type something: "); String word = console.next(); System.out.print("The first word was: " + word); } } What will this output? I don’t know! It depends on what you type at runtime! 11 LET’S TRY IT! Start Jgrasp and create a “GeometryHelper” project and class. Use Scanner’s nextDouble() method to ask for a radius, and then print the circumference, area, and volume for a circle and sphere with that radius: What is the radius? 3 A circle with radius 3.0 has circumference 18.8495559215 A circle with radius 3.0 has area 28.27433388230 A sphere with radius 3.0 has volume 113.0973355292 𝐶𝑖𝑟𝑐𝑢𝑚𝑓𝑒𝑟𝑒𝑛𝑐𝑒 = 2𝜋𝑟 𝐴𝑟𝑒𝑎 = 𝜋𝑟 2 𝑉𝑜𝑙𝑢𝑚𝑒 = 4 3 𝜋𝑟 3 12