생활코딩 - Java(비교와 Boolean)
·
Java & Spring/Java
1. Boolean 불린(Boolean)은 참과 거짓을 의미하는 데이터 타입으로 bool이라고도 부른다. 불린은 정수나 문자와 같이 하나의 데이터 타입인데, 참을 의미하는 true와 거짓을 의미하는 false 두 가지의 값을 가지고 있다. 아래는 비교 연산자들에 대한 설명이다. □ 비교(관계) 연산자 연산자 설명 == 같다 != 다르다 >, , =
생활코딩 - Java(연산자)
·
Java & Spring/Java
1. 산술연산자 + 더하기 - 빼기 * 곱하기 / 나누기 % 나머지 3번의 경우 a형태가 int이므로 float 형식으로 자동 형변환 실시 후 연산 2. 단항연산자 1+2에서 사용한 연산자 +는 이항(二두이 項항목항, infix operator) 연산자이고, 좌항인 1과 우항인 2를 더해주는 작업을 하고 있다. 단항(單홑단 項항목항, unary) 연산자는 하나의 항을 대상으로 연산이 이루어지는 연산자이다. 다음은 자바에서 제공하는 단항 연산자들이다. 3. 연산의 우선순의(참고만) 우선순위 연산자 결합방향 1 [ ] → () . 2 ++ ← -- +(양수) -(음수) ~ ! (type) new 3 * / % → 4 +(더하기) -(빼기) → +(문자 결합 연산자) 5 >>> 6 = instanceof..
생활코딩 - Java(데이터타입, 형변환)
·
Java & Spring/Java
1. 정수형 데이터 타입 메모리의 크기 표현 가능 범위 byte 1 byte -128 ~ 127 short 2 byte -32,768 ~ 32,767 int 4 byte -2,147,483,648~2,147,483,647 long 8 byte -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 2. 실수형 float 4byte ±(1.40129846432481707e-45 ~ 3.40282346638528860e+38) double 8byte ±(4.94065645841246544e-324d ~ 1.79769313486231570e+308d) 3. 문자 char 2byte 모든 유니코드 문자 4. 상수의 데이터 타입 int(정수) != 2.2(실수) 이므로 ..
생활코딩 - Java(주석과 세미콜론, 데이터 타입)
·
Java & Spring/Java
1. 주석 주석(comment)은 로직에 대한 설명이나 코드를 비활성화 할 때 사용한다. 주석은 프로그래밍적으로 해석되지 않는다. 한줄 주석 : // 역슬래쉬 두개 사용 여러줄 주석 : /* 와 */ 사이에 주석처리할 내용 기입 JavaDoc 주석 : /**로 시작하는 주석은 JavaDoc 주석이라고 해서 자바의 문서를 만들 때 사용한다. 2. 세미콜론 세미콜론은 문장(statement)의 끝을 의미한다. 자바에서는 문장의 끝에 세미콜론을 사용하지 않으면 컴파일 에러가 발생한다. 1. 정수형 데이터 타입 메모리의 크기 표현 가능 범위 byte 1 byte -128 ~ 127 short 2 byte -32,768 ~ 32,767 int 4 byte -2,147,483,648~2,147,483,647 lon..
생활코딩 - Java(변수)
·
카테고리 없음
1. 변수의 선언 int a; 위의 구문은 변수 a를 지금부터 사용하겠다고 변수를 선언한 것이다. 변수 a 앞에는 int라는 키워드가 있다. 이 키워드는 integer의 약자로 한국어로는 정수라는 의미다. 정수는 0을 중심으로 -1, -2, -3과 같은 음수와 1, 2, 3과 같은 양수를 통틀어서 정수라고 한다. 위의 코드는 변수 a가 정수를 담는 그릇임을 명시한 것이다. 이 변수를 사용하는 입장에서는 이 변수 안에 들어있는 데이터가 틀림 없이 정수라는 것을 확신 할 수 있게 된다. a = 1; 좌항의 변수 a의 데이터가 1이라는 의미다. a에 숫자 1을 대입한 것이다. 이제부터 a 안에는 1이 들어있다. 이러한 것을 변수 a에 숫자 1을 할당했다고 한다. 위의 실습 결과는 각각 2와 3이 출력될 것이다..
생활코딩 - Java(숫자와 문자)
·
Java & Spring/Java
1. 숫자 자바에서는 따옴표가 없는 숫자는 숫자로 인식한다. System.out.println(1+2); 결과 : 3 System.out.println(1.2+1.3) 결과 : 2.5 System.out.println(2*5); 결과 : 10 → 곱하기를 할 때는 *(에스터리스크, Asterisk, 키보드 자판상으로 숫자 8 위)를 사용한다. System.out.println(6/2); 결과 : 3 → 나누기를 할 때는 /(슬래쉬, slash, 키보드 자판상으로 오른쪽 shift 키 왼쪽)를 사용한다. 2. 문자와 문자열 자바는 문자(Character)와 문자열(String)을 구분한다. 문자는 한 글자를 의미하고, 문자열은 여러 개의 문자가 결합한 것을 의미한다. System.out.println('생..
자료구조 - 힙(heap)
·
이론공부
힙(heap) : 데이터에서 최대값과 최소값을 빠르게 찾기 위해 고안된 완전 이전 트리 ※ 완전 이전 트리 : 노드를 삽입할 때 최하단 왼쪽 노드부터 차례대로 삽입하는 트리 힙을 사용하는 이유 배열에 데이터를 넣고, 최대값과 최소값을 찾으려면 O(n) 이 걸림 이에 반해, 힙에 데이터를 넣고, 최대값과 최소값을 찾으면, 𝑂(𝑙𝑜𝑔𝑛)이 걸림 우선순위 큐와 같이 최대값 또는 최소값을 빠르게 찾아야 하는 자료구조 및 알고리즘 구현 등에 활용됨 □ 힙의 구조 힙은 최대값을 구하기 위한 구조 (최대 힙, Max Heap) 와, 최소값을 구하기 위한 구조 (최소 힙, Min Heap) 로 분류할 수 있음 힙은 다음과 같이 두 가지 조건을 가지고 있는 자료구조임 각 노드의 값은 해당 노드의 자식 노드가 가진 값보다..
자료구조 - 트리(tree)
·
이론공부
트리(tree) : Node와 Branch를 이용해서, 사이클을 이루지 않도록 구성한 데이터 구조 → 트리 중 이진 트리(Binary Tree) 형태의 구조로, 탐색(검색) 알고리즘 구현을 위해 많이 사용됨 1-1 알아둘 용어 : Node: 트리에서 데이터를 저장하는 기본 요소 (데이터와 다른 연결된 노드에 대한 Branch 정보 포함) Root Node: 트리 맨 위에 있는 노드 Level: 최상위 노드를 Level 0으로 하였을 때, 하위 Branch로 연결된 노드의 깊이를 나타냄 Parent Node: 어떤 노드의 다음 레벨에 연결된 노드 Child Node: 어떤 노드의 상위 레벨에 연결된 노드 Leaf Node (Terminal Node): Child Node가 하나도 없는 노드 Sibling ..
자료구조 - 해쉬 테이블(hash table)
·
이론공부
해쉬 테이블(hash table) : 키(Key)에 데이터(Value)를 저장하는 데이터 구조 장점 데이터 저장/읽기 속도가 빠르다. (검색 속도가 빠르다.) 해쉬는 키에 대한 데이터가 있는지(중복) 확인이 쉬움 단점 일반적으로 저장공간이 좀더 많이 필요하다. 여러 키에 해당하는 주소가 동일할 경우 충돌을 해결하기 위한 별도 자료구조가 필요함 주요 용도 검색이 많이 필요한 경우 저장, 삭제, 읽기가 빈번한 경우 캐쉬 구현시 (중복 확인이 쉽기 때문) for i in range(10)은 반복문입니다. 이것은 0부터 9까지의 정수를 순회하는 반복문입니다. 이 코드는 각 숫자를 반복하는 데 사용되며, 순회되는 숫자는 변수 i에 할당됩니다. i for i in range(10)은 리스트 컴프리헨션입니다. 이것은..
자료구조 - 알고리즘 복잡도
·
이론공부
알고리즘 복잡도 필요성 : 다양한 알고리즘 중 어느 알고리즘이 더 좋으니를 분석하기 위해, 복잡도를 정의하고 계산함 복잡도 계산항목 - 시간 복잡도 : 알고리즘 실행속도 - 공간 복잡도 : 알고리즘이 사용하는 메모리 사이즈 알고리즘 성능 표기법 Big O (빅-오) 표기법: O(N) 알고리즘 최악의 실행 시간을 표기 가장 많이/일반적으로 사용함 아무리 최악의 상황이라도, 이정도의 성능은 보장한다는 의미이기 때문 Ω (오메가) 표기법: Ω(N) 오메가 표기법은 알고리즘 최상의 실행 시간을 표기 Θ (세타) 표기법: Θ(N) 오메가 표기법은 알고리즘 평균 실행 시간을 표기 ※ 시간 복잡도 계산은 반복문이 핵심 요소임을 인지하고, 계산 표기는 최상, 평균, 최악 중, 최악의 시간인 Big-O 표기법을 중심으로..