본문 바로가기
IT

05.JAVA 타입 변환, 산술 연산자, 증감연산자

by 티투유튜 2020. 4. 17.

타입 변환

하나의 타입을 다른 타입으로 바꾸는 것을 타입 변환이라고합니다.

boolean형을 제외한 나머지 기본 타입 간의 타입 변환을 수행할 수 있습니다.

 

메모리에 할당받은 바이트의 크기가 상대적으로 작은 타입에서 큰 타입으로의 타입 변환은 생략할 수 있습니다.

하지만 메모리에 할당받은 바이트의 크기가 큰 타입에서 작은 타입으로의 타입 변환은 데이터의 손실이 발생합니다.

 

타입 변환의 종류

묵시적 타입변환(자동 타입 변환)

대입 연산이나 산술 연산에서 컴파일러가 자동으로 수행해 주는 타입 변환을 가리킵니다.
자바에서는 데이터의 손실이 발생하지 않거나, 데이터의 손실이 최소화되는 방향으로 묵시적 타입 변환을 진행합니다.
또한, 자바에서는 데이터의 손실이 발생하는 대입 연산은 허용하지 않습니다.

 

public class prog {
	public static void main(String[] args) {
		double num1 = 10;
		// int num2 = 3.14;
		double num3 = 7.0f + 3.14;
		System.out.println(num1);
		System.out.println(num3);
	}
}

명시적 타입 변환(강제 타입 변환)

명시적 타입 변환이란 사용자가 타입 캐스트 연산자(())를 사용하여 강제적으로 수행하는 타입 변환을 가리킵니다.

public class test {
	public static void main(String[] args) {
		int num1 = 1, num2 = 4;
		
		double result1 = num1 / num2;
		double result2 = (double) num1 / num2;
		
		System.out.println(result1);
		System.out.println(result2);
	}
}

 

산술 연산자

산술 연산자는 사칙연산을 다루는 연산자로, 가장 기본적이면서도 가장 많이 사용되는 연산자 중 하나입니다.
산술 연산자는 모두 두 개의 피연산자를 가지는 이항 연산자이며, 이 연산자들의 결합 방향은 왼쪽에서 오른쪽입니다.

산술 연산자 설명
+ 왼쪽의 피연산자에 오른쪽의 피연산자를 더함.
- 왼쪽의 피연산자에서 오른쪽의 피연산자를 뺌.
* 왼쪽의 피연산자에 오른쪽의 피연산자를 곱함.
/ 왼쪽의 피연산자를 오른쪽의 피연산자로 나눔.
% 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 반환함.
public class test{
	public static void main(String[] args) {
		int num1 = 8, num2 = 4;
		
		System.out.println("+ 연산자에 의한 결과 : "+ (num1 + num2));
		System.out.println("- 연산자에 의한 결과 : "+ (num1 - num2));
		System.out.println("* 연산자에 의한 결과 : "+ (num1 * num2));
		System.out.println("/ 연산자에 의한 결과 : "+ (num1 / num2));
		System.out.println("% 연산자에 의한 결과 : "+ (num1 % num2));
	}
}

 

대입 연산자

대입 연산자는 변수에 값을 대입할 때 사용하는 이항 연산자이며, 피연산자들의 결합 방향은 오른쪽에서 왼쪽입니다.
또한, 자바에서는 대입 연산자와 다른 연산자를 결합하여 만든 다양한 복합 대입 연산자를 제공합니다.

 

증감 연산자

증감 연산자는 피연산자를 1씩 증가 혹은 감소시킬 때 사용하는 연산자입니다.
이 연산자는 피연산자가 단 하나뿐인 단항 연산자입니다.
증감 연산자는 해당 연산자가 피연산자의 어느 쪽에 위치하는가에 따라 연산의 순서 및 결과가 달라집니다.

증감 연산자 설명
++x 먼저 피연산자의 값을 1 증가시킨 후에 해당 연산을 진행함.
x++ 먼저 해당 연산을 수행하고 나서, 피연산자의 값을 1 증가시킴.
--x 먼저 피연산자의 값을 1 감소시킨 후에 해당 연산을 진행함.
x-- 먼저 해당 연산을 수행하고 나서, 피연산자의 값을 1 감소시킴.
public class test {
	public static void main(String[] args) {
		int num1 = 7, num2 = 7;
		int result1, result2;
		
		result1 = --num1 + 4;
		result2 = num2-- + 4;
		
		System.out.println("전위 감소 연산자에 의한 결과 : "+ result1 + ", 변수의 값 : " + num1);
		System.out.println("후위 감소 연산자에 의한 결과 : "+ result2 + ", 변수의 값 : " + num2);		
	}
}

 

댓글