Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Java/Seogeurim #10

Merged
merged 9 commits into from
Jan 31, 2021
Merged

Java/Seogeurim #10

merged 9 commits into from
Jan 31, 2021

Conversation

Seogeurim
Copy link
Owner

변경 사항

Issue 참고 : Note Status Check

  1. Java 언어의 탄생 배경과 10가지 특징
  2. Java 플랫폼 및 프로그램 구조
  3. Java 기본 문법
  4. 객체지향의 주요 개념

Point of discussion

틀린 부분 있다면 말해주세요 !

Reference

SWEA JAVA Programming 강의 수강 정리

@Hee-Jae
Copy link
Collaborator

Hee-Jae commented Jan 27, 2021

질문 있습니다!
스크린샷 2021-01-27 오후 12 11 52

자바 논리연산자에서 &와 &&의 차이, |와 ||의 차이가 궁금합니다.
그리고 비트연산자에도 &와 |이 존재하는데 자바에서는 이걸 어떻게 논리연산자랑 구분해서 실행하는지 궁금합니다.

또 "값1 이 false 인 경우 값2를 수행하지 않고 false를 리턴한다." 이 문장은 "값1 && 값2" 일 때만 해당하는 것 같은데,
"값1 || 값2" 랑 같은 문장에 배치 되어 있어 그 의미를 해석하기가 애매합니다.

@Seogeurim
Copy link
Owner Author

@Hee-Jae

1. 자바 논리연산자에서 &와 &&의 차이, |와 ||의 차이가 궁금합니다.

{조건 1} 연산자 {조건 2} 이 경우를 두고 생각해보겠습니다.

논리 연산자를 하나로 표기하면 조건 1, 조건 2에 대하여 T/F 를 모두 검사합니다.
하지만 두개로 표기하면 조건 1에 대한 검사 후 조건 2를 검사할 필요가 없다고 판단되면 하지 않습니다.
그럼 &&인 경우 조건 1이 false면 조건 2를 검사하지 않겠죠.
||인 경우에는 조건 1이 true면 조건 2를 검사하지 않습니다.

그럼 다음과 같은 식이 가능합니다.

Array에서 가장 주의해야 할 런타임 에러는 ArrayIndexOutOfException입니다.
만일 Array의 size가 N이고, index i 에 대하여 valid 검사를 하고 싶다면

  1. if ( (0 <= i && i < N) && arr[i] == 1) : 앞의 조건을 만족해서 arr 인덱스를 벗어나지 않는 것을 확인 후 arr[i] 값 검사
  2. if ( (0 <= i && i < N) & arr[i] == 1) : 앞의 조건과 뒤의 조건 둘 다 검사 -> arr[i] 에서 i가 인덱스 범위 벗어나면 런타임 에러 발생 가능

위의 1, 2 중 1번의 조건식을 써야하는 것입니다.


2. 그리고 비트연산자에도 &와 |이 존재하는데 자바에서는 이걸 어떻게 논리연산자랑 구분해서 실행하는지 궁금합니다.

논리연산자는 피연산자가 boolean 타입일 때 적용되고, 비트연산자는 피연산자가 정수 타입일 때 적용됩니다.


또 "값1 이 false 인 경우 값2를 수행하지 않고 false를 리턴한다." 이 문장은 "값1 && 값2" 일 때만 해당하는 것 같은데,
"값1 || 값2" 랑 같은 문장에 배치 되어 있어 그 의미를 해석하기가 애매합니다.

좋은 지적 감사합니다 !! 이 부분은 고쳐서 커밋하겠습니다 ~!

Comment on lines +197 to +203
### 논리 연산자

- `boolean` 데이터 타입에 적용되며, `boolean` 타입의 결과를 리턴함
- `&`, `&&`, `|`, `||`, `!`
- `값1 && 값2`의 경우, `값1`이 `false`인 경우 `값2`를 수행하지 않고 `false`를 리턴한다.
- `값1 || 값2`의 경우, `값1`이 `true`인 경우 `값2`를 수행하지 않고 `true`를 리턴한다.
- `&`, `|` 연산자는 모든 조건을 다 확인한 후 그 결과를 리턴한다.
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수정하였습니다 !! @Hee-Jae

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오... 이해가 쏙쏙 됐습니다. 전달력이 엄청나시네요!

Copy link
Collaborator

@Hee-Jae Hee-Jae left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

객체 지향의 핵심 개념들이 보기 쉽게 정리되어 있네요. 간단한 참고서로 사용하기에 정말 좋을 것 같아요!
자바를 잠깐 배우고 손 놓은지 오래돼서 거의 까먹었는데 다시 자바를 사용하고 싶은 생각이 들때 좋은 자료가 되겠네요ㅎㅎ

Copy link
Collaborator

@yoongoing yoongoing left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저도 c++ 정리해서 올려야겠어요;; 그 뭐지 이전에 질문이 JAVA랑 C++차이가 뭐냐고 물어서 오답을 말했답니다 껄껄
좋은 내용 감사합니다.

Copy link
Collaborator

@3people 3people left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

플랫폼에 독립적이라는 말을 JVM에서 밖에 못돌리는거 아니야?! 하면서 자바 첨 배울 때 장난처럼 얘기했던게 생각나네요ㅋㅋㅋ 자바는 이상하게 손이 안가서 자바하는 분들 존경합니다!.! 내용 정리 잘 읽었어요

@Seogeurim Seogeurim merged commit d6f9535 into main Jan 31, 2021
@KimKwon
Copy link
Collaborator

KimKwon commented Jan 31, 2021

서그림: 이론*4 => +60점
정희재/윤가영/이세명: PR리뷰 => +5점

@Seogeurim Seogeurim added the score OK Score Board에 점수 반영 완료 label Mar 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
score OK Score Board에 점수 반영 완료
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants