Lecture 04
Lecture 04
1
Outline
1. Java Class Library
2. Class Math
3. Character Data Type
4. Class String
5. printf Statement
2
1. Java Class Library
• A class library is a collection of classes that we use
when developing programs
• The Java standard class library is part of any Java
development environment
• The library classes are not part of the Java language
per se, but we rely on them heavily
• Various library classes we've already used in our
programs, such as System, Scanner, and Random
3
Packages
• The classes of the Java standard class library are
organized into packages
Package Purpose
4
import Declaration
• When you want to use a class from a package, you
could use its fully qualified name
java.util.Scanner
• Or you can import the class, and then use just the
class name
import java.util.Scanner;
5
import Declaration
6
2. Class Math
• The Math class is part of the java.lang package
• The Math class contains methods (called class methods)
that perform various mathematical functions:
PI constant
E (base of natural logarithms) constant
Trigonometric Methods
Exponent Methods
Rounding Methods
min, max, abs, and random Methods
7
Example
import java.util.Scanner;
public class Quadratic
{
public static void main (String[] args)
{
int a, b, c; // ax^2 + bx + c
double discriminant, root1, root2;
Scanner scan = new Scanner (System.in);
Examples:
• sin(double a)
Math.sin(0) returns 0.0
• cos(double a)
Math.sin(Math.PI/6) returns 0.5
• tan(double a) Math.sin(Math.PI/2) returns 1.0
• acos(double a) Math.cos(0) returns 1.0
• asin(double a) Math.cos(Math.PI/2) returns 0
• atan(double a) Math.cos(Math.PI/6) returns 0.866
10
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
Returns the natural logarithm of a.
Math.pow(2,3) returns 8.0
• log10(double a) Math.pow(3,2) returns 9.0
Returns the 10-based logarithm of a. Math.pow(3.5,2.5) returns
• pow(double a, double b) 22.91765
Returns a raised to the power of b. Math.sqrt(4) returns 2.0
Math.sqrt(10.5) returns 3.24
• sqrt(double a)
Returns the square root of a.
11
Rounding Methods
• double ceil(double x)
x is 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.
• double rint(double x)
x is rounded to its nearest integer. If x is equally close to two
integers, the even one is returned as a double.
• int round(float x)
returns (int)Math.floor(x+0.5)
• long round(double x)
returns (long)Math.floor(x+0.5)
12
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.rint(2.1) returns 2.0
Math.rint(2.0) returns 2.0
Math.rint(-2.0) returns –2.0
Math.rint(-2.1) returns -2.0
Math.rint(2.5) returns 2.0 //returns even value as double
Math.rint(-2.5) returns -2.0
Math.round(2.6f) returns 3 //round returns integers
Math.round(2.0) returns 2
Math.round(-2.0f) returns -2
Math.round(-2.6) returns -3
13
Min(), max(), and abs()
Examples:
• max(a,b)and min(a,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 2.5
Returns the absolute value of the Math.abs(-2) returns 2
parameter. Math.abs(-2.1) returns 2.1
14
Method random()
Generates a random double value greater than or equal to 0.0 and
less than 1.0 (0.0 <= Math.random() < 1.0)
Examples:
In general,
15
Generating Random Characters
Note:
Since 0.0 <= Math.random() <1.0, you have to add 1 to 65535
16
Generating Random Characters
Lowercase letter: The Unicode for lowercase letters are consecutive
integers starting from the Unicode for 'a', 'b', 'c', ..., and 'z'.
20
3. Character Data Type
A char variable stores a single character.
Character literals are delimited by single quotes:
'a' 'X' '7' '$' ',' '\n' '\t'
Example declarations:
char topGrade = 'A';
char terminator = ';', separator = ' ';
21
Character Type - Revisited
char letter = 'A'; Four hexadecimal digits.
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 = 'c';
ch = ch + 1;
System.out.println(ch); //prints character d
ch = ch - 2;
System.out.println(ch); //prints character b
22
ASCII Code in Decimal
24
Comparing char Type
25
Class Character Methods
Method Description
26
Class Character Methods
Character ch1 = new Character('b'); //object NOT char type
Character ch2 = new Character(‘9'); //object NOT char type
27
Class Character Test
// Class Character Test
import java.util.Scanner;
public class CharacterTest
{
public static void main (String[] args)
{
Character ch1 = new Character('b'); //object NOT char type
Character ch2 = new Character('9'); //object NOT char type
29
4. Class String
• To create a String object, we need to declare a variables
of type String:
String title = "Java Software Solutions";
30
String Methods
31
String Index Values
• It is occasionally helpful to refer to a particular character
within a string
32
Getting Characters from a String
33
String Concatenation
// Three strings are concatenated
String message = "Welcome " + "to " + "Java";
34
Example
public class StringMutation
{
// Prints a string and various mutations of it.
public static void main (String[] args)
{
String phrase = "Change is inevitable";
String mutation1, mutation2, mutation3, mutation4;
36
Other String Methods
String S1 = "Welcome";
String S2 = new String(char[]);
S2 = " Hello! ";
char ch = S1.charAt(index);
int length = S1.length();
int index = S1.indexOf(ch);
int index = S1.lastIndexOf(ch);
boolean b = S1.equals(S2);
boolean b = S1.equalsIgnoreCase(S2);
boolean b = S1.startsWith(S2);
Boolean b = S1.endsWith(S2);
String S = S1.toUpperCase();
String S = S2.toLowerCase();
String S = S2.substring(i); //from position i to last position
String S = S2.substring(i,j); //excluding j position
String S = S2.replace(ch1,ch2);
String S = S2.trim(); //returns "Hello!", no spaces
37
Reading Strings
Note: If we use
String s1 = input.nextLine();
s1 contains all typed characters until we press the "Enter" key.
38
Reading Characters
39
Comparing Strings
Method Description
40
Obtaining Substrings
Method Description
substring(beginIndex) Returns this string’s substring that begins with the character at the specified
beginIndex and extends to the end of the string, as shown in Figure 4.2.
substring(beginIndex, Returns this string’s substring that begins at the specified beginIndex and
endIndex) extends to the character at index endIndex – 1, as shown in Figure 9.6.
Note that the character at endIndex is not part of the substring.
41
indexOf() method
Method Description
indexOf(ch) Returns the index of the first occurrence of ch in the string. Returns -1 if not
matched.
indexOf(ch, fromIndex) Returns the index of the first occurrence of ch after fromIndex in the string.
Returns -1 if not matched.
indexOf(s) Returns the index of the first occurrence of string s in this string. Returns -1 if
not matched.
indexOf(s, fromIndex) Returns the index of the first occurrence of string s in this string after
fromIndex. Returns -1 if not matched.
lastIndexOf(ch) Returns the index of the last occurrence of ch in the string. Returns -1 if not
matched.
lastIndexOf(ch, Returns the index of the last occurrence of ch before fromIndex in this
fromIndex) string. Returns -1 if not matched.
lastIndexOf(s) Returns the index of the last occurrence of string s. Returns -1 if not matched.
lastIndexOf(s, Returns the index of the last occurrence of string s before fromIndex.
fromIndex) Returns -1 if not matched.
42
Conversion of Strings/Numbers
43
5. printf() Statement
Use the printf statement.
System.out.printf(format, items);
44
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.4600000
%e a standard scientific notation 4.556000e+01
%s a string "Java is cool"
int count = 5;
items
double amount = 45.56;
System.out.printf("count is %d and amount is %f", count, amount);
Homework: Type and run program FormatDemo, listing 4.6, page 148. It shows
how to display tabulated outputs using printf() statement.
45
End of Chapter 4
46