◇ 연산자
https://djhelloworld.tistory.com/24
생활코딩 - Java(연산자)
1. 산술연산자 + 더하기 - 빼기 * 곱하기 / 나누기 % 나머지 3번의 경우 a형태가 int이므로 float 형식으로 자동 형변환 실시 후 연산 2. 단항연산자 1+2에서 사용한 연산자 +는 이항(二두이 項항목항, in
djhelloworld.tistory.com
- 증감연산자[++, --]
위 코드에서 int val = ++a + b--; 는 다음과 같이 진행된다.int a = 10; int b = 10; int val = ++a + b--;
- 형변환연산자[ (type) ]
double doubleNumber = (double) 93 + 98.8; // 93.0 + 98.8
- 삼항연산자[ a 조건 b ? true : false]
위와같이 사용하며 ' ? ' 앞 조건이 true이면 ' : ' 앞에있는 명령을, false면 뒤에있는 명령을 진행함a > b ? a : b
만약 위 a > b ? a : b의 식에서 a > b가 true라면 a가 false라면 b가 실행됨 - 시프트연산자[ <<, >> ]
위와같이 시프트 연산자는 해당 숫자의 2진표현을 말 그대로 움직인 후 반환하는 연산이다.a = 5 a << 1 = 10 // 5 = 0101, 10 = 1010 a >> 1 = 2 // 5 = 0101, 2 = 0010
◇ 조건문과 반복문
https://djhelloworld.tistory.com/26
생활코딩 - Java(조건문, 논리연산자, 반복문)
□ 조건문 1. if 조건문 □ 기본 □ if else, else if □ if 중첩 2. switch 조건문 □ 논리연산자 1. and( && ) &&(and)는 좌항과 우항의 값이 모두 참(true)일 때 참이 된다. 2. or( || ) ||(or)는 좌우항 중에 하나라
djhelloworld.tistory.com
◇ 배열
https://djhelloworld.tistory.com/30
생활코딩 - Java(배열)
1. 배열(Array) String[] : String(데이터타입) [](의 그룹) classGroup : 변수 2. for-each 잦은 반복문과 배열의 조화로인해 생겨난 문법 배열 members의 모든 요소들을 반복하여 변수 e에 대입 3. 반복문의 오류
djhelloworld.tistory.com
- 배열을 특정값으로 초기화 : Arrays.fill(arr, val) → arr배열의 모든 값을 val으로 초기화
- 얕은 복사 : 배열은 참조형 변수이며 실제 값이 아닌 실제 값의 주소값을 가진다, 따라서 배열 변수 간에
대입 연산자 ' = '를 사용해서 복사를 하게 되면 주소값만 복사된다.
int[] a = { 1, 2, 3, 4 }; int[] b = a; // 얕은 복사 b[0] = 3; // b 배열의 0번째 순번값을 3으로 수정. (1 -> 3) System.out.println(a[0]); // 출력 3 <- a 배열의 0번째 순번값도 3으로 출력.
- 깊은복사 : 참조가 아니라 진짜 새로운 배열을 똑같이 만드는 명령어들
- for문을 사용한 복사
int[] a = { 1, 2, 3, 4 }; int[] b = new int[a.length]; for (int i = 0; i < a.length; i++) { b[i] = a[i]; // 깊은 복사 }
- .clone() 메서드 사용
int[] a = { 1, 2, 3, 4 }; int[] b = a.clone(); // 가장 간단한 방법. // 하지만, clone() 메서드는 2차원이상 배열에서는 얕은 복사로 동작!!
- Arrays.copyOf(a, a.length)
import java.util.Arrays; public class Main { public static void main(String[] args) { int[] a = { 1, 2, 3, 4 }; int[] b = Arrays.copyOf(a, a.length); }
- for문을 사용한 복사
◇ 컬렉션
※ 컬렉션은 참조형 변수를 저장한다.
크기 자동조정 / 추가 / 수정 / 삭제 / 반복 / 순회 / 필터 / 포함확인 등의 기능을 가지고있다.
https://djhelloworld.tistory.com/50
생활코딩 - Java(Collection framework)
□ Collection framework 구성 - set : 중복을 허용하지 않음(순서가 보장되지 않음)- list : 중복 허용(순서 보장)□ ArrayList배열은 크기를 한번 지정하면 크기를 초과할 수 없지만ArrayList는 크기를 미리
djhelloworld.tistory.com
- List
- ArrayList : 배열처럼 인덱스로 값을 조회할 수 있게 저장
- LinkedList : 메모리 남는 공간을 요청해 여기저기 나누 실제 값을 담아놓고 주소값으로 목록을 구성하고 저장
조회속도는 느리고 값을 중간에 추가 삭제하는건 빠름 - Stack : 데이터를 수직으로 쌓아놓고 넣었다 빼서 조회하는 형식, LIFO(Last-In, First-Out)
- Set
- Queue : 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조
→ FIFO(First-In, First-Out) 또는 LILO(Last-In, Last-Out)방식
인터페이스가 없으므로 위와같이 선언Queue<Integer> intQueue = new LinkedList<>();
- Map
'Java & Spring > Java' 카테고리의 다른 글
8일차 - Java강의(객체지향 ☆) (0) | 2024.07.24 |
---|---|
enhanced switch()문 (0) | 2024.07.24 |
String, StringBuffer, StringBuilder의 차이점 (0) | 2024.07.23 |
Scanner클래스 next()메서드 개행문자 처리 (0) | 2024.07.22 |
6일차 - Java강의(변수, 형변환) (0) | 2024.07.22 |