Contents
The java programming supports different type of classes as User defines class [A class which is created by user is known as user defined class.] and also there are some classes available with java system that provide some important support to the java programmer for developing their programming logic as well as their programming architecture with very smooth and very fine way. These classes are called Library Classes. In Java support thousands of library classes and also each class contains various types of functions. The availability of a large numbers of libraries of standardized classes is a vital reason for popularity of Java as a standard programming language in modern software world. The use of class libraries grows for the programmer productivity by allowing programmers to focus on the characteristics for that are unique to their application without being burdened with the unexciting task of building and debugging of the standard infrastructure. This java library classes are often designed and executed with some typical usage pattern in real life job profile.
The common case of unnecessary overhead occurs when singlethreaded applications are used by library classes that are modified with multithreaded clients in concept. For example, we find out that many Java programs frequently concatenate with strings via calls to the synchronized method/function like java.lang.StringBuffer.append()[Java compiler translate using + operator on String manipulated objects is called StringBuffer.append()]. This points show that a lock must be developed for each call to this method, which is unnecessary for singlethreaded applications. The performances of the programming concept can betterquality in such cases by rewriting the application to use convention, unsynchronized String Buffers.
Some major advantages present in java library classes are following.
Advantages of Library Classes in Java:

The type constraints are used to control where the java library classes can be replaced with routine versions without affecting type perfection of programs.

Static analysis is then used to control those applicants for which unused library functionality and synchronization can be removed safely from the allocated types.

The profile data is collected about the usage features of the customization candidates to determine where the allocation of custom library classes is likely to be costeffective.

To base on the static analysis results and the profiling information the custom library classes are automatically generated from a template.

The bytecode of the client application is rewritten to use the generated custom classes. This bytecode rewriting is completely seethrough to the programmer.
List of Library Classes in Java:
Library classes  Purpose of the class 

Java.io  Use for input and output functions. 
Java.lang  Use for character and string operation. 
Java.awt  Use for windows interface. 
Java.util  Use for develop utility programming. 
Java.applet  Use for applet. 
Java.net  Used for network communication. 
Java.math  Used for various mathematical calculations like power, square root etc. 
We will come across different library classes, which basically deal with input/output operation, which can be applied for characters and string manipulations.
Process to Input/Output operation in JAVA:
Java languages do not provide specific statement to input a value from the keyboard or to print the result on the visual display unit [VDU]. It uses the functions read() to accept a character from the keyboard and print() or println() to display the result on the screen. To input a character the function can be written as shown below:
a= System.in.read();
The Sytem.in.read() is an input stream belonging to the system class, which is, in turn an object of the input stream class available in Java.io Package.
To print the result the print function can be written as shown below:
System.out.print(x);
Here, System.out is an output stream of a system class, which is in turn an object of print stream class available in Java.io library package. Print stream class allow the users to display the result either by using print() or println() function.
Listing 1: Sample showing Example using package import java.util
import java.util.*;
class WordUtil{
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.println("Enter Word: ");
String word = input.next();
char ch=word.charAt(0);
String newWord=word+Character.toString(ch);
System.out.println(newWord);
}
}
Listing 2: Sample showing Example using package import java.io
import java.io.*;
class WordImport{
public static void main(String[] args){
int a,b,c;
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
Sytem.out.println(“Enter Digit”);
a=Integer.parseInt(br.readLine());
Sytem.out.println(“Enter Digit”);
b=Integer.parseInt(br.readLine());
c=a+b;
System.out.println(“Sum of the data is..”+c);
}
}
In the above two example we show that this packages are using for communication of data from keyboard as well as display on the Visual Display Unit.
Now we know that Java has defined many library classes for the use of the computer programmer. They contain highly useful methods/function. We are familiar with number crunching and mathematics, now have a look at methods found in class Math
Methods Summary: Class Math
Library classes function  Purpose of the class 

abs(double a)  Used to return the absolute value of the double value. 
abs(float a)  Used to return the absolute value of the float value. 
abs(int a)  Used to return the absolute value of an int value. 
abs(long a)  Used to return the absolute value of a long value. 
acos(double a)  Used to return the arc cosine of an angle, in the range of 0.0 through pi 
asin(double a)  Returns the arc sine of an angle, in the range of −pi/2 through pi/2 
atan(double a)  Used to return the arc tangent of an angle, in the range of −pi/2 through pi/2 
atan2(double y, double x)  Converts rectangular coordinates (x, y) to polar (r, theta) 
cbrt(double a)  Used to return the cube root of a double value 
ceil(double a)  Used to return the smallest (closest to negative infinity) double value that is greater than or equal to the argument and is equal to a mathematical integer 
cos(double a)  Used to return the trigonometric cosine of an angle 
cosh(double x)  Used to return the hyperbolic cosine of a double value 
exp(double a)  Used to return Euler’s number e raised to the power of a double value 
expm1(double x)  Used to return ex−1 
floor(double a)  Used to return the largest (closest to positive infinity) double value that is less than or equal to the argument and is equal to a mathematical integer 
hypot(double x, double y)  Used to return sqrt(x2 + y2) without intermediate overflow or underflow 
IEEEremainder(double f1, double f2)  Computes the remainder operation on two arguments as prescribed by the IEEE 754 standard 
log(double a)  Used to return the natural logarithm (base e) of a double value 
log10(double a)  Used to return the base 10 logarithm of a double value 
log1p(double x)  Used to return the natural logarithm of the sum of the argument and 1 
max(double a, double b)  Used to return the greater of two double values 
max(float a, float b)  Used to return the greater of two float values 
max(int a, int b)  Used to return the greater of two int values 
max(long a, long b)  Used to return the greater of two long values 
min(double a, double b)  Used to return the smaller of two double values 
min(float a, float b)  Used to return the smaller of two float values 
min(int a, int b)  Used to return the smaller of two int values 
min(long a, long b)  Used to return the smaller of two long values 
pow(double a, double b)  Used to return the value of the first argument raised to the power of the second argument 
random()  Used to return a double value with a positive sign, greater than or equal to 0.0 and less than 1.0. 
rint(double a)  Used to return the double value that is closest in value to the argument and is equal to a mathematical integer 
round(double a)  Used to return the closest long to the argument 
round(float a)  Used to return the closest int to the argument 
signum(double d)  Used to return the signum function of the argument; zero if the argument is zero, 1.0 if the argument is greater than zero, and −1.0 if the argument is less than zero 
signum(float f)  Used to return the signum function of the argument; zero if the argument is zero, 1.0f if the argument is greater than zero, and −1.0f if the argument is less than zero 
sin(double a)  Used to return the trigonometric sine of an angle 
sinh(double x)  Used to return the hyperbolic sine of a double value 
sqrt(double a)  Used to return the correctly rounded positive square root of a double value 
tan(double a)  Used to return the trigonometric tangent of an angle 
tanh(double x)  Used to return the hyperbolic tangent of a double value 
toDegrees(double angrad)  Converts an angle measured in radians into an approximately equivalent angle measured in degrees 
toRadians(double angdeg)  Converts an angle measured in degrees into an approximately equivalent angle measured in radians 
ulp(double d)  Used to return the size of an ulp of the argument 
ulp(float f)  Used to return the size of an ulp of the argument 
Conclusion