java 3

산야(Sanya)·2024년 1월 2일

java 족보

목록 보기
3/28

1. 상수란 무엇이며 변수와의 차이는?

상수는 한 번 값을 지정하면 변경할 수 없는 고정된 값이며, 변수는 값을 여러 번 변경할 수 있는 공간입니다.

  • 상수 표기법은?

상수 표기법은 대문자와 밑줄을 사용하는 스네이크 케이스(CAPITALIZED_WITH_UNDERSCORES)를 주로 사용합니다.

final int MAX_SIZE = 100;

2. 초기화란 무엇인가?

변수나 상수에 처음으로 값을 할당하는 것을 초기화라고 합니다.

int number = 42; // 변수 number를 42로 초기화

3. 리터럴이란 무엇인가요?

리터럴은 소스 코드에 직접 입력된 값을 나타냅니다.

int literalNumber = 10; // 10은 정수 리터럴

4. 아래의 내용이 에러가 나는 이유와 수정 방법은?

System.out.println(3147483647 + 3147483648); //에러남

3147483647은 int의 최대값이므로 3147483647 + 3147483648은 int 범위를 벗어납니다.
해결 방법은 리터럴 뒤에 L 또는 l을 붙여서 long 타입으로 지정합니다.
System.out.println(3147483647L + 3147483648L);

5. 자동 형변환과 명시적 형변환에 대하여 설명하시오.

자동 형변환은 데이터 손실이 없는 범위에서 자동으로 타입이 변환되는 것을 말합니다.
명시적 형변환은 데이터 손실이 있을 수 있으며, 개발자가 직접 변환을 지정하는 것을 말합니다.

6. 자동 형변환 규칙에 대하여 설명하시오.

작은 데이터 타입에서 큰 데이터 타입으로의 자동 형변환이 일어납니다.
정수형에서 실수형으로의 형변환이나 float에서 double로의 형변환도 자동으로 이루어집니다.

7.아래의 에러가 나는 이유를 설명하고 수정 하시오.

int a = 3;
int b = 4;

double c = a / b;

System.out.println(result);

이유: a와 b가 모두 정수형이므로, a / b의 결과도 정수형이 되어 소수점 이하의 값을 잃게 됩니다.

수정 방법: 나눗셈의 결과를 실수형으로 받기 위해서는 적어도 하나의 피연산자를 실수형으로 만들어주어야 합니다. 아래와 같이 수정할 수 있습니다.

int a = 3;
int b = 4;
double c =(double) a / b;
System.out.println(result);

8. 아래의 값이 나오는 이유를 설명하시오.

      char a = 1 + 'A';
      
      System.out.println('A' + 'A');   

      System.out.println(a);
      System.out.println((int)a);
      
      System.out.println("A" + 'A');   
      System.out.println("A" + 0.09);
      ```
  
  이유 :
      'A' + 'A'에서는 각각의 문자를 ASCII 코드로 변환하여 더하는데, 'A'의 ASCII 코드는 65이므로 65 + 65 = 130이 됩니다.
System.out.println(a)에서는 a가 'B'이므로 'B'가 출력됩니다.
System.out.println((int) a)에서는 'B'의 ASCII 코드인 66이 출력됩니다.
System.out.println("A" + 'A')에서는 문자열과 문자의 결합이므로 문자가 문자열로 변환되어 "AA"가 출력됩니다.
System.out.println("A" + 0.09)에서는 문자열과 숫자의 결합이므로 숫자가 문자열로 변환되어 "A0.09"가 출력됩니다.

9. 이스케이프 시퀀스의 종료를 나열하고 기능을 설명하시오.

이스케이프 시퀀스의 종류와 기능은 다음과 같습니다:

1.\n: 줄 바꿈
2.\t: 수평 탭
3.\': 작은 따옴표
4.\": 큰 따옴표
5.\: 역슬래시

10. 아래의 출력 결과를 확인하고, 130이 나오는 이유를 설명하시오.

System.out.println('A'); //char형으로 인식, 메모리에 올라갈 때 65값이 들어감

System.out.println('A' + 'A'); //char형으로 65메모리에 올리고, int형으로 자동형변환

이유 :

자바에서 문자(char)와 숫자(int) 간의 연산 시, 자동으로 숫자로 형 변환이 이루어지기 때문입니다. 각각의 'A'는 ASCII 코드 값으로 65이므로, 두 개의 'A'를 더하면 65 + 65가 되어 130이 됩니다.

자바에서는 연산 시 피연산자들의 타입이 다를 경우, 표현 범위가 더 큰 타입으로 자동으로 형 변환이 일어납니다. 따라서 'A' + 'A'는 int로 자동 형 변환되어 130이 됩니다.

11.결합 방향과 우선순위에 대하여 설명하시오.

결합 방향: 좌측에서 우측으로 (a + b + c)
우선순위: 높은 우선순위를 가진 연산자가 먼저 계산됨 (*와 /가 +와 -보다 높은 우선순위를 가짐)

12.복합 대입 연산자에 대하여 설명하시오.

복합 대입 연산자는 현재 변수의 값을 다른 값과 연산하여 그 결과를 변수에 대입하는 연산자입니다. 예를 들면 a += 5;는 a = a + 5;와 같습니다.

profile
개발일지

0개의 댓글