0% found this document useful (0 votes)
4 views

Computer science

Randomly

Uploaded by

AK Patel
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Computer science

Randomly

Uploaded by

AK Patel
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

Chapter 4 Mathematical

Functions, Characters, and Strings

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:

❖ cos(double a) Math.sin(0) returns 0.0


❖ tan(double a) Math.sin(Math.PI / 6)
returns 0.5
❖ acos(double a) Math.sin(Math.PI / 2)
❖ asin(double a) returns 1.0
Math.cos(0) returns 1.0
❖ atan(double a) Math.cos(Math.PI / 6)
returns 0.866
Radians Math.cos(Math.PI / 2)
So Convert Degree to returns 0
radians
toRadians(90)
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
5
Exponent Methods
❖ exp(double a) Examples:
Returns e raised to the
power of a. Math.exp(1) returns 2.71
❖ log(double a) Math.log(2.71) returns 1.0
Math.pow(2, 3) returns 8.0
Returns the natural
logarithm of a. Math.pow(3, 2) returns 9.0
Math.pow(3.5, 2.5) returns
❖ log10(double a) 22.91765
Returns the 10-based Math.sqrt(4) returns 2.0
logarithm of a. Math.sqrt(10.5) returns 3.24
❖ pow(double a, double b)
Returns a raised to the
power of b.
❖ sqrt(double a)
Returns the square root of a.
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
6
Rounding Methods
❖ double ceil(double x)
x rounded up to its nearest integer. This integer is
returned as a double value.
❖ double floor(double x)
x is rounded down to its nearest integer. This integer is
returned as a double value.
❖ int round(float x)
Return (int)Math.floor(x+0.5).

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)

NOTE: The increment and decrement operators can


also be used on char variables to get the next or
preceding Unicode character. For example, the
following statements display character b.
char ch = 'a';
System.out.println(++ch);
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
11
ASCII Code for Commonly Used
Characters

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

ASCII Code for letter A


is 65
ASCII Code for letter a is
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
97 All rights reserved.
14
Casting between char and
Numeric Types
int i = 'a'; // Same as int i = (int)'a';

char c = 97; // Same as char c = (char)97;

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,

String message = "Welcome to Java";

String is actually a predefined class in the Java library


just like the System class and Scanner class. The String
type is not a primitive type. It is known as a reference
type.

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

String message = "Welcome to Java";


System.out.println("The first character in
message is "
+ message.charAt(0));
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
22
Converting Strings
"Welcome".toLowerCase() returns a new string,
welcome.
"Welcome".toUpperCase() returns a new string,
WELCOME.
" Welcome ".trim() returns a new string,
Welcome.

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;

// Three strings are concatenated


String message = "Welcome " + "to " + "Java";

// String Chapter is concatenated with number 2


String s = "Chapter" + 2; // s becomes Chapter2

// String Supplement is concatenated with


character B
String s1 = "Supplement" + 'B'; // s1 becomes
SupplementB
Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
24
Reading a String from the
Console
Scanner input = new Scanner(System.in);
System.out.print("Enter three words separated by
spaces: ");
String s1 = input.next();
String s2 = input.next();
String s3 = input.next();
System.out.println("s1 is " + s1);
System.out.println("s2 is " + s2);
System.out.println("s3 is " + s3);

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

String s = number + "";

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

The example gives a program that uses printf to


display a table.

FormatDemo Run

Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd.
All rights reserved.
34

You might also like