Day 5 (22.12.30)

Jane·2022년 12월 30일
0

IT 수업 정리

목록 보기
5/124

1. 반지름이 11.5인 원의 넓이 구하기

public class round {

	public static void main(String[] args) {
		final double PI = 3.14;
		double r = 11.5;
		double area = PI * r * r;
		
		System.out.println(area);
	}

}

2. 리터럴 (Literals)

  • 자료형 기반으로 표현되는 상수
  • 메모리에 직접적으로 올리기 때문에 바꾸지 못한다. (변하지 않는다.)
  • final을 선언하는 상수와는 다르다.
public class IntegerLiterals {

	public static void main(String[] args) {
		int num1 = 123; // 10진수 표현
		int num2 = 0123; // 8진수 표현
		int num3 = 0x123; // 16진수 표현
		
		System.out.println("num1 : " + num1);
		System.out.println("num2 : " + num2);
		System.out.println("num3 : " + num3);
	}

}
  • 2진수 : 숫자 앞에 0b
  • 8진수 : 숫자 앞에 0
  • 16진수 : 숫자 앞에 0x

3. long 자료형 표현

System.out.println(3147483647 + 3147483648);
  • 메모리가 int로 인식하여 올리므로 컴파일 에러 (int의 범위는 최대 21억)
System.out.println(3147483647L + 3147483648L);
  • 숫자 뒤에 L을 붙여서 long임을 인식하게 해줘야 한다.

4. 형 변환 (Type Casting)

  • 두 피연산자의 자료형이 일치해야 동일한 방법을 적용하여 연산을 진행할 수 있다.
  • 피연산자의 자료형이 일치하지 않을 때는 형(Type)의 변환을 통해 일치시켜야 한다.

    자동 형 변환 :큰 쪽으로 형 변환이 일어난다. 정수보다 실수가 우선시된다.
    명시적 형 변환 : 자동 형 변환 규칙에 맞지 않아도, 형 변환이 필요하면 강제로 명시적 형 변환을 진행

public class conversion {

	public static void main(String[] args) {
		short num1 = 1;
		short num2 = 2;
		short num3 = (short)(num1 + num2);
		System.out.println(num3);
	}

}
  • int보다 작은 덧셈 연산 = 강제로 int로 형 변환

5. 나눗셈으로 알아보는 명시적 형 변환

public class DivisionTest {

	public static void main(String[] args){
		int a = 4;
		int b = 3;
		double c = b / a;
		System.out.println(c);
	}

}

[Console] 0.0

  • b / a를 실행할 때의 자료형이 int이므로 b / a의 값은 0으로 저장된다.
  • 이후 double로 바꿔주므로 0.0이 리턴된다.
public class DivisionTest {

	public static void main(String[] args){
		int a = 4;
		int b = 3;
		double c = b / (double)a;
        // 둘 중 한 쪽에 double 값을 준다.
		System.out.println(c);
	}

}

[Console] 0.75

  • b / a 식에 둘 중 한 곳에라도 double 자료형으로 명시적 형 변환을 선언하면, 0.75라는 값이 double로 저장된다.
  • c에도 double 0.75 값이 리턴된다.

6. char를 더하면 일어나는 자동 형 변환

public class CharPlus {

	public static void main(String[] args) {
		System.out.println('A'); 
		System.out.println('A' + 'A'); 
	}

}

[Console]
A
130

  • char 자료형을 출력하면 A가 나온다.
  • char 자료형의 덧셈 연산을 진행하면 ASCII 코드 값인 65와 65가 더해져 130이 출력된다.
  • char 이외에도 byte, short 자료형에 덧셈 연산을 진행하면 int 자료형으로 저장되므로, 출력할 때도 int로 나오게 된다.
profile
velog, GitHub, Notion 등에 작업물을 정리하고 있습니다.

0개의 댓글