TIL 3일차

Moon-Tree·2023년 1월 3일
0

◎ JAVA

정수와 실수

public class Test14 {
	public static void main(String[] args) {
		//정수 : byte(1), short(2), int(4), long(8)
		//실수 : float(4), double(8)
		//(주의) 실수는 어떠한 경우에도 정수보다 큽니다
	
		//int a = 2200000000;
	
		int a = 2100000000 + 100000000;//범위 초과
		System.out.println(a);
	
		long b = 2200000000L;//long은 int와 구분하기 위해 표시를 붙임
		System.out.println(b);
	
		long c = 2100000000L + 100000000L;
		System.out.println(c);
	
		double d = 1.934812578971234598172459872493587129348712912;
		float e = 1.934812578971234598172459872493587129348712912F;
		System.out.println(d);
		System.out.println(e);
	}
}
  • 정수로 계산 해야지 정확히 계산된다.
    - 실수로 하면 약 0.0000001% 와 같이 오차범위가 생길 수 있다.
    int discount = 100 - 시즌할인 / 100;

논리(boolean)

  • 판정 결과를 저장하기 위한 형태
  • 반드시 예(true, 참)와 아니오(false, 거짓)만 저장 가능

윤년 계산기

public class Test07 {
	public static void main(String[] args) {
		//윤년 계산기 만들기
		//윤년이란 실제 1년과 달력상의 1년의 차이 때문에 생기는 날짜를 메꾸기 위한 해입니다.
		//실제 = 365.24..일, 달력 = 365일
		//윤년의 규칙은 다음과 같습니다.
		//- 윤년에는 2월29일까지 있습니다. (366일)
		//- 4의 배수인 해는 윤년으로 간주합니다.
		//- 100의 배수인 해는 4의 배수일지라도 윤년이 아닌 것으로 간주합니다.
		//- 400의 배수인 해는 100의 배수일지라도 윤년으로 간주합니다.
		//이 기준을 토대로 특정 연도가 윤년인지 아닌지 판정해서 출력
	
		//입력
		int year = 2020;
	
		//처리
		boolean leapYear4 = year % 4 == 0;
		boolean leapYear100 = year % 100 == 0;
		boolean leapYear400 = year % 400 == 0;
	
		boolean check = leapYear4 && !leapYear100 || leapYear400;
		//(참고) 논리에서 true와 같냐는 코드는 덧셈의 +0, 곱셈의 *1과 같은 코드이다.
	
		//출력
		System.out.println(check);
	}
}
profile
Backend Developer

0개의 댓글