The java.lang.Math package has useful trigonometric functions such as:

```
public static native double sin(double a)
```

```
public static native double asin(double a).
```

So, if we write code:

```
double x = 90;
double y = Math.sin(x);
```

We expect y to be 1.0, right? Unfortunately this is
not true. In fact, we should be aware of a few points
in order to successfully use trigonometric facilities
of java.lang.Math package.

1. Trigonometric functions of the Math package
work in radians, not degrees. pi radians=360 degrees.
So, if we want to obtain the value if sin of 90 degrees,
we can write:

```
//conversion from degree to radian
static final double degToRad = Math.PI/180;
double x = 90*degToRad;
double y = Math.sin(x);
Now, y has a value of 1.0.
Similarly, if we wan to obtain the asin of 1,
you would write
double z=Math.asin(1);
but z will contain a value is radian
so , we'll do
z *= 180;
```
This will give you 90 in degrees.
2. We need write Math.sin instead of plain
sin because sin, cos, tan, etc. are static functions.
Java is picky and verbose. It wants the "Math.",
even when there is no name clash with a sin function
in some class other than Math, or some package other
than java.lang. In this way, Java prevents the possibility
of an eventual name clash by requiring fully qualified
names for static functions like Math.sin. In fact, we
should precede all static function and method invocations
with the class name.

3. We need the Math.PI instead of plain PI because PI is
a static constant. JDK 1.2 has added two convenience methods
for degree to radian and radian to degree conversions:

```
public static double toDegrees(double angrad);
public static double toRadians(double angdeg);
```