Using methods in the Java library Previously discussed • Method = a collection of statements that performs a complex (useful) task A method is identified by a method name • Class = a container for methods Methods that serves a similar purpose are stored in the same class A class is identified by a class name Previously discussed (cont.) • Schematically: Organization of the Java library • The Standard Java library consists of a number of packages Each package consists of a number of classes (that provide similar functionality) • The standard Java library is named java • A package named xxx inside the standard Java library is named java.xxx Organization of the Java library (cont.) • Some commonly used packages: • java.lang: Provides classes that are fundamental to the design of the Java programming language. Official website: http://download.oracle.com/javase/1.4.2/docs/api/java/lang/packa ge-summary.html • java.lang: Contains the collections framework, legacy collection classes, event model, date and time facilities, internationalization, and miscellaneous utility classes (a string tokenizer, a randomnumber generator, and a bit array). Official website: http://download.oracle.com/javase/1.4.2/docs/api/java/util/packag e-summary.html Organization of the Java library (cont.) • Schematical representation of Java's Standard library: Organization of the Java library (cont.) • A class named yyy inside the package java.xxx is named java.xxx.yyy Example: • The class Math inside the package java.lang is known as java.lang.Math • The class Double inside the package java.lang is known as java.lang.Double • The class Stack inside the package java.util is known as java.util.Stack • The class Scanner inside the package java.util is known as java.util.Scanner Organization of the Java library (cont.) • Note: • It is a Java convention that the name of a Java class begins with a upper case letter • It is also a Java convention that the name of a method begins with a lower case letter Using a method that is available in Java's standard library: importing a class • Rule of usage: • If a Java program wants to use a method in the Java library, the Java program must first import the containing class The import clauses must occur before any class definitions • Syntax to import a class from the Java library: import className ; Using a method that is available in Java's standard library: importing a class (cont.) • Examples: import java.lang.Math; import java.lang.Double; import java.util.Stack; import java.util.Scanner; // After the import clauses, you can write the class definition // This program can now use all methods defined inside the classes Math, Double, Stack // and Scanner public Using a method that is available in Java's standard library: importing a class (cont.) class MyProgram { public static void main(String[] args) { double a; a = Math.sqrt(2.0); // Save computed value in variable System.out.println(a); // You can print the saved value later } } Importing all classes in a package • Some complex Java program may use many different methods contained in many different classes in the same package It would be a pain to write a long list of import clauses Example: import java.lang.Math; import java.lang.Double; import java.lang.Integer; ... Importing all classes in a package (cont.) • There is a short hand to import all classes contained in a package: import java.lang.* ; // import all class in java.lang package import java.util.* ; // import all class in java.util package Frequently used methods: java.lang • According to the Rule of usage: • If a Java program wants to use a method in the Java library, the Java program must first import the containing class We must import java.lang.Math if we want to use the method Math.sqrt() Frequently used methods: java.lang (cont.) We should have written: import java.lang.Math; // We MUST import this class to use Math.sqrt public class Abc { double a, b, c, x1, x2; // Define 5 variable a = 1.0; b = 0.0; c = -4.0; Frequently used methods: java.lang (cont.) x1 = ( -b - Math.sqrt( b*b - 4*a*c ) ) / (2*a); x2 = ( -b + Math.sqrt( b*b - 4*a*c ) ) / (2*a); System.out.print("a = "); System.out.println(a); System.out.print("b = "); System.out.println(b); System.out.print("c = "); Frequently used methods: java.lang (cont.) System.out.println(c); System.out.print("x1 = "); System.out.println(x1); System.out.print("x2 = "); System.out.println(x2); } Frequently used methods: java.lang (cont.)M • But.... because: • The package java.lang contains classes that are fundamental to the design of the Java programming language. All classes in the java.lang package are automatically included in every Java program (the Java compiler is programmed to do this) That is why we did not need to import java.lang.Math in our program. Summary: using methods in the Java library • Rule of usage: • If a Java program wants to use a method in the Java library, the Java program must first import the containing class • All classes in the java.lang package have already been imported into a Java program (You can use methods in these classes without the import clause)