항과 연산자
항
연산에 사용되는 값
예시)
10 + 20 -> 항: 10, 20
int num1 = 10 + 20*3;
= : 연산의 우선순위가 가장 낮다+- : 부호 반전+-*/% 나머지 연산자10 + 2*3 = 16
우선순위 : *, /, % > +, -
우선순위 강제 적용 : (...)
++ : 1씩 증가예시)
int num2 = num++;
ㄴ 대입먼저하고 연산을 나중에
int num2 = ++num;
ㄴ 연산을 먼저하고 대입을 나중에
-- : 1씩 감소>, <=, >, >=== !=참고)
==: 동일성 비교(주소 비교)
자바스크립트의===와 동일하다
예시1)
예시2)
&&예시) 연산자 우선순위: 비교연산 > 논리연산
10이상, 100이하인지를 판별
bollean result1 = num >= 10; - (1)
bollean result2 = num <= 100; - (2)
bollean result = result1 && result2
bollean result = num >= 10 && num <= 100;
||!예시)
num = num + 2;
num += 2;
num *=2;
조건식 ? 참일때 : 거짓일때예시)


참고) 문자열
- String 문자열
- String str = "가나다";
+연산자 : 문자열 결합, 문자 + 숫자, 문자 + 문자, 문자 + 논리값
- char 문자형 -> 문자 한개
- char ch = '가';
if (조건식) {
// 조건식이 참일때 실행되는 코드
}
if (조건식) {
// 조건식이 참일때 실행되는 코드
} else {
// 조건식이 거짓일때
}
if (조건식1) {
// 조건식1이 참일때 실행되는 코드
} else if (조건식2) {
// 조건식1 거짓 + 조건식2 참
} else if (조건식3) {
// 조건식1 거짓 + 조건식2 거짓 + 조건식3 참
} else {
// 모든 조건이 거짓일때
}
switch(키워드) {
case 값1:
//키워드 == 값1 -> 실행되는 코드
case 값2:
//키워드 == 값2 -> 실행되는 코드
}



while(조건식) {
// 조건식이 참일때 반복 수행되는 코드
}
예시)
do {
// 조건식이 참일때 반복 수행되는 코드
// 조건식이 거짓 이라고 하더라도 한번은 실행
} while(조건식);
for (초기화식; 조건식; 증감식) {
// 조건식이 참일때 반복 수행되는 코드
}
for(초기화식; 조건식; 증감식){...}예시)
ㄴ 이거 손 아프다...횟수가 정해진 반복문이니 for문을 쓰자!
참고) 변수명 관례
- 횟수, 순서(index)
- 관례적으로 초기화식 변수명 i 부터 시작하고 다음 알파벳 부터 순서대로 사용
i, j, k, l ....
변수가 2개인 경우
1,3,5,7,9,11,13 ... // 2n + 1 -> 2로 나누었을때 나머지가 1인 경우 -> 홀수
반복문 안에 반복문
예시) 구구단
\n)System.out.println(값); : 출력 + 줄개행(\n)
print(값) : 출력 (줄개행 X)
println() : 줄개행(\n)
printf(형식화)
\n예시)
[] 인덱스 연산자[] : 순서의 위치를 계산할 수 있는 연산자 

ㄴ 동일한 자료형
ㄴ 물리적인 나열구조


ㄴ 4바이트 건너뛰면 다음께 나온다
ㄴ 순서에 대한 위치 예측이 쉽다
자료형[] 배열명 = new 자료형[공간의 갯수]; -> 관례
자료형 배열명[] = new 자료형[공간의 갯수];
참고)
[ ] : 배열 공간의 위치를 계산해 주는 연산자
new : 메모리를 생성하는 연산자
참고)
인덱스 : 0부터 시작하는 순서
예시)

자료형[] 배열명 = new 자료형[] { 값1, 값2, 값3 ....};
자료형[] 배열명 = { 값1, 값2, 값3 .... };
예시1)

ㄴ 배열도 변수이다
ㄴ 음 근데 순서가 있고 반복되네?
-> for문을 쓰자

예시2) 선언과 동시에 초기화


ㄴ 개발자는 코드 줄이기를 좋아해
ㄴ 뒤에 new int 없어도 배열인거 알 수 있잖아
ㄴ 그럼 생략하자ㅏㅏ


참고) 값을 넣지 않으면 설정되는 기본값
- 선언만 하고 값을 넣지 않으면 메모리만 만들어지게 되는데 기본자료형 같은 경우 값을 넣지 않으면 초기값이 대입된다
1) 기본 자료형 : 초기값
- 정수형 자료형(byte, short, int, long) -> 0
- 실수형 자료형(float, double) -> 0.0
- 논리형 자료형(boolean) -> false
예시)
2) 참조 자료형
- String -> 초기값 null
자료형
1) 기본 자료형
숫자를 담는 변수에 크기
2) 참조 자료형
주소값을 담는 변수의 자료형
참고) 편의기능
JDK(Java Development Kit)
java.util 패키지 : 편의 기능 모음
- Arrays : 배열의 편의 기능 모음
- java.util.Objects: 객체의 편의 기능 모음
- java.util.Collections: 컬렉션의 편의 기능 모음..
- java.util.stream.Collectors : 스트림의 데이터 수집 편의 기능 모음
-> 뒤에 s가 붙어있다 = 편의기능이다
import java.util.Arrays
ㄴ 이렇게 가져와야지 편의기능을 쓸 수 있다??

↓ for문에 이용하자

하지만 관례적으로 아래식(미만)으로 쓰는게 베스트

for문 너무 길어...
향산된 for문 써서 코드 좀 줄여보자 = 향상된 for문
for (각각 요소 : 배열(컬렉션)) {
}

ㄴ 배열에 있는 요소를 하나씩 꺼낸다

향상된 for문도 너무 길어...
Stream을 쓰면 한줄이면 가능

혹은
편의기능을 쓰자


자료형[][] 배열명 = new 자료형[행][열];
예시)

↓

ㄴ 모두 int로 되어있는 동일한 크기의 연속된 공간
ㄴ 해석:
[0][0] 0번째 행 0번째 열
[0][1] 0번째 행 1번째 열
자료형[][] 배열명 = new 자료형[][] { {값1, 값2, 값3}, {값1, 값2, 값3} };
↓ 앞에 식만 봐도 배열인거 아니까 뒤에 new 자료형[][] 이건 생략하자
자료형[][] 배열명 = { {값1, 값2, 값3}, {값1, 값2, 값3} };

예시) length_행의 갯수, 열의 갯수

예시) length를 for문에 활용
① 행(0행, 1행)

② 열

자료형 [][][] 배열명 = new 자료형 [높이][가로][세로];