오늘은 뭘 하려나.. 두근두근...
: 잘 사용ㄴㄴ 그래서 실습 안 함. 굳이 안 외워도 됨.
1이 참이고 0이 거짓.
세로 계산으로 and랑 or연산자로 돌려 비트 값 도출.
가령,
00000011 =3
00001010 =10
ㅡㅡㅡㅡㅡㅡㅡㅡ
00001011 =11
Exclusive OR (EXOR) :양쪽이 같으면 0 다르면 1.
00000011 =3
^00001010 =10
ㅡㅡㅡㅡㅡㅡㅡ
00001001 =9
not은 ~표시 해주면 됨. 반대로 하는 것임.
00000111
~
11111000
:얘도 잘 안 씀. 원리만 알고 넘어가삼
<<, >>:부호비트는 shift되지 않음.
음/양수가 달라지면 안 돼서.
가령,
00001111 =15 <<를 하시오.
00011110 =30 -> 15의 배가 됨. 또 <<하면
00111100 =60 -> 30의 배가 됨. >>하면
00011110 =30 -> 60의 반이 됨.
00001111 =15 -> 30의 반이 됨.
0000111 =7 ->홀수 일때는 뒤의 비트는 짤려서 나머지가 되고 몫이 7이 됨.
'>>>, <<<' : 부호비트도 shift됨.
: 수학에서 배웠던 거랑 똑같음 - 자바 책 87p
1)선연산자: 괄호 (), []
2)단항 연산자: 항이 하나
3)산술 연산자: 오칙연산
4)비교 연산자: <, >, ==
5)논리 연산자: &&,||
;(세미콜론)안 쓰도록 주의! 가정문을 여기에서 끝냅니다~ 라는 의미가 되기 때문에 가정문은 끝까지 조건이 맞나 봐야되잖니!
if(조건식){ a } : 조건식의 결과 값이 참이면 a실행, 거짓이면 실행ㄴㄴ
*연습문제*
//사용자로부터 숫자 하나를 입력받아 홀수인지 짝수인지 구별하시오.
//사용자로부터 영자(대소문자 중 하나) 또는 숫자(0~9까지만)를 입력받아 영자이면 문자입니다 숫자면 숫자입니다를 출력하시오.
if(조건식1){ a } else if(+조건식2){ b } else { c }
조건식은 항상 if 옆에만 들어감. else 옆에는 조건식 올 수 없음.
*연습문제*
//사용자로부터 숫자 한 개를 입력받아 0, 음수, 양수를 if~else문으로 출력하시오.
중첩 if문
: if가 몇 개가 들어가든 상관없음.
대신에 중괄호 넣어주면서 헷갈리지 않게 중첩시켜야 함.
*연습문제*
//점수(0~100)를 입력받아서 70점 이상이면 합격 그 중에서도 90점 이상이면 장학생, 그 나머지는 축하합니다, 70점 미만이면 불합격을 중첩 if문으로 출력하시오.
//중첩 if를 이용하여 A+, A-, B+, B- 출력하시오.
//각 월마다의 사계절을 할당하고 여름에는 35도 이상이면 폭염주의보, 40도 이상이면 폭염경보 / 겨울에는-10도 이하이면 한파주의보, -20도 이하이면 한파경보를 출력하시오.
:if로 쓰기엔 경우의 수가 너무 많아서 조건식 하나로 처리할 때 사용하려고 할 때 씀.
if는 범위의 부분을, Switch case는 몇 가지인지 정해져있는 부분으로 씀.
Break 를 쓰면 맨 마지막 괄호로 빠져나옴.
Break가 없으면 조건에 맞는 식부터 아래로 쭉 모두 다 실행하게 됨. 조건이고 뭐고 없는 거임ㅋㅋ
Switch는 무조건 { }씀. 왜냐면 무조건 case(상황)이 여러개니까!!
case 쓰고나서 번호지정할 때 무조건 띄어써줘야함!!!! case로 인식해야되기 때문.
case ■ 1 :
콜론이 있는 곳은 case를 중복으로 쓸 수 있음.
int num = 7;
switch(num) {
case 1 : case 7 :
case 6 :
System.out.println("A반");
break;
// case 1도 case 6도 case 7도 모두 A반이 됨.
*연습문제*
// 달월을 입력받아 switch case문으로 사계절을 출력하시오.
// 사용자로부터 오칙연산(+,-,*,/,%)과 숫자2개를 입력받아 switch case문으로 출력하시오.
*shift + Tap : 앞으로 밀 수 있음
드래그해서 문단 단위로도 가능.