[ Java 문법 종합반 2주차 ]
[ 연산자 ]
삼항연산자
: 비교 연산의 결과값에 따라 응답할 값을 직접 지정할 수 있는 연산자
(조건) ? (참결과) : (거짓결과)
instance of 연산자
: 피연산자가 클래스의 객체인지 비교하는 연산자
(객체명) instance of (클래스명)
비트 연산
- 왼쪽 : x2
- 오른쪽 : /2
[ 반복문 ]
if vs. switch
차이점 1. if문은 복합 조건을 지원한다 / switch문은 피연산자 한개에 대한 조건만 지원한다
차이점2. if문은 상대적으로 코드중복이 많다 / switch문은 코드중복이 적다
continue
하위 로직을 생략하고, 다음 조건으로 넘어감
[ 배열 ]
복사
- 얕은 복사 : 주소값만 복사되고, 실제값은 1개로 유지되는 것.
⇒ 똑같은 값을 가지게 되는게 아니라, 같은 값을 바라봄!! - 깊은 복사
- 방법1. 반복문을 통해 값을 하나씩 꺼내서 새로운 배열을 생성
- 방법2. 메서드 사용But, 2차원 이상 배열에서는 얕은 복사로 동작함
int[] a = {1,2,3};
int[] b = a.clone();
-
- 방법3. Arrays 메서드 사용
int[] a = {1,2,3};
int[] b = Arrays.copyOf(a, a.length);
[ 컬렉션 ]
- 참조형 변수를 저장함
- .size() 로 타입목록의 길이 조회 가능
List
: 순서가 있는 데이터의 집합
배열은 정적이지만, List는 길이를 몰라도 만들 수 있는 동적임
- ArrayList : 배열처럼 일렬로 데이터 저장, 조회 / 크기 정해져 있지 않고, 필요할 때마다 크기 늘어남
ArrayList<Integer> intList = new ArrayList<>(); //선언
intList.add(1); //'1' 값 추가
intList.set(0, 2); //0번째 값을 '2'로 수정
intList.get(0); //0번째 값 조회
intList.remove(0) //0번째 값 삭제 (뒤의 값들이 빈 곳을 채움)
intList.toString(); //전체 값을 대괄호로 묶어서 출력
- LinkedList : 실제 값을 여기저기 담아두고, 그 주소값으로 목록을 구성하고 저장함
- 조회하는 속도가 느리지만, 값을 중간에 추가하거나 삭제하는 속도는 빠름
- 선언 및 조회 등은 ArrayList와 동일함
Set
: 순서가 없고 중복이 없는 데이터의 집합
Set<Integer> intSet = new HashSet<>(); //선언 : 생성자가 없는 인터페이스
intSet.add(1); //'1' 값 추가
intSet.remove(1); //'1' 값 삭제
intSet.contains(1); //'1'이 있는지 확인 (T/F)
//하나씩 접근하기 위해서 iterator 필요
Set<String> sets = new HashSet<String>();
sets.add("A");
sets.add("B");
sets.add("C");
sets.add("D");
Iterator<String> it = sets.iterator();
while(it.hasNext()) {
String str = it.next();
System.out.println(str);
}
Map
: key - value 구조로 구성된 데이터
- key값은 중복될 수 없음
- key값을 기준으로 value를 조회할 수 있음
Map<String, Integer> intMap = new HashMap<>(); //선언 : <key타입, value타입>
intMap.put ("첫번째", 11);
intMap.put ("첫번째", 12); //"첫번째"에 대한 value는 '12'로 덮어쓰여짐
intMap.get ("첫번쩨"); //key="첫번째" 인 값을 조회함
'스파르타 내배캠' 카테고리의 다른 글
[TIL] #5. Abstract, Interface, Exception (0) | 2024.04.25 |
---|---|
[TIL] #4. 객체지향 프로그래밍 (0) | 2024.04.24 |
[TIL] #2. Java 진짜시작 (0) | 2024.04.22 |
[TIL] #1 (0) | 2024.04.19 |
[프로젝트] 0.미니미니 : 팔로우미_FollowGroove (1) | 2024.04.15 |