아니 오늘 차 왜 그렇게 막혔냐고
진짜 헐래벌떡 뛰어서 수업 정시에 들어감; 출발할 땐 여유있었는데 차 막히면 말짱 도루묵ㅜㅠ
빠르게 자바 수업 시작
연산자
연산자 종류
- 대입연산자
- 부호연산자
- 산술연산자
- 관계연산자
- 논리연산자
산술연산자
산술연산자에는 사칙연산에서 사용하는 연산자 외에 %(나머지)가 있다.
%연산자는 나머지를 구하는 연산자이다.
책에 학생이 30명 있고 방이 10개 그 방의 방 번호가 0~9이고 한 방에 3명씩 배정받는 예시를 들었다.
결과는 0번, 10번, 20번 학생끼리 0번방. 1번, 11번, 21번 학생끼리 1번방. 2번, 12번, 22번 학생끼리 2번방이 된다.
내가 23번 학생이라면 23%10=3으로 계산해서 3번 방을 배정 받게 된다.
정리하면 방 번호 0~9는 10(방 갯수)의 나머지수의 모음이라고 할 수 있다.
일정 범위 안의 수를 사용해야 할 때 %연산자를 쓴다. 나머지 연산자는 프로그래밍에서 굉장히 많이 사용한다고 한다.
산술연산자를 사용해서 총점과 평균 구하기
평균을 구할 때 2를 나누지 않고 2.0을 나눈 이유는 정수끼리 계산을 하면 결과값이 정수가 나오기 때문이다.
예를 들어 소수값이 나오는 5/2를 하면 2.5가 아니고 2가 나온다.
정수에서 실수는 자동형변환이 되니까 실수값으로 나눠야 실수값이 나올 수 있다.
*노란형광펜 - 같은 이름의 변수를 또 사용하려면 자료형을 지우고 사용하면 된다.
*빨간 밑줄 - (double)totalScore / 2로 하면 실수로 값이 나온다.
증가·감소 연산자
증가·감소 연산자는 연산자의 위치에 따라 결과값이 달라지기 때문에 신경써서 써야 한다.
증가된 gameScore가 다음 식에서 유지되어 증가하거나 감소한다.
++, --가 뒤에 붙으면 우선순위가 제일 낮아서 12번째 코드를 해석하자면 첫번째 줄에서 증가한 gameScroe값을 lastScore1에 먼저 대입한 뒤 gameScroe값이 증가하게 된다.
수업 들을 때 조금 헷갈려서 긴가민가 한 상태에서
코드만 써 두고 직접 계산을 해봤더니 정답이였다! 너무너무 뿌듯
관계연산자
관계연산자는 대입연산자보다 우선순위가 높아서 괄호를 쓰지 않아도 되지만 수식이 길어지면 보기 편하도록 괄호를 써주는게 좋다.
*<=, >= 이 연산자들을 =<, => 이렇게 쓰지 않게 주의한다!
논리연산자
참은 1이고 거짓은 0이라고 생각하고 곱하기(&&), 더하기(||) 해보면 된다.
and(&&) | true | false |
true | T | F |
false | F | F |
and연산자는 하나라도 거짓일 경우 거짓
or(||) | true | false |
true | T | T |
false | T | F |
or연산자는 하나라도 참일 경우 참
*java에서는 단어로 and나 or로 쓰지 않지만 sql에서는 and, or과 &&,|| 모두 쓴다.
단락 회로 평가
and 연산자는 앞서 있는 식이 거짓이면 뒤에 있는 수식을 무시하고 결과값을 반환한다.
or 연산자는 앞서 있는 식이 참이면 뒤에 있는 수식을 무시하고 결과값을 반환한다.
이렇게 되면 내가 원하는 값이 나오지 않기 때문에 단락회로가 안 생기게 순서를 잘 생각하고 코드를 짜야한다. 일부러 넣기도 하지만 그건 프로그램에 따라 그렇고 쓸 때 조심해야한다.
복합대입연산자
*띄어쓰기 하면 안 됨! = + (X) =+(O)
조건연산자
사용구문은 조건식 ? 참일 경우 : 거짓일 경우 이다. 간단한 연산이라면 if else문 대신 쓸 수 있다.
조건연산자와 나머지연산자 사용하여 10이 짝수인 경우에는 true, 아니라면 false를 출력하게 만들어봤다.
!= 1이 들어간 자리에는 원래 ==0이 있었다. 다양한 코드를 접하기 위해 노력 중
isEven은 짝수를 의미해서 정석은 ==0이 맞다.
조건연산자와 BufferedReader을 이용해서 프로그램을 만들었다.
'학원 수업' 카테고리의 다른 글
9일차 - SQL '연산하기' (0) | 2021.10.11 |
---|---|
7일차 - SQL '패턴 매칭' (0) | 2021.10.09 |
6일차 - SQL '테이블 구조' (0) | 2021.10.06 |
5일차 - java '형변환' (0) | 2021.10.05 |
4일차 - java '변수' / MySQL 'select ~ from' (0) | 2021.10.05 |