본문 바로가기

Java/문법

[Java] 핵심 기본편 - 자료형, 변수, 형 변환, 연산자

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

 

반응형