Computer science
Computer science
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
1
Objectives
● To solve mathematics problems by using the methods in the Math class (§4.2).
● To represent characters using the char type (§4.3).
● To encode characters using ASCII and Unicode (§4.3.1).
● To represent special characters using the escape sequences (§4.4.2).
● To cast a numeric value to a character and cast a character to an integer (§4.3.3).
● To compare and test characters using the static methods in the Character class (§4.3.4).
● To introduce objects and instance methods (§4.4).
● To represent strings using the String objects (§4.4).
● To return the string length using the length() method (§4.4.1).
● To return a character in the string using the charAt(i) method (§4.4.2).
● To use the + operator to concatenate strings (§4.4.3).
● To read strings from the console (§4.4.4).
● To read a character from the console (§4.4.5).
● To compare strings using the equals method and the compareTo methods (§4.4.6).
● To obtain substrings (§4.4.7).
● To find a character or a substring in a string using the indexOf method (§4.4.8).
● To convert a hexadecimal character to a decimal value (HexDigit2Dec) (§4.5.2).
● To format output using the System.out.printf method (§4.6).
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
2
Mathematical Functions
Java provides many useful methods in the
Math class for performing common
mathematical functions.
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
3
The Math Class
❖ Class constants:
❑ PI
❑ E
❖ Class methods:
– Trigonometric Methods
– Exponent Methods
– Rounding Methods
– min, max, abs, and random Methods
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
4
Trigonometric Methods
❖ sin(double a) Examples:
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
7
Rounding Methods
Examples
Math.ceil(2.1) returns 3.0
Math.ceil(2.0) returns 2.0
Math.ceil(-2.0) returns –2.0
Math.ceil(-2.1) returns -2.0
Math.floor(2.1) returns 2.0
Math.floor(2.0) returns 2.0
Math.floor(-2.0) returns –2.0
Math.floor(-2.1) returns -3.0
Math.round(2.6f) returns 3
Math.round(-2.0f) returns -2
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
8
min, max, and abs
❖ max(a, b)and min(a, Examples:
b)
❖ Returns the maximum or Math.max(2, 3) returns 3
minimum of two
parameters.
Math.max(2.5, 3) returns
3.0
❖ abs(a) Math.min(2.5, 3.6)
❖ Returns the absolute returns 2.5
value of the parameter.
Math.abs(-2) returns 2
❖ random() Math.abs(-2.1) returns
❖ Returns a random 2.1
double value
in the range [0.0, 1.0).
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
9
The random Method
Generates a random double value greater than or equal
to 0.0 and less than 1.0 (0 <= Math.random() < 1.0).
Examples:
In general,
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
10
Character Data Type
Four hexadecimal
char letter = 'A'; (ASCII) digits.
char numChar = '4'; (ASCII)
char letter = '\u0041'; (Unicode)
char numChar = '\u0034';
(Unicode)
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
12
Escape Sequences for Special
Characters
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
13
Appendix B: ASCII Character Set
ASCII Character Set is a subset of the Unicode from \u0000
to \u007f
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
15
Comparing and Testing
Characters
if (ch >= 'A' && ch <= 'Z')
System.out.println(ch + " is an uppercase
letter");
else if (ch >= 'a' && ch <= 'z')
System.out.println(ch + " is a lowercase
letter");
else if (ch >= '0' && ch <= '9')
System.out.println(ch + " is a numeric
character");
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
16
Methods in the Character
Class
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
17
The String Type
The char type only represents one character. To
represent a string of characters, use the data type
called String. For example,
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
18
Simple Methods for String
Objects
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
19
Simple Methods for String
Objects
The syntax to invoke an instance method is
referenceVariable.methodName(arguments).
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
20
Getting String Length
String message = "Welcome to Java";
System.out.println("The length of " + message + "
is "
+ message.length());
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
21
Getting Characters from a
String
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
23
String Concatenation
String s3 = s1.concat(s2); or String s3 = s1 + s2;
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
25
Reading a Character from
the Console
Scanner input = new Scanner(System.in);
System.out.print("Enter a character: ");
String s = input.nextLine();
char ch = s.charAt(0);
System.out.println("The character entered is
" + ch);
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
26
Comparing Strings
OrderTwoCities Run
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
27
Obtaining Substrings
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
28
Finding a Character or a
Substring in a String
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
29
Finding a Character or a
Substring in a String
int k = s.indexOf(' ');
String firstName = s.substring(0, k);
String lastName = s.substring(k + 1);
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
30
Conversion between Strings
and Numbers
int intValue = Integer.parseInt(intString);
double doubleValue = Double.
parseDouble(doubleString);
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
31
Formatting Output
Use the printf statement.
System.out.printf(format, items);
Where format is a string that may consist of
substrings and format specifiers. A format
specifier specifies how an item should be
displayed. An item may be a numeric value,
character, boolean value, or a string. Each
specifier begins with a percent sign.
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
32
Frequently-Used
Specifiers
Specifier Output Example
%b a boolean value true or false
%c a character 'a'
%d a decimal integer 200
%f a floating-point number 45.460000
%e a number in standard scientific notation 4.556000e+01
%s a string "Java is cool"
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
33
FormatDemo
FormatDemo Run
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
34