Skip to main content

Advanced Arithmetic Operation

Math class (docs)

Math is a class that provides common mathematical operations:
  • Power and root
  • Logarithm
  • Max, Min
  • Trigonometry
  • Random
Program.java
public class Program {
    public static void main(String[] args) {
        double n = 5;
        double power = 4;
        double nPower = Math.pow(n, power);
        System.out.println(n + " to the " + power + "th power = " + nPower
        );
    }
}

Data Type: Integer and Double

double a = 3.75, b = 2.5; 
int p = 13, q = 4; 
System.out.println(p + q); 
System.out.println(p - q); 
System.out.println(p * q);
System.out.println(p / q); 
double a = 3.75, b = 2.5;
int p = 13, q = 4;
System.out.println(a + b);
System.out.println(a - b);
System.out.println(a * b);
System.out.println(a / b);
double a = 3.75, b = 2.5;
int p = 13, q = 4;
System.out.println(a + p);
System.out.println(a - p);
System.out.println(a * p);
System.out.println(a / p);
System.out.println(1 / 2);     //  0
System.out.println(3 / 2);     //  1
System.out.println(14 / 3);    //  4
System.out.println(-1 / 2);    //  0
System.out.println(-3 / 2);    // -1
System.out.println(-14 / 3);   // -4
double a = 3.75, b = 2.5;
int p = 13, q = 4;
double c = p / q;
double d = (double) p / q;
double e = (double) (p / q);
System.out.println(c);
System.out.println(d);
System.out.println(e);
double a = 3.75, b = 2.5;
int p = 13, q = 4;
int r = a / b;
int s = (int) a / b;
int t = (int) (a / b);
System.out.println(r);
System.out.println(s);
System.out.println(t);

Input

String name = "Arif";
String message = "Welcome " + name + "!";

System.out.println(message);

Basic Methods of Scanner

Reading Strings

One line

Reading Numners

Integer

Special Case

Special Case
Scanner input = new Scanner(System.in);
System.out.print("What is your name? ");
String name = input.nextLine();
System.out.print("What is your age? ");
int age = input.nextInt();
System.out.println("Hello, " + name);
System.out.println("You are " + age + " years old");

Output Formatting

Too Many Trailing Digits!

double athird = 1.0 / 3;
System.out.println(athird);

//Output 0.3333333333333333 - Too Long

Try use this!

System.out.printf()

  • System.out.format()
    System.out.printf(format, param1, param2, ...);
    
  • Example
    double tax = 0.2 * price;
    System.out.printf("Price: %.2f, Tax: %.2f", price, tax);
    

Format Works

Format

Converters & Flags

ConvertersFlagDescription
dInteger
fFloat/Double
nNewline
sString
+Includes sign, whether positive or negative.
,Includes locale-specific grouping characters (thousands)
-Left-justified.
8Eight characters in width, right justified
08Eight characters in width, with leading zeroes as necessary.
.3Three places after decimal point.
10.3Ten characters in width, right justified, with three places after decimal point.
String name = "Ani";
int age = 6;
double saving = 1234567.89012345;

System.out.printf("Name: %s %n", name);
System.out.printf("Name: %10s %n", name);
System.out.printf("Name: %-10s %n", name);

System.out.printf("Age: %d years old %n", age);
System.out.printf("Age: %2d years old %n", age);
System.out.printf("Age: %02d years old %n", age);

System.out.printf("Saving: Rp %f %n", saving);
System.out.printf("Saving: Rp %.2f %n", saving);
System.out.printf("Saving: Rp %12.2f %n", saving);
System.out.printf("Saving: Rp %5.2f %n", saving);
System.out.printf("Saving: Rp %,.2f %n", saving);

Saving Formatted String in Variables

String.format(format, param1, param2, ...)
  • Example:
    String priceString = String.format("Rp %.2f", price);