Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

밤빵's 개발일지

[TIL]20240618 논리연산자가 왜 헷갈리는걸까 본문

개발Article

[TIL]20240618 논리연산자가 왜 헷갈리는걸까

최밤빵 2024. 6. 19. 00:03

JAVA문법 종합반 2주차 강의 듣기 시작! 

 

▶ 논리 연산자

 boolean Type (true or flase)

(매번 복습 때 마다 느끼는거지만, && 와 ||를 많이 헷갈려해서 이번 기회엔 잡고 가야지!!)

 

 →&& (AND) : 그리고

 피연산자가 모두 true면 true!

 

위에 flag1, flag2를 true로, flag3을 false로 선언해주었다.

그리고는 둘 다 true여야 true 이젠 기억해야지 꼭! (자꾸 ||랑 바꿔서 기억한다 망충이..ㅠ)

 

→ ||(or) : 또는 ( 이건 shift + \ (원화표시) x 2 를 해주면 된다!)

 피연산자 중 하나라도 true면 true!

 

→!(NOT) : ex) 값이 true면 false → 논리부정연산자

밑에 두 줄 처럼 숫자를 비교하려면 꼭 () 감싸주고 !를 써야한다. 

 

#&&과 ||를 쓸 떄는 항상 ((5 > 3) || (3 > 1)) 두개씩 적어주어야한다.

ex) (1 < 3 < 5) 불가능! 

 

▶ 삼항연산자 

 비교연산자와 항상 함께 쓰인다.

 비교연산자의 결과 : true or false → 이 결과의 값에 따라 결정되는 무언가

 →조건 > true : false;

 

▶ 연산자 우선순위

[ 산술 > 비교 > 논리 > 대입]

 연산자가 여러개 있을 때는 우선순위가 있기때문에,  위 우선순위에 따라서 최종적인 값이 결정된다.

 

▶ 비트연산

  0,1은 2진수의 값

 자릿수를 왼쪽으로 옮기는 횟수만큼 2의배수로 곱셈 연산과 동일,

 오른쪽으로 옮기는 횟수만큼 2의 배수로 나눗셈 연산과 동일하다.

3을 왼쪽으로 2만큼 옮겨주면 8+4 = 12 출력.

3을 왼쪽으로 1만큼 옮겨주면 4+2 = 6 출력.

 

▶ if 문 (조건문)

 특정 조건에 따라 다른연산을 수행하고 싶을 때 사용한다.

 if문에서 else, else if 로 해결할 수 없는 복잡한 조건이라면, 중첩해서 사용이가능하다.

if () {

} else if () {

} else {

}

 

▶ Switch(피연산자) / case(조건) (조건문)

 if와 같은 조건문

switch 는 case:에 하나씩 넣어주어야하고 break;를 잡아주어야한다. 안잡아주면 계속 흐른다.

그리고 마지막엔 default: 해주기

 

▶ if 와 switch 의 차이

 switch 문은 if문 보다 가독성이 좋은 표현식이다. if문은 복합 조건 () 안에 여러개를 지정해서 수행할 수 있고, 

 switch문은 피연산자 한 개에 대한 조건만 수행한다. if문은 코드중복이 많고, switch문은 코드중복이 적다.

 

▶ 애증의 반복문 (1) for 문 

 for ( 초기값 ; 조건문 ; 증가연산) {}

일단 index는 0으로 기억해두는걸로! 조건이 참(true)이여야 실행된다. 

 

→ 향상된 for문

그냥 for문에서는 () 안에 3개가 들어가던 걸 2개로 줄었다.

number을 통해 배열안의 숫자를 출력할수 있다.

 

▶ 애증의 반복문 (2) while, do- while

 for과 같은 반복문이다.

() 안에 조건만 들어간다. 

for문을 찢어놓은 것 처럼(?) 위에 초기값을 선언해주고 ()안에 조건을 넣어준다.

그리고 그 밑 로직에 number++; 처럼 증가연산을 넣어준다.

 

→ do -while

먼저 수행할 로직을 do 안으로 입력해주고 

그 다음 수행할 조건을 while에 넣어준다. while의 조건에 따르면 4는 출력 될 수 가 없는데, do로 먼저 수행되기 때문에  4만 출력이 되고 끝이난다. 

 

▶ break, continue

→ break (깨부수다) : "중단"명령

break 위의 조건에 따라 해당하게되면 종료된다. 

바깥 반복문은 1번 출력되고, 안쪽 반복문은 i의 수에 따라서 출력된다.

바깥 반복문은 1번 출력!

→ continue (계속하다) : 반복문에서 해당 순서를 패스하고싶을때 사용하는 명령 

 조건에 해당되면 하위로직을 수행하지 않기 때문에 1과 3만 출력이된다. 

 

😍오늘의 회고

 - 선택과정에서 부터 2주차 강의를 이해하기가 굉장히 어려웠다. 복습을 해도 조건문과 반복문을 수행하지 못했는데, 오늘 if 가위바위보를 완벽히 만들게 되서 다행이다( 굉장히 쉬운 예제이긴 하지만...) 아직 반복문은....... 잡지 못해서 for문을 연습하기 위해 피라미드 별찍기를 하고있다(for문이 너무 안 된다고 털어놓자 전공자이신 팀원분께서 조언을 해주셨다). 초기값; 조건 ; 증가연산 알아도 조건 부분에서 틀리곤해서 아직 피라미드는 완성전....ㅠ 오늘 2주차 강의를 다 들을 생각이였지만, 많이 쓰이는 만큼 for문을 잡고가기로 결정했다. 사전과정에서 복습했을때도 이해되는둥 마는둥했는데 이번에는 이해하고싶다 ㅠㅠ....

 

(+)추가 

제 반쪽짜리 피라미드를 소개합니다!

지금 만들러갑니다.....