[#day02_3] 연산자들과 형변환

웰시코딩·2023년 1월 30일
0

my record

목록 보기
5/7
post-thumbnail
2일차때 배운 내용을 아직도 정리하고 있는 (5일차) 코린이

그래도 다행인게 블로그에 하나하나 차근차근 정리해가면서
내 머릿속에서도 복습도 되고 정리가 되는 느낌이라 다행이다

⭐️ 2편에서 이어지는 내용입니다 ⭐️
안봤으면 보고 와줘요


1. 연산자

연산자란?

  • 프로그램에서 연산을 수행하기 위해서 사용되는 특수기호들이다.
    종류가 다양하게 있는데 아래에서 하나씩 설명하겠다.

1-1. 대입 연산자

  • 변수에 숫자나 문자열 등의 자료를 입력하거나 연산 결과를 다른 변수에 할당한다.

1-2. 산술 연산자 (사칙 연산자)

  • 더하기(+), 빼기(-), 곱하기(*), 나눗셈의 몫(/), 나머지 (%)
  • 10 나누기 3을 계산할 때, 수학에서는 몫이 3, 나머지가 1 이라고 계산이 된다.
    - Java에서는 10 / 3 🟰 나눗셈의 몫만을 취해서 결과값은 "3" 이 출력됨.
    - 10 % 3 🟰 나눗셈의 나머지만을 취해서 결과값은 "1" 이 출력됨.
  • 모든 수는 0으로 나눌 수 없다

1-3. 단항 연산자

  • 변수에 대한 연산 결과를 다시 자기 자신에게 적용하는 경우 사용
  • 다시 자기 자신에게 대입하고자 하는 경우의 약식 표현이다.
    찾아보니 연산자는 피연산자 수에 따라 단항/이항/삼항으로 나눠진다고 한다
int x = 100;
x = x +5;
// 이걸 약식으로 표현하면 아래와 같이 된다

int x = 100;
x += 5;

단항 연산자는 모든 사칙 연산자에 표현 가능하다.
+=, -+, *=, /=, %= 등등

1-4. 증감 연산자

  • 특정 변수에 저장되어 있는 값을 1씩 증가, 감소 시킬 경우 사용
  • 단항 연산자로 표현할 수 있는 식에서 계산 대상 값이 1인 경우,
    덧셈과 뺄샘에 대해서는 다시 한번 축약할 수 있다.
// 덧셈의 경우
	x = x + 1;
	x += 1;
	x++;
	++x;

// 뺄셈의 경우
	x = x - 1
	x -= 1;
	x--;
	--x;

x++ 와 ++x 의 차이

  • 증감 연산자는 그 자체가 다른 연산식의 피연산자로 사용될 수 있다.
    이 때, 증감 연산자의 표시 위치에 따라 결과가 서로 다르게 적용된다.
  • x++의 경우
    증감연산자가 뒤에 표시되는 경우 현재의 x 값을 먼저 수식에 적용,
    그 이후 x에 대한 1 증가 처리를 한다.
int a = 100;
int x = 1;
int y = a + x++;		// 100 + 1
System.out.println(y);	// y:101, x :2
System.out.println(x);

// x의 값인 1을 먼저 수식 y에 대입하고, 그 이후 x값을 1 증가시켜 2로 출력함.
  • ++x의 경우
    증감연산자가 앞에 표시된 경우
    먼저 현재 x의 값을 1증가 시킨 후, 그 결과를 수식에 적용한다.
int a = 100;
int x = 1;
int y = a + ++x;
System.out.println(y);	// y:102, x : 2

// x의 값인 1을 먼저 1 증가 시킨 후 수식 y에 대입

1-5. 비교 연산자

  • 두 개의 변수값 간의 관계를 비교하여
    참(true)이나 거짓(false)의 결과를 반환한다.
  • 주어진 값이 참인지 거짓인지 판별 가능하므로,
    연산 결과는 boolean 값으로 생성된다.
의미부호
같다==
다르다!=
초과>
이상>=
미만<
이하<=

Table 예쁘게 만드는 법 아시는 분 알려주세요 제발

int x = 100;
int y = 1;
boolean r= x 비교연산자 y;
//  boolean 을 사용했으니 결과는 true 나 false 둘 중 하나로 나온다.

1-6. 논리 연산자

  • 좌변과 우변을 논리 연산하고
    참일때는 true, 거짓일때는 false 값을 반환한다.
  • 두개 이상의 비교 연산자의 결과나 boolean 값에 대해
    추가로 "AND"나 "OR"연산을 수행하여 결과를 얻는다.
  • AND의 의미를 갖는 &&
    "&&" 연산자 두 개의 boolean값을 비교하여
    모두 true인 경우에만 결과값이 true
  • OR의 의미를 갖는 ||
    || 연산자는 두 개의 boolean값을 비교하여
    둘중 하나라도 true인 경우 결과값 true이다.
	int a = 10;
	int b = 20;

	boolean x = a < b || a != b;	// -> true
	boolean y =	a == b && a >= b ;	// -> false
	boolean z =	!(a < b || a != b);	// -> false
	
	System.out.println(x);
	System.out.println(y);
	System.out.println(z);
	
	// !true 		-> false
	// !false 		-> true

2. 형변환(Casting)

형변환이란?

  • 변수의 자료형이 변환되는 것을 의미
  • 특정 자료형의 값을 다른 자료형의 변수에 대입 가능
  • 암묵적 형변환과 명시적 형변환의 두 종류가 있다.

2-1. 암묵적 형변환

  • 암묵적 형변환은 서로 다른 자료형을 연산 혹은 대입 하는 경우,
    java 컴파일러가 자료형을 통일
    한다. (알아서 해줌)
  • 이 과정에서 일어나는 형변환을 암묵적 형변환이라고 한다.
int a = 100;	// 정수형
float b = a;	// 정수형을 실수형에 대입

- 암묵적 형변환은 어떤 변수가 더 큰 범위의 변수로 대입 가능함을 의미.

2-2. 명시적 형변환

  • 데이터의 손실을 감수하더라도, 강제로 형변환 시키는 형태
자료형 b = (변환할 자료형)a;

double a = 3.14d;
int b = (int)a;	// 3

// 실수형을 정수형으로 변환하는 경우, 소숫점 이하 자리는 버려짐
// 👆 데이터의 손실을 감수하고 강제로 형 변환 시킨 좋은 예 👆

day02 드디어 마무리
다들 읽어주시느라 고생하셨음 그럼 20000
profile
웰시코기를 좋아하는 개발자 꿈나무

0개의 댓글