Java/Math

Java Math 예시 2(BigInteger, BigDemical, equals, add, subtract, multiply, divide)

S.T.Lee 2022. 11. 14. 21:27
package lec14.math02;

import java.math.BigDecimal;
import java.math.BigInteger;

public class Math02 {
	
	
	public static void main(String[] args) {
		
		//BigInteger, BigDemical
		//long으로 커버가 불가능할때 
		BigInteger bigInteger = new BigInteger("1");
		System.out.println(bigInteger);
		
		System.out.println("============================");
		BigInteger one = BigInteger.ONE;
		BigInteger zero = BigInteger.ZERO;
		BigInteger ten = BigInteger.TEN;
		BigInteger two = BigInteger.TWO;
		System.out.println("one :" + one);
		System.out.println("zero :" + zero);
		System.out.println("ten :" + ten);
		System.out.println("two :" + two);
		
		System.out.println("===========================");
		BigInteger longBig = BigInteger.valueOf(100);
		System.out.println(longBig);
		
		//equals
		System.out.println("===========================");
		BigInteger oneBig1 = BigInteger.ONE;
		BigInteger oneBig2 = BigInteger.valueOf(1);
		boolean eqBig1 = oneBig1.equals(oneBig2);
		System.out.println("bool :" + eqBig1);
		
		System.out.println("===========================");
		BigInteger twoBig1 = BigInteger.TWO;
		BigInteger twoBig2 = BigInteger.valueOf(1);
		boolean eqBig2 = twoBig1.equals(twoBig2);
		System.out.println("bool :" + eqBig2);
		
		//add
		System.out.println("===========================");
		BigInteger oneBigAdd = new BigInteger("1");
		BigInteger twoBigAdd = BigInteger.valueOf(1);
		BigInteger resultAdd = oneBigAdd.add(twoBigAdd);
		System.out.println(resultAdd);
		
		System.out.println("===========================");
		BigInteger threeBigAdd = BigInteger.valueOf(3);
		BigInteger fourBigAdd = BigInteger.valueOf(4);
		BigInteger addResult2 = threeBigAdd.add(fourBigAdd);
		System.out.println(addResult2);
		
		//subtract //minus
		System.out.println("===========================");
		BigInteger bigTwoSubs = BigInteger.valueOf(2);
		BigInteger bigOneSubs = BigInteger.valueOf(1);
		BigInteger bigSubsResult1 = bigTwoSubs.subtract(bigOneSubs);
		System.out.println("결과 : " + bigSubsResult1);
		
		System.out.println("===========================");
		BigInteger bigFiveSubs = BigInteger.valueOf(5);
		BigInteger bigThreeSubs = BigInteger.valueOf(3);
		BigInteger bigSubsResult2 = bigFiveSubs.subtract(bigThreeSubs);
		System.out.println("result : "+bigSubsResult2);
		
		//multiply
		System.out.println("===========================");
		BigInteger bigMulti01 = BigInteger.valueOf(3);
		BigInteger bigMulti02 = BigInteger.valueOf(2);
		BigInteger bigMultiResult1 = bigMulti01.multiply(bigMulti02);
		System.out.println("multi result : " + bigMultiResult1);
		
		System.out.println("===========================");
		BigInteger bigMulti03 = BigInteger.valueOf(32);
		BigInteger bigMulti04 = BigInteger.valueOf(21);
		BigInteger bigMultiResult2 = bigMulti03.multiply(bigMulti04);
		System.out.println("multi result : " + bigMultiResult2);
		
		//divide
		System.out.println("============================");
		BigInteger bigDiv01 = BigInteger.valueOf(6);
		BigInteger bigDiv02 = BigInteger.valueOf(2);
		BigInteger bigDivResult1 = bigDiv01.divide(bigDiv02);
		System.out.println("divide result : " + bigDivResult1);
		//나머지는 버림 된다//int니깐
		System.out.println("============================");
		BigInteger bigDiv03 = BigInteger.valueOf(16);
		BigInteger bigDiv04 = BigInteger.valueOf(5);
		BigInteger bigDivResult2 = bigDiv03.divide(bigDiv04);
		System.out.println("divide result : " + bigDivResult2);
		
		System.out.println("==============================");
		//BigDecimal
		//10.1로 넣으면 소수점이 이상하게 나온다. string으로 넣자
		BigDecimal bigDec10dot1 = new BigDecimal("10.1");
		System.out.println(bigDec10dot1);
		
		BigDecimal bigDecValueOf1 = BigDecimal.valueOf(1.5);
		System.out.println(bigDecValueOf1);
		
		System.out.println("==============================");
		//equals
		BigDecimal bigDecEq01 = BigDecimal.valueOf(10.1);
		BigDecimal bigDecEq02 = BigDecimal.valueOf(10.1);
		boolean boolBigEq = bigDecEq01.equals(bigDecEq02);
		System.out.println("equals : " + boolBigEq);
		
		System.out.println("==============================");
		//add
		BigDecimal bigDecAdd01 = BigDecimal.valueOf(110.1);
		BigDecimal bigDecAdd02 = BigDecimal.valueOf(10.1);
		BigDecimal boolBigAdd = bigDecAdd01.add(bigDecAdd02);
		System.out.println("add : " + boolBigAdd);
		
		//subtract
		System.out.println("=============================");
		BigDecimal bigDecSubs1 = BigDecimal.valueOf(1.5);
		BigDecimal bigDecSubs2 = BigDecimal.valueOf(0.2);
		BigDecimal bigDecResultSubs = bigDecSubs1.subtract(bigDecSubs2);
		System.out.println("subtract : " + bigDecResultSubs);
		
		//multiply
		System.out.println("=============================");
		BigDecimal bigDecMulti1 = BigDecimal.valueOf(0.5);
		BigDecimal bigDecMulti2 = BigDecimal.valueOf(0.2);
		BigDecimal bigDecMultiREsult1 = bigDecMulti1.multiply(bigDecMulti2);
		System.out.println("multiply : " + bigDecMultiREsult1);
		
		//divide
		System.out.println("============================");
		BigDecimal bigDecDiv1 = BigDecimal.valueOf(1.0);
		BigDecimal bigDecDiv2 = BigDecimal.valueOf(2.0);
		BigDecimal bigDecDivResult1 = bigDecDiv1.divide(bigDecDiv2);
		System.out.println("divide : " + bigDecDivResult1);
	}
}