윤제니

Java - 변수. 자료형. 상수. 형 변환. 연산자 본문

Java

Java - 변수. 자료형. 상수. 형 변환. 연산자

꿈다루 2020. 5. 6. 00:54

변수

  • 변하는 수 
  • 변수에 처음 값을 대입하는 것  =>  초기화
  • 컴퓨터 내부의 메모리 공간에 저장 (*메모리: 프로그램이 실행되는 작업 공간)

 

변수의 이름 

  • 영문자(대문자, 소문자)숫자를 사용
  • 특수 문자 중 $와_만 사용 가능
  • 자바에서 이미 사용 중인 예약어는 사용 불가  ex) while, int, break, . . .
  • 한글로 만들면 오류가 나지는 않지만 보통 사용하지 않음 
  • 중간에 다른 뜻의 단어가 등장할 때 첫 글자를 대문자로 사용  =>  카멜 표기법(camel notation)

 

기본 자료형

  정수형 문자형 실수형 논리형
1바이트 byte - - boolean
2바이트 short char - -
4바이트 int - float -
8바이트 long - double -

 

상수

  • 항상 변하지 않는 값
  • final 예약어를 사용해 선언 
  • 상수 이름은 대문자를 주로 사용
  • 여러 단어를 연결하는 경우에 _ 기호 사용 
  • 한 번 선언한 상수는 변하지 않기 때문에 선언과 동시에 값을 지정하는 것을 권장
final double PI=3.14;

final int MAX_NUM=100;

 

 

형변환 *

  • 각 변수의 자료형이 다를 때 자료형을 같게 바꾸는 것 
int n=10;      // int형 변수 n에 정수 값 10을 대입
double dnum=n; // int형 변수 n의 값을 double형 변수 dnum에 대입

 

  • 묵시적 형 변환(자동 형 변환) : 바이트 크기가 작은 자료형에서 큰 자료형으로 대입하는 경우
  • 명시적 형 변환(강제 형 변환) : 바이트 크기가 큰 자료형에서 작은 자료형으로 대입하는 경우 
1. 바이트 크기가 작은 자료형에서 큰 자료형으로 형 변환은 자동
2. 덜 정밀한 자료형에서 더 정밀한 자료형으로 형 변환은 자동

 

 

항과 연산자

  • 연산에 사용하는 값  => 항(operand)
  • 연산에 사용하는 기호  =>  연산자(operator)
  • 연산 순서  =>  '연산자 우선순위' 
연산자 설명 연산 예
단항 연산자 항이 한 개인 연산자 ++num
이항 연산자 항이 두 개인 연산자 num1 + num2
삼항 연산자 항이 세 개인 연산자 (5>3) ? 1 : 0;

 

 

대입 연산자

  • 변수에 값을 대입하는 연산자
  • 우선순위가 가장 낮은 연산자
  • ex) int age=24;

 

부호 연산자

연산자 기능 연산 예
+ 변수나 상수 값을 양수로 만듬 +3
- 변수나 상수 값을 음수로 만듬 -3

 

 

산술 연산자

연산자 기능 연산 예
+ 두 항을 더함 5 + 3
- 앞에 있는 항에서 뒤에 있는 항을 뺌 5 - 3
* 두 항을 곱함 5 * 3
/ 앞에 있는 항에서 뒤에 있는 항을 나누어 목을 구함 5 / 3
% 앞에 있는 항에서 뒤에 있는 항을 나누어 나머지를 구함  5 % 3

 

 

증감*감소 연산자

  • 단항 연산자
  • 연산자 앞이나 뒤에 사용하며 값을 1만큼 늘리거나 1만큼 줄인다.
연산자 기능 연산 예
++ 항의 값에 1을 더함

val = ++num;   // 먼저 num 값이 1 증가한 후 val 변수에 대입

val = num++;   // val 변수에 기존 num 값을 먼저 대입한 후 num값 1 증가

-- 항의 값에서 1을 뺌

val = --num;   // 먼저 num값이 1 감소한 후 val 변수에 대입

val = num --;   // val 변수에 기존 num 값을 먼저 대입한 후 num값 1 감소

 

 

관계 연산자

  • 항이 두 개인 이항 연산자
  • 결과 값 : 참(true) 또는 거짓(false) 반환
  • 두 값을 비교하여 결과 값을 반환하므로 '비교 연산자'라고 부름
  • 조건식이나 반복문을 제어하는데 자주 사용
연산자 기능 연산 예
> 왼쪽 항이 크면 참을, 아니면 거짓을 반환 num > 3;
< 왼쪽 항이 작으면 참을, 아니면 거짓을 반환 num < 3;
>= 왼쪽 항이 오른쪽 항보다 크거나 같으면 참, 아니면 거짓을 반환 num >= 3;
<= 왼쪽 항이 오른쪽 항보다 작거나 같으면 참, 아니면 거짓을 반환 num <= 3;
== 두 개 항의 값이 같으면 참, 아니면 거짓을 반환 num == 3;
!= 두 개 항이 다르면 참, 아니면 거짓을 반환 num != 3;

 

 

논리 연산자

  • 주로 관계 연산자와 함께 사용
  • 관계 연산자의 우선순위가 논리 연산자보다 높으므로, 관계 연산자의 값을 기반으로 논리 연산자의 결과 값을 계산
연산자 기능 연산 예

&&

(논리 곱)

두 항이 모두 참인 경우에만 결과 값이 참

그렇지 않은 경우는 거짓

boolean val = (5 > 3) && (5 > 2);

||

(논리 합)

두 항 중 하나의 항만 참이면 결과 값은 참

두 항이 모두 거짓이면 결과 값은 거짓

boolean val = (5 > 3) || (5 < 2);

!

(부정)

단항 연산자

참인 경우는 거짓으로, 거짓인 경우는 참으로 바꿈

boolean val != !(5 > 3);

 

 

조건 연산자 *

  • 연산자에 필요한 항의 개수가 세 개 
  • 삼항연산자
  • 주어진 조건식이 참인 경우와 거짓인 경우에 다른 결과 값이 나옴
연산자 기능 연산 예
조건식 ? 결과1:결과2; 조건식이 참이면 결과1, 조건식이 거짓이면 결과2 선택 int num=( 5> 3) ? 10:20;