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
String Formatting Preparing strings for output Printing println(arg) prints its one argument on a line println can be used to print any single value, but it doesn’t work well with arrays or user-defined data types scala> println(List(1, 2, 3)) List(1, 2, 3) scala> println(Array(1, 2, 3)) [I@79916512 When printing a user-defined type, println will first look to see if you have written a toString method that it can use You can use println without an argument to get a blank line print(arg) works like println, but doesn’t go to the next line scala> print("abc"); print("xyz") abcxyz 2 Concatenation The simplest way to print several values at once is to “add” (concatenate) them with a string, with the + operator When a value is concatenated with a string, the value’s toString method is called scala> println("Array is " + Array(1, 2, 3) + ", List is " + List(1, 2, 3)) Array is [I@3fd87157, List is List(1, 2, 3) When you study classes, you will learn how to write your own toString methods 3 Interpolation You can insert (interpolate) the value of simple variables into strings by doing two things: Prefix the string with an s Put a $ before the variable name Example: s"Your score is $score" You can also interpolate the value of expressions by enclosing them in curly braces after the $ Example: s"Twice $x is ${2 * x}" 4 Formatting I Sometimes you want more precise control over the way numbers and dates are printed Default: scala> println(7 * 0.1) 0.7000000000000001 scala> println(new java.util.Date) Sat Jul 20 12:59:33 PDT 2013 Formatted: scala> println("Seven tenths is %5.3f".format(7 * 0.1)) Seven tenths is 0.700 scala> println("Today's date is %tD".format(new java.util.Date)) Today's date is 07/20/13 5 Formatting The syntax is: string.format(value, …, value) Here are examples of the most common format specifiers The number and types of values must agree with the format specifiers %12d format an integer right-justified in a field of width 12 %-8d format an integer left-justified in a field of width 8 %5.3f format a floating point number right-justified in a field of width 5, with 3 digits after the decimal point %12.3e like %12.3f, but using scientific (E) notation %7b format a boolean right-justified in a field of width 7 %10s format a string right-justified in a field of width 10 If a field width is too small, will be ignored Irregular spacing is better than printing the wrong number! 6 printf printf(string, value, …, value) is shorthand for print(string.format(value, …, value)) Note that this is a shorter way to call print, not println To do the equivalent of a println, put a \n as the last character in the string 7 The End 8