관리 메뉴

관심쟁이 영호

[#4 연산] 컴퓨터에게 일을 시켜보자 본문

학교공부/자바의 왕!

[#4 연산] 컴퓨터에게 일을 시켜보자

영짱 관심쟁이 영호 2019. 5. 14. 21:40
728x90
반응형

안녕하세요!! 

 

최고왕입니다.

 

요즘 들어 공부한 것들을 블로그에 포스팅하는 재미에 기분이 항상 좋아요 ㅎㅎ

 

그래서 얼른 글을 쓰고싶어 시간이 되었으면 좋겠다!

 

라는 생각이 들어요 ㅋㅋㅋㅋㅋ

 

그럼 오늘의 공부를 시작해볼게요~~~

 

---------------------------------------------------------------------------------------------------------------------

 

오늘의 주제는

 

연산입니다 !!!

 

먼저 세부적으로 나누어 볼게요!

 

1. 연산자란?

 

2. 연산자의 종류와 설명

 

3. 연산자의 결합 규칙

 

1. 연산자란?

 

이번에 우리가 배울 파트는 비교적 쉬워요!

 

왜냐하면 학창 시절에 배웠던 것들이기 때문이죠 ㅎㅎ

 

연산자를 설명하자면.. 

 

흔히 우리가 아는 "연산을 수행하는 기호"라고 말할 수 있어요!

 

예를 들면 +, -, ×, ÷, = 등등을 말하는 겁니다!

 

우리는 이것을 지금부터 연산자라고 말하면 돼요!

 

 

2. 연산자의 종류와 설명

 

연산자를 여러 종류로 나눌 수 있어요 

 

* 산술 연산자 : +, -, ×(*), ÷(/), %(나머지), <<(비트 연산자), >>(비트 연산자)

 

* 비교 연산자 : >, <, >=, <=, ==,!=

 

* 논리 연산자 : &&, ||,!, &, |, ^, ~

 

* 대입 연산자 : =

 

* 기 타          :  (type)(형 변환 연산자),?:(삼항 연산자), instanceof(instanceof 연산자)

 

이렇게 나눌 수 있어요!

 

낯이 익은 연산자도 있고 처음 보는 연산자도 있으실 거예요~

 

어렵지 않으니 걱정하지 마세요!!

 

그럼 각 연산자에 대해서 알아보겠습니다!

 

산술 연산자

 

+, -, ×(*), ÷(/), %(나머지), <<(비트 연산자), >>(비트 연산자)로 이루어져 있어요!

 

기본적으로 우리가 아는 사칙연산을 가지고 있어요.

 

단순히 계산하는 연산이라고 생각해두면 편하겠습니다!

 

비트 연산자라고 처음 보시는 분들이 있으실 거예요!

 

비트 연산자로 말씀드릴 거 같으면

 

비트 단위로 연산을 수행한다는 뜻이에요!

 

컴퓨터에게 8을 입력하면 컴퓨터라는 깡통은

 

8을 2진법으로 변환하여 1000으로 표현해요.

 

여기서 비트 연산을 하게 되면

 

8 << 2라고 했을 때 2진 수상에서 왼쪽으로 두 칸 이동하여라 라는 뜻이에요!

 

0

0

1

0

0

0

 여기서

          

0

0

1

0

0

0

0

0

이렇게 이동하게 되어 100000이라는 이진수로 표현을 하게 됩니다!

 

이 수를 십진법으로 표현하면 32로 되는 거죠!

 

그래서 8 << 2의 연산 값은 8 -> 32가 됩니다!

 

비교 연산자

 

>, <, >=, <=, ==,!=

 

예시로 표현한 것들을 먼저 보시면 대충 감이 오실 거예요!

 

부등호라고 말을 하죠! 왼쪽의 항과 오른쪽의 항의 크기를 비교하는 겁니다!

 

그럼 ==,!= 이것들은 뭘까요!!?

 

== 이것은 양쪽의 항이 같다는 뜻입니다!

 

!= 이것은 양쪽의 항이 다르다는 뜻입니다!

 

여기!=, <=, >= 중에서!, <, >의 순서는 고정 이어야 하고 바뀌면 안돼요!

 

논리 연산자

 

&&, ||,!, &, |, ^, ~

 

논리 연산자는 처음 보셨을 수도 있어요!

 

저는 처음 본 거니까요.. ㅋㅋㅋㅋㅋ

 

이것은 단순한 계산이 아니에요! 

 

논리의 계산이라는 것이죠.

 

&& : AND결합이라고 부릅니다. 양쪽의 항 둘 다 true의 값을 나타낼 때 결괏값이  true의 값으로 나옵니다!

       두 항중 어떠한 항이라도 false가 나온다면 결괏값은 false가 나와요!

       왜 이런 연산이 있는 거지?라고 생각하실 수 있어요.

       이 연산은 주로 로그인 작업에서 쓰인다고 해요! id와 pw가 둘 다 true의 값이 나왔을 때 로그인되도록!!

 

||    : OR결합이라고 부릅니다. 양쪽의 항중 하나라도 true의 값을 나타내면 결괏값이 true로 나와요!

       둘 다 false의 값을 가지고 있다면 결과값이 false로 나오죠!

 

구체적으로 작성할 때는 

 

▶  10 > 8 && 1 + 1 = 2 이런 식으로 표현을 해요! 

 

이 식은  true && ture의 값입니다.

 

&&연산으로 인해 true 값이 결괏값으로 나타납니다!

||연산으로 인해 true 값이 결괏값으로 나타납니다!

 

▶  10 > 8 && 1 + 1 = 3

 

이 식은 true && false의 값입니다.

 

&&연산으로 인해 false값이 결괏값으로 나타나겠지요~? 하지만

||연산으로 인해 true값이 결괏값으로 나타납니다!

 

▶  10 < 8 && 1 + 1 = 3

 

이 식은 false && false의 값입니다.

 

&&연산으로 인해 false값이 결괏값으로 나타납니다!  

||연산으로 인해 false값이 결괏값으로 나타납니다!

 

&&연산 보다 ||연산이 더 관대하다고 볼 수 있겠네요!

 

아 그리고 || 이 문양은 키보드에서 \표시이거나 shift + \ 로 된 것을 말해요! 

 

그냥 들어선 이해가 힘드실 수 있으니 예를 들어 말씀드릴게요!

 

!  :  이 연산자는 정반대의 값을 도출한다는 뜻이에요. 논리 연산자라서 값은 true 나 false 로만 나와요!

      !(1 + 1 = 2)로 나타냈을 때에는 true값의 반대인 false값이 나오죠!

 

& : 양쪽의 항 모두가 1의 값일 때에만 결괏값이 1로 나온다. 그 외에는 0이 나온다.

 

|  : 양쪽의 항 중에서 한쪽의 항이라도 1 값을 가지고 있으면  1이 결괏값으로 나온다. 그 외에는 0을 얻는다.

 

^ : 양쪽의 항의 값이 서로 다를 때에만 결괏값이 1이 나온다. 같을 때는 0의 값이 나온다.

 

그럼 여기서 의문이 드는데

&&, || 와 &, |를 같이 쓰면 되는데 왜 두 개씩이나 써서 귀찮게 할까?

 

제가 책을 자세히 읽어보니 &, |는 비트 연산자로 0과 1의 개념으로 들어가야 하는 것 같아요!

 

정확히 저도 구분을 하지 못하겠지만

 

경계선이 살짝 모호한 것 같은 느낌?이라고 해야 할까... &&과 &모두 써도 상관없는 부분이 많더라고요.

 

거의 대부분 두 개씩 쓰다가 에러 나면 에러 구문을 읽어보고 수정하는 걸로 합시다!

 

대입 연산자

 

대입 연산자는 값을 저장한다는 느낌으로 가셔야 해요!

 

a = 1  -> a에 1의 값을 저장한다!

 

말 그대로 대입의 개념이죠!

 

이전의 변수의 선언하는 부분에서도 =의 기호를 사용해주었어요.

 

여기서 중요한 것!

 

=과 ==의 차이!

 

=는 값을 지정해준다는 의미이고

 

==은 양쪽의 항을 비교해준다는 의미예요!

 

대충을 알겠는데 꽉 잡히지는 않는 느낌이네요..

 

일단은 =은 변수를 선언해줄 때에만 사용하는 것으로 알고 나머지는 ==을 쓰도록 하죠! 

 

그 외의 기타 연산자가 많아요!! 이것은 좀 더 공부를 한 다음 나올 때마다 추가적 설명을 해드릴게요!

 

3. 연산자의 결합 규칙

 

이것은 우리가 학창 시절에 공부했던 사칙연산과 거의 흡사해요.

 

1. +, - 는 식의 왼쪽부터 차례대로 계산이 돼요.

 

2. *, / 또한 왼쪽부터 차례대로 계산이 돼요.

 

3. +, -, *, / 가 함께 섞여있다면 *, / 가 먼저 연산되고 그다음 +, - 의 연산이 수행돼요 ㅎㅎ 

 

▶ 1 + 2 + 3 =??         답은 6이에요~ 왼쪽부터 차례대로 계산이 되었죠!

 

▶ 2 * 3 / 3 =??           답은 2 이죠~? 2*3의 연산을 수행하여 6값이 나왔고 거기에 3을 나누어서 정답은 2!!

 

그럼 두 가지의 연산이 섞이면!?

 

▶ 1 + 2 * 3 = ??          답은 7이죠~?  *연산이 먼저 수행되고 +연산이 수행되었어요!

 

▶(1 + 2) * 3 = ??          이 답은 6이 될 거예요!! ()로 +를 먼저 수행하라고 표시를 해주어서 +가 먼저 계산된 거예요!!

 

4. 비교 연산자보다 산술 연산자의 우선순위가 높다.

 

산술 연산이 이루어지고 비교가 진행되기 때문에

 

비교 연산자보다 산술 연산자의 우선순위가 높습니다!

 

5. 논리 연산자보다 산술연산자의 우선순위가 높다.

 

논리 연산자는 주로 참과 거짓을 판별하는 것이기 때문에 모든 연산이 이루어진 다음 참과 거짓을 판별하죠!

 

그래서 논리 연산자보다 산술 연산자의 우선순위가 높습니다! (산술 연산이 먼저 이루어진 다음 논리 연산이 된다는 말씀!)

 

 

연산자의 결합 규칙을 총체적으로 보면

 

저희가 일상에서 흔히 하는 계산들을 볼 수 있어요!

 

자바라는 프로그램을 사람이 만들다 보니 사람들이 사용하는 그대로 적용시켰겠지요~?

 

그리고 연산자들의 명칭에 신경 쓰지 마시고 그냥 편하게 사용하시면 되실 거 같아요!

 

이번 공부 끝!

 

---------------------------------------------------------------------------------------------------------------------

 

이번 시간도 수고하셨어요!

 

오늘 수업은 우리가 일상에서 자주 다루는 것들을 보아서 비교적 쉬웠다고 생각이 드는데요!

 

다음 시간은 실제로 자바 이클립스에서 컴퓨터에게 연산을 시켜보는 시간을 가져보겠습니다 ㅎㅎ

 

글을 읽으시다가 궁금한 점, 잘못된 점이 보이시면 언제든지 댓글로 써주시면 감사해요!!

 

제 글을 읽어주셔서 정말 정말 감사합니다.

 

지금까지 최고왕이었습니다.

 

 

728x90
300x250

'학교공부 > 자바의 왕!' 카테고리의 다른 글

[#6]반복문  (0) 2019.06.22
[#5]조건문  (0) 2019.06.10
[#4 연산] 컴퓨터에게 일을 시켜보자  (1) 2019.05.14
[#3] 변수란?  (0) 2019.05.13
[#2.1 자바보충] 짚지못한 부분!  (0) 2019.05.13
[#2] 자바의 기초!  (0) 2019.05.09
1 Comments
댓글쓰기 폼