오히려 오늘배운 연산자와 조건문은 재미있었다.
뭔가 내가 생각한 대로 코드의 흐름이 흘러가는 것이 신기 했고, 더 복잡한 것도 얼른 해보고싶다는 생각이 들었다.
앞으로도 흥미를 잃지 않고 꾸준히 하고 싶다.
# 연산자 (Operator)
- 산술 연산자, 증감연산자, 복합 대입 연산자, 비교 연산자를 활용할 수 있다.
- 연산자의 우선순위를 이해한다.
# 콘솔 입출력 (I/O)
- 콘솔 출력 메서드 들의 차이를 이해하고 활용할 수 있다.
- Scanner 를 활용하여 문자열 데이터를 입력 받을 수 있다.
# 제어문 (Control Flow Statements) - 조건문
- if, else if, else, swich를 이해하고 활용할 수 있다.
- 논리연산자를 활용하여 복잡한 조건을 간결하게 작성 할 수 있다.
- 조건문 연습문제로 체계적인 문제해결방법을 배운다.
1. 산술 연산자
- + - * / %
: 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지(모듈로)
→ 수학연산과 거의 동일
→ 나눗셈과 곱셈 연산자의 우항에는 0이 위치할 수 없음
→ 나눗셈 연산자는 좌항과 우항이 모두 int 형이면 int 형으로 결과값 출력 / 하나라도 실수 타입이면 실수타입 결과값 출력
- + , -
: num1 = num1+1;
→ num++; // 후위형 증감 연산자 (기존의 값을 적용하고 증감연산 수행)
→ ++num; // 전위형 증감 연산자 (증감연산을 수행하고 기존의 값을 적용)
→ 1씩 증가시키거나 감소시키고자 하는 상황에서 사용
-복합 대입 연산자
: num1 += 2;
: num2 -= 3;
→ 1이 아닌 값을 증감 시키고자 하는 상황에서 사용
2. 비교 연산자
- 대소 비교 연산자
: > >= <= <
→ boolean 을 제외한 기본 타입에 모두 사용 가능
→ 이항 비교만 가능
→ 그 외 1 < x && x < 5 로 사용
- 등가 비교 연산자
: == !=
→ 모든타입에 사용 가능 (단, 같은 타입끼리만 사용가능)
→ 값이 같으면 true, 다르면 false를 반환
3. 논리 연산자
→ 공통적으로 boolean 타입을 반환
- &&
: AND 연산자
→ 피 연산자 두 개가 모두 true 일 때 true를 반환
→ 하나라도 true가 아니면 false를 반환
- ||
: OR 연산자
→ 피 연산자 중 하나라도 true 일 때 true를 반환
→ 피 연산자 모두 false라면 false를 반환
- !
: NOT 연산자
→ true와 false를 바꾸는 연산자
→ !true == false / !false == true / !!true == true 모두 true
4. 연산자 우선순위
- 연산자 우선순위
1 | (), [] | 괄호, 대괄호 |
2 | !, ~, ++, -- | 부정 / 증감 연산자 |
3 | *, /, % | 곱셈 / 나눗셈 연산자 |
4 | <, <=, >, >= | 대소 비교 연산자 |
5 | && | AND 연산자 |
6 | || | OR 연산자 |
7 | ? : | 조건 연산자 |
8 | =, +=, -=. /=. &= | 대입 / 할당 연산자 |
* 참 또는 거짓 ? 참일 때 : 거짓일 때
int num = (A && B) ? C : D;
→ A와 B가 같다면 C
→ A와 B가 같지 않다면 D
1. 출력
- System.out.print()
: 괄호 안의 내용 단순 출력, 줄바꿈 X
- System.out.println()
: 괄호 안의 내용 출력후 줄바꿈
- System.out.printf()
: 지정한 지시자 형식대로 출력
%b | 불리언 |
%d | 10진수 |
%o | 8진수 |
%x, %X | 16진수 |
%c | 문자 |
%s | 문자열 |
%n | 줄 바꿈 |
1. 입력
- import java.util.Scanner;
: java.util에 있는 Scanner 클래스 가져오기
-
Scanner scanner = new Scanner(System.in);
String inputValue = scanner.nexLine();
: Scanner 클래스 인스턴트 생성 / 입력한 내용이 inputValue에 저장
- System.out.println(input Value);
: 입력한 문자열 출력
1. if 문 / if..else문
: if문의 결과값은 true/false 두가지 이다.
- if (조건식) {
조건식이 참 이라면 실행
}
- if (조건식 1) {
조건식이 참 이라면 실행
} else if (조건식 2) {
조건식1 이 참이 아니고 조건식 2가 참 일 때 실행
} else {
조건식 1과 2가 모두 참이 아닐때 실행 / 생략가능
}
2. Switch 문
: 변수의 값에 따라 실행문 선택 / if문보다 간결한 코드
2. 연습문제
if (!grade.equals("F")) { // grade가 F와 같다면 실행
int extra = score % 10; // score를 10으로 나누고 남은 값이 extra
if (extra <= 2) { // extra가 2보다 작거나 같다면
grade = grade + "-"; // grade- 로 출력
} else if (extra >= 8) { // extra가 8보다 크거나 같다면
grade = grade + "+"; // grade+로 출력
}
1. Read, Write, Execute 권한
- 처음 보는 개념이라 이해하기가 힘들었다. 한번봐서는 어려워서 읽고 쉬고 읽고 쉬고 세번쯤 반복했더니 그래도 머리에 들어왔다. 물론 완벽히 알진 못하지만 다음에 또 보면 더 잘 알 수 있을 듯 하다.
2. 인자 : 프로그래밍 언어에서 함수 호출 시 함수에 전달되는 값. 인수나 전달인자라고도 부른다.
함수 값? 호출값?
3. CLI 명령어 더 알아보기
# 제어문 (Control Flow Statements) - 반복문
# 배열 (Array)
# 계산기 만들기
↓ 이전 글 ↓
↓ 코트스테이츠 부트캠프 관련 글 한번에 보기 ↓
[코드스테이츠] 04_20_TIL : JAVA 다섯번째 _ 배열 (1) | 2023.04.20 |
---|---|
[코드스테이츠] 04_19_TIL : JAVA 세번째 _ 반복문 (0) | 2023.04.20 |
[코드스테이츠] 04_17_TIL : JAVA 첫번째 _ 변수/타입, 문자열 (0) | 2023.04.17 |
[코드스테이츠] 04_14_TIL : Git (0) | 2023.04.14 |
[코드스테이츠] 04_13_TIL : 리눅스 맛보기 & 개념 정리 (0) | 2023.04.13 |