# The introduction of absolute value function in Java and its wonderful use

• 2020-05-27 05:38:16
• OfStack

1. Instructions for absolute value functions

The absolute value function is JDK `Math.java` Is used to obtain the absolute value of an expression.

Its implementation is very simple, the source code is as follows:

``````
/**
* Returns the absolute value of an {@code int} value.
* If the argument is not negative, the argument is returned.
* If the argument is negative, the negation of the argument is returned.
*
* <p>Note that if the argument is equal to the value of
* {@link Integer#MIN_VALUE}, the most negative representable
* {@code int} value, the result is that same value, which is
* negative.
*
* @param a the argument whose absolute value is to be determined
* @return the absolute value of the argument.
*/
public static int abs(int a) {
return (a < 0) ? -a : a;
}``````

2. Characteristics of absolute value and its application.

1. The absolute value of a positive number is itself.

The absolute value of a negative number is its negative number.

3. The absolute value of zero is itself.

Absolute value: self - subtracting function with absolute value, first in descending order and then in ascending order.

``````
int number = 6;
System.out.println(" Output of original value: ");
while(number>=-6){
number --;
System.out.print(number+" ");
}
System.out.println("\n Absolute value output: ");
number = 6;
while(number>=-6){
number --;
System.out.print(Math.abs(number)+" ");
}``````

Output results:

``````
Output of original value:
5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7
Absolute value output:
5 4 3 2 1 0 1 2 3 4 5 6 7``````

Case 3.

1. Background: output the following pattern.

``````
A
B A B
C B A B C
D C B A B C D
E D C B A B C D E
F E D C B A B C D E F
G F E D C B A B C D E F G``````

2. Analysis:

1. A is the central point

2. For each row, the descending order is followed by the ascending order

3. The letter can be converted to an integer, 'A' = 65. So, the first output letter of each line is 'A' + the number of lines.

4. The left and right sides of each line are symmetrical, and the number of letters output in each line = the number of lines *2 +1 (letter A);

3, implementation,

1. Implement steps 1 to 3 in the analysis. With 'A' as the center, output each line in descending order and then in ascending order.

``````
// call
print(5);

/**
*  Descending, then ascending   implementation
* @param row
*/
private static void print(int row){
for(int i=0;i<2*row+1;i++){
int printChar = 'A' + Math.abs(row-i);
System.out.print(((char)printChar)+" ");
}
}``````

The output is as follows:

``````
F E D C B A B C D E F``````

2. In step 4, the number of letters output per line = the number of lines *2 +1 (letter A), then:

Each line should display the letters except for the printed Spaces. The logic control is as follows:

``````
for(int j=0;j<2*row+1;j++){
// Logic outputs letters. A letter that is output in descending order and then in ascending order
int printChar = 'A' + Math.abs(row-j);
// if  [ Logic control letter ]  Is greater than  [ Specified output letter ] , then:
if(printChar>firstChar){
// The output space
System.out.print(" ");
}else{
// The output of letters
System.out.print(((char)printChar)+" ");
}
}``````

3. Complete code:

``````
// Complete call
printWithRow(7);

/**
*  The first order   Positive sequence again   The output   Capital letter
*
* @param row  line
*/
private static void printWithRow(int row){
for(int i=0;i<row;i++){
// Specifies the output letter. Each row of the first 1 The letters are displayed
int firstChar = 'A' + i;
for(int j=0;j<2*row+1;j++){
// Logic outputs letters. A letter that is output in descending order and then in ascending order
int printChar = 'A' + Math.abs(row-j);
// if  [ Logic control letter ]  Is greater than  [ Specified output letter ] , then:
if(printChar>firstChar){
// The output space
System.out.print(" ");
}else{
// The output of letters
System.out.print(((char)printChar)+" ");
}
}
// Output the enter
System.out.println();
}
}``````

conclusion