32
Self Check 1. Which are the most commonly used number types in Java? 2. Suppose x is a double. When does the cast (long) x yield a different result from the call Math.round(x)? 3. How do you round the double value x to the nearest int value, assuming that you know that it is less than 2 · 10 9 ?

Self Check

  • Upload
    harris

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

Self Check. Which are the most commonly used number types in Java? Suppose x is a double. When does the cast (long) x yield a different result from the call Math.round(x) ? - PowerPoint PPT Presentation

Citation preview

Page 1: Self Check

Self Check

1. Which are the most commonly used number types in Java?

2. Suppose x is a double. When does the cast (long) x yield a different result from the call Math.round(x)?

3. How do you round the double value x to the nearest int value, assuming that you know that it is less than 2 · 109?

Page 2: Self Check

Answers

• int and double

• When the fractional part of x is ≥ 0.5

• By using a cast: (int) Math.round(x)

Page 3: Self Check

Self Check

4. What is the difference between the following two statements?

and

5. What is stylistically wrong with the following statement?

final double CM_PER_INCH = 2.54;

public static final double CM_PER_INCH = 2.54;

double circumference = 3.14 * diameter;

Page 4: Self Check

Answers

4. The first definition is used inside a method, the second inside a class

5. (1) You should use a named constant, not the "magic number" 3.14(2) 3.14 is not an accurate representation of π

Page 5: Self Check

Self Check

6. What is the meaning of the following statement?

7. What is the value of n after the following sequence of statements? n--;n++;n--;

balance = balance + amount;

Page 6: Self Check

Answers

6. The statement adds the amount value to the balance variable

7. One less than it was before

Page 7: Self Check

Self Check

8. What is the value of 1729 / 100? Of 1729 % 100?

9. Why doesn't the following statement compute the average of s1, s2, and s3?

10. What is the value of

in mathematical notation?

double average = s1 + s2 + s3 / 3;

Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2))

Page 8: Self Check

Answers

8. 17 and 29

9. Only s3 is divided by 3. To get the correct result, use parentheses. Moreover, if s1, s2, and s3 are integers, you must divide by 3.0 to avoid integer division:

10.

(s1 + s2 + s3) / 3.0

Page 9: Self Check

Self Check

11. Why can't you call x.pow(y) to compute xy?

12. Is the call System.out.println(4) a static method call?

Page 10: Self Check

Answers

11. x is a number, not an object, and you cannot invoke methods on numbers

Additionally, pow is static method of the Math class, and must be invoked by Math.pow(n)

12. No–the println method is called on the object System.out

Page 11: Self Check

Self Check

13. Assuming the String variable s holds the value "Agent", what is the effect of the assignment s = s + s.length()?

14. Assuming the String variable river holds the value "Mississippi", what is the value of river.substring(1, 2)? Of river.substring(2, river.length() - 3)?

Page 12: Self Check

Answers

13. s is set to the string Agent5

14. The strings "i" and "ssissi"

Page 13: Self Check

Strings

• A string is a sequence of characters

• Strings are objects of the String class

• String constants:

• String variables:

• String length:

• Empty string:

"Hello, World!"

String message = "Hello, World!";

int n = message.length();

""

Page 14: Self Check

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

Page 15: Self Check

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);

Page 16: Self Check

Converting between Strings and Numbers

• Convert to number:

• Convert to string:

int n = Integer.parseInt(str);double x = Double.parseDouble(str);

String str = "" + n;str = Integer.toString(n);

Page 17: Self Check

Substrings

• Supply start and “past the end” position

• First position is at 0

Continued…Figure 3:String Positions

String greeting = "Hello, World!";String sub = greeting.substring(0, 5); // sub is "Hello"

Page 18: Self Check

Substrings

Figure 4:Extracting a Substring

• Substring length is “past the end” - start

Page 19: Self Check

• How do we find out the other methods which String objects provide??

www.java.sun.com

Page 20: Self Check

Self Check

15. Why can't input be read directly from System.in?

16. Suppose in is a Scanner object that reads from System.in, and your program callsString name = in.next();What is the value of name if the user enters John Q. Public?

Page 21: Self Check

Answers

15. The class only has a method to read a single byte. It would be very tedious to form characters, strings, and numbers from those bytes.

16. The value is "John". The next method reads the next word.

Page 22: Self Check

Self Check

6. How can you compute the length of the string "Mississippi"?

7. How can you print out the uppercase version of "Hello, World!"?

8. Is it legal to call river.println()? Why or why not?

Page 23: Self Check

Answers

6.

7.

8. It is not legal. The variable river has type String. The println method is not a method of the String class.

river.length() or "Mississippi".length()

System.out.println(greeting.toUpperCase());

Page 24: Self Check

Self Check String river = “Mississippi”; String greeting = “Hello World”;

• What are the implicit parameters, explicit parameters, and return values in the method call river.length()?

• What is the result of the call river.replace("p", "s")?

• What is the result of the call greeting.replace("World", "Dave").length()?

Page 25: Self Check

Answers

9. The implicit parameter is river. There is no explicit parameter. The return value is 11

10. "Missississi"

11. 12

Page 26: Self Check

Self Check

String greeting = “Welcome”;

String greeting2 = “How are you?”;

• What is the effect of the assignment greeting2 = greeting?

• After executing the statement greeting2.toUpperCase();

what are the contents of greeting and greeting2?

Page 27: Self Check

Answers

24. Now greeting and greeting2 both refer to the same String object.

25. Both variables still refer to the same string, and the string has not been modified. Recall that the toUpperCase method constructs a new string that contains uppercase characters, leaving the original string unchanged.

Page 28: Self Check

The API Documentation

• API: Application Programming Interface

• Lists classes and methods in the Java library

• http://java.sun.com/j2se/1.5/docs/api/index.html

Page 29: Self Check

The API Documentation of the Standard Java Library

Figure 13:The API Documentation of the Standard Java Library

Page 30: Self Check

The API Documentation for the Rectangle Class

Figure 14:The API Documentation of the Rectangle Class

Page 31: Self Check

Javadoc Method Summary

Figure 15:The Method Summary for the Rectangle Class

Page 32: Self Check

translate Method Documentation

Figure 16:The API Documentation of the translate Method