1. 자료형과 변수
자료형
- 자료형: 자료의 형태(Data Type) (기본 자료형 vs 참조 자료형)
- 기본: 실제 데이터 값을 저장
- int, long, float, double, boolean, char ...
자료형 | 데이터 | 크기(byte) | 표현 범위 |
int | 정수 | 4 | -2,147,483,648 ~ 2,147,483,647 |
long | 정수 | 8 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
float | 실수 | 4 | (정밀도 기준) 6~7자리 |
double | 실수 | 8 | (정밀도 기준) 15자리 |
boolean | 참/거짓 | 1 | True or False |
char | 문자 | 2 | 하나의 문자 |
- 참조: 데이터가 저장된 메모리 주소 값을 저장
- 클래스, 인터페이스, 배열, 열거형 ... (String)
변수
- 변수: 자료를 저장하기 위한 공간
- 자료형 변수명 = 값;
- 선언과 동시에 초기화(즉, 왼쪽 변수를 만듦과 동시에 등호를 통해서 오른쪽 값을 대입)
String name = "꿈꾸는도토리";
int hour = 12;
double scroe = 99.3;
char grade = 'A';
boolean pass = True;
- 자료형 변수명;
- 변수명 = 값;
- 선언 따로, 값 저장 따로
int hour;
hour = 12;
- 변수명: 값을 가장 잘 표현하는 이름
- 제약사항
- 밑줄(_), 문자(abc), 숫자(123)만 사용 가능(공백 X)
- 밑줄 또는 문자로만 시작 가능
- 예약어 사용 불가(public, static, void, int, double, float, ...)
- 대소문자 구분(myNam != myname)
- (선택) 한 단어 또는 2개 이상 단어의 연속
- (선택) 소문자로 시작, 각 단어의 시작 글자는 대문자(첫 단어 제외)
상수
- 상수: 변하지 않는 값
- final 자료형 변수명 = 값;
final int hour = 15; // 이 문장을 실행한 이후
hour = 20; // hour 값 변경 불가
주석
- 주석: 코드에 설명을 추가할 때 사용(문장 실행 X)
- 한 줄 주석 vs 여러 문장 주석
- 한 줄 주석: //
- 문장1; // 주석
- // 문장2; (문장2가 주석처리 됨)
- 여러 문장 주석: /* */
- /* 문장1;
- 문장2; */
// 한 줄 주석
int hour = 12; // 현재 시각 12시
// double score = 44.3;
// 여러 문장 주석
/* int hour = 12;
double score = 44.3; */
형 변환
- 형 변환: 정수, 실수, 문자열 등 자료형 간 변환
- (자료형) 변수명 or 값;
- 변경대상 변수명 or 값 앞에 (변경목표 자료형) 입력
- 묵시적 형 변환(=자동 형 변환)
- int -> long -> float -> double
- 위와 같을 때에는 데이터의 손실이 발생하지 않기 때문에 소스코드에
(변경목표 자료형)을 명시하지 않아도 자동으로 형 변환이 일어남
- <-> 명시적 형 변환
- double 98.8을 int로 변환하고자 한다면? 소수점 0.8이 사라지기 때문에 묵시적 형 변환 불가
- double -> float -> long -> int
- 큰 데이터 타입을 작은 데이터 타입으로 변환할 때에는 손실이 생길 수 있기 때문에 (변경목표 자료형) 반드시 명시해야 함
int score = 93; // score 정수 자료형을 실수로 변환하고 싶다면
float score_f = (float) score; // (실수자료형) 대상변수명
double score_d = (double) 93; // (더블자료형) 대상값
2. 연산자
자료형
- 연산자: 값의 계산을 위해 사용되는 기호
- 종류: 산술 연산자, 대입 연산자, 비교 연산자, 논리 연산자, 삼항 연산자
산술 연산자 | 설명 | 예시 | 결과 |
+ | 더하기 | 1+2 | 3 |
- | 빼기 | 4-2 | 2 |
* | 곱하기 | 2*3 | 6 |
/ | 나누기 | 4/2 | 2 |
% | 나머지 | 5%2 (몫: 2) | 1 |
++ | 증가 | ++num num++ |
num의 값 1 증가 (전위 연산 / 후위 연산) |
-- | 감소 | --num num-- |
num의 값 1 감소 (전위 연산 / 후위 연산) |
대입 / 복합대입 연산자 | 설명 | 예시 | 결과 |
= | 오른쪽에 있는 값 또는 식을 왼쪽에 있는 변수에 대입 | int num = 10; num = num + 2; num = num - 2; |
10 12 10 |
+= | (왼쪽 + 오른쪽) 결과를 왼쪽에 대입 | num += 2; | 12 |
-= | (왼쪽 - 오른쪽) 결과를 왼쪽에 대입 | num -= 2; | 10 |
*= | (왼쪽 * 오른쪽) 결과를 왼쪽에 대입 | num *= 2; | 20 |
/= | (왼쪽 / 오른쪽) 결과를 왼쪽에 대입 | num /= 2; | 10 |
%= | (왼쪽 % 오른쪽) 결과를 왼쪽에 대입 | num %= 2; | 0 |
비교 연산자 | 설명 | 예시 | 결과 |
> | 왼쪽이 오른쪽보다 큼 | 3 > 2 | True |
>= | 왼쪽이 오른쪽과 같거나 큼 | 4 >= 4 | True |
< | 왼쪽이 오른쪽보다 작음 | 3 < 2 | False |
<= | 왼쪽이 오른쪽과 같거나 작음 | 4 <= 4 | True |
== | 왼쪽과 오른쪽이 같음 | 5 == 5 | True |
!= | 왼쪽과 오른쪽이 다름 | 5 != 5 | False |
논리 연산자 | 설명 | 예시 | 결과 |
&& | AND | (5 > 3) && (3 > 1) | True |
|| | OR | (5 > 3) || (3 > 1) (5 > 3) || (3 < 1) (5 < 3) || (3 < 1) |
True True False |
! | NOT | !(5==5) | False |
삼항 연산자 | 설명 | 예시 | 결과 |
조건 ? 참일 때 : 거짓일 때 | 조건이 참이면 : 왼쪽 문장이 거짓이면 : 오른쪽 문장이 실행됨 |
int x = 3; int y = 7; int max = (x>y) ? x : y; |
7 |
참고 영상: 나도코딩 - 자바 무료 강의 2시간 완성(1분 자바)
https://youtu.be/DNCBaeCoMug?si=VM02QD9igeT561pp
반응형