본문 바로가기

ALGO

[JAVA] 파이썬으로 JAVA 익히기

따옴표

- 작은따옴표는 일단 안쓰는 걸 추천

작은따옴표('): char 타입 (한글자)

큰따옴표("): String 타입 (문자열)

 

if-else 문

- elif는 없음

if (조건식1) {
    // 조건식1이 참일 때 실행되는 코드
} else if (조건식2) {
    // 조건식2가 참일 때 실행되는 코드
} else {
    // 모든 조건이 거짓일 때 실행되는 코드
}

 

연산자

- 정수간 나눗셈(/)은 정수(int)로 반환

- 's1 == s2' 대신 객체나 문자열은 's1.equals(s2)' 사용

- 'and'는 '&&', 'or'은 '||'

- 증가 연산자, 삼항 연산자도 있으니 익숙해지면 사용할 것

 

자료형

- Java는 자료형(int, String등) 선언해야함

- var 타입을 통한 타입 추론 지원

- Integer.parseInt() 문자열을 정수로

- Double.parseDouble("123.45") 문자열을 실수로

- Integer.toString(123) 정수를 문자열

 

for문

for (초기화; 조건식; 증감식) {
    // 반복할 코드
}
for (자료형 변수명 : 배열 또는 컬렉션) {
    // 반복할 코드
}

 

 

배열의 길이

int length = numbers.length; // 배열의 길이를 구함

 

출력

System.out.print(): 줄바꿈 없이 출력

System.out.println(): 자동으로 줄바꿈

 

Arraylist

- import java.util.List;

- import java.util.ArrayList;

- List<String> list = new ArrayList<>(); 

- list.add("apple");

- String fruit = list.get(0);  // "apple"

- list[0]은 배열이 아니라 안됨!!!

- int size = list.size();  // 리스트의 크기

- list.remove(1);  // 두 번째 요소 삭제 ("banana")

- boolean hasApple = list.contains("apple");  // true

- list.clear();  // 리스트 비우기

- list.isEmpty();

- 배열과 달리 크기가 정해져 있지 않고 동적임

-  Integer[] array = list.toArray(new Integer[0]);  // 리스트를 배열로 변환

 

정렬

- Array.sort(배열)

- Collections.sort(리스트)

- 내림차순은 Arrays.sort(arr, Collections.reverseOrder());

 

HashMap

- import java.util.HashMap;

- HashMap<String, Integer> map = new HashMap<>(); 키와 값의 자료형 선언

- put(K key, V value)

- get(Object key)

- containsKey(Object key)  존재하는지 확인

- remove(Object key)

- keySet() 모든 키

- values() 모든 값

- size()

- isEmpty()

PriorityQueue

- import java.util.PriorityQueue;

- PriorityQueue<Integer> minHeap = new PriorityQueue<>();

- PriorityQueue<Integer> maxHeap = new PriorityQueue<>(Collections.reverseOrder()); 최소힙은 이렇게

- add()

- peek() 반환만

- poll() 반환 후 제거

- remove() 특정값 제거

- isEmpty()

- size()

 

문자열

- .split(" ")

 

기타

- 자동 boolean 변환 없음

- 문자열 더하기 가능, 숫자도 자동으로 문자열로 변환

- 객체, 배열, 리스트는 new로 선언, String은 예외적으로 없이 가능, 배열 리터럴도 가능