2026. 1. 12. 16:36ㆍ대우개발원 수업 내용/Java 정리
[변수 (Variable)]
변수는 값을 저장할 수 있는 메모리의 특정 번지에 붙여진 이름이다.
변수를 통해 해당 메모리 번지에 하나의 값을 저장하고 읽을 수 있다.
변수는 정수, 실수, 논리값 등 다양한 타입의 값을 저장할 수 있다.
[변수 선언]
- 변수 사용을 위해 반드시 선언이 필요
- 선언 시 결정하는 것
- 저장할 데이터 타입
- 변수 이름
- 같은 타입의 변수는 콤마(,)로 한 번에 선언 가능
예)
int a;
int x, y, z;
[변수 이름 규칙]
- 자바 언어에서 정한 명명 규칙을 따라야 함
- 예약어는 변수 이름으로 사용 불가
- 예약어 사용 시 컴파일 에러 발생
[값 저장과 대입 연산자]
- 값 저장 시 대입 연산자(=) 사용
- 오른쪽 값을 왼쪽 변수에 저장
예)
int score;
score = 90;
[변수 초기화]
- 변수가 최초로 값을 저장하는 것
- 이때 메모리에 변수가 생성됨
- 초기화 시 저장된 값을 초기값이라 함
- 초기화되지 않은 변수는 사용 불가
[변수 사용]
- 변수에 저장된 값을 출력문에서 사용
- 연산식 내부에서 변수 값 사용 가능
예)
System.out.println(score);
int sum = x + y;
[변수 값 복사]
- 한 변수의 값을 다른 변수에 저장하는 것
예)
int a = 10;
int b = a;
[로컬 변수 (Local Variable)]
- 메소드 블록 내부에서 선언된 변수
- 선언된 블록 내부에서만 사용 가능
- 메소드 실행 종료 시 자동 삭제
주의 사항
- 사용 범위를 고려하여 선언 위치 결정
- 메소드 전체에서 사용 시 블록 첫 부분에 선언
- 특정 블록에서만 사용 시 해당 블록 내부에 선언
[기본 타입 (Primitive Type)]
- 자바는 총 8개의 기본 타입 제공
- 정수, 실수, 논리값 저장 가능
[정수 타입]
- 메모리 크기와 저장 가능한 범위가 타입마다 다름
- byte, short, int, long
[리터럴 (Literal)]
- 소스 코드에 직접 입력된 값
- 정수 리터럴은 기본적으로 int 타입으로 인식
[char 타입]
- 하나의 문자를 저장
- 작은 따옴표(' ') 사용
- 내부적으로 유니코드 정수값으로 저장
- char 타입은 정수 타입
예)
char c = 'A';
[문자열 (String)]
- 큰따옴표(" ")로 감싼 문자들의 집합
- char 타입에 저장 불가
- String 타입 사용
[이스케이프 문자]
- 문자열 내부에서 \ 사용
- 특수 문자 표현 및 출력 제어 가능
[실수 타입]
- float, double
- 실수 리터럴은 기본적으로 double 타입
- float 사용 시 리터럴 뒤에 f 또는 F 필요
- double이 float보다 정밀도가 높음
[논리 타입]
- boolean 타입
- true, false 값 저장
- 조건문과 반복문에서 흐름 제어에 사용
[타입 변환]
- 다른 타입 변수에 값을 저장할 때 발생
- 자동 타입 변환 (promotion)
- 강제 타입 변환 (casting)
[자동 타입 변환]
- 작은 범위 → 큰 범위 타입으로 변환
- char → int 변환 시 유니코드 값 저장
[강제 타입 변환]
- 큰 범위 → 작은 범위 타입으로 변환
- 캐스팅 연산자 () 사용
- 데이터 손실 가능
[정수 연산에서의 타입 변환]
- byte, char, short → int로 자동 변환
- 피연산자 중 하나가 long이면 결과는 long
[실수 연산에서의 타입 변환]
- 피연산자 중 하나가 double이면 결과는 double
- 정수 연산 결과는 정수
- 실수 결과를 원하면 실수로 변환 후 연산
[+ 연산과 문자열 결합]
- 모두 숫자 → 덧셈
- 하나라도 문자열 → 문자열 결합
- 앞에서부터 순차적으로 수행
[문자열을 기본 타입으로 변환]
- 숫자가 아닌 문자가 포함되면 예외 발생
- String.valueOf() 사용 가능
[표준 출력과 입력]
- System.out : 표준 출력 장치(모니터)
- System.in : 표준 입력 장치(키보드)
[출력 메소드]
- println() : 줄바꿈 출력
- printf() : 형식 지정 출력
[키보드 입력]
- System.in.read() : 키코드 단위 입력
- 한글 및 문자열 처리 한계 존재
- Scanner 클래스 사용으로 해결
[Scanner 클래스]
- 통문자열 입력 가능
- 다양한 next~() 메소드 제공
- 한글 출력 오류 시 문자셋 지정 필요
[기본 타입 비교와 문자열 비교]
- 기본 타입 비교 : ==
- 문자열 비교 : equals()
[문제]
문제 1. Quiz1.java
키보드로 두 실수를 입력받아 첫 번째 수에 두 번째 수를 더한 결과를 출력하시오.
(Scanner의 nextLine() 사용)
문제 2. Quiz2.java
Scanner를 이용하여 이름, 주민번호 앞 6자리, 전화번호를 입력받아
입력 예시와 동일한 형식으로 출력하시오.
(Scanner의 nextLine() 사용)
'대우개발원 수업 내용 > Java 정리' 카테고리의 다른 글
| Java 개념정리 6일차 (0) | 2026.01.12 |
|---|---|
| Java 개념정리 5일차 (0) | 2026.01.12 |
| Java 개념정리 4일차 (0) | 2026.01.12 |
| Java 개념정리 3일차 (0) | 2026.01.12 |
| Java 개념정리 1일차 (0) | 2026.01.12 |