| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- list 컬렉션
- 윤성우의 열혈 자료구조
- R
- 메모리구조
- 이것이 자바다
- insertion sort
- stream
- 윤성우 열혈자료구조
- Serialization
- coding test
- C programming
- 이스케이프 문자
- Stack
- Graph
- Algorithm
- Selection Sorting
- JSON
- s
- 혼자 공부하는 C언어
- C 언어 코딩 도장
- datastructure
- 알기쉬운 알고리즘
- buffer
- Today
- Total
목록Programming Language/Java (39)
Engineering Note
프로그램 에러, 오류- 프로그램이 실행 중 어떤 원인에 의해서 오작동 하거나 비정상적으로 종료 되는 경우 컴파일 에러- 컴파일시에 발생하는 에러 런타임 에러- 실행시에 발생하는 에러- 런타임 에러는 다시 에러(error)와 예와(exception)으로 구분한다. - 런타임 error: 프로그램 코드에 의해서 수습될 수 없는 심각한 오류. ex)메모리 부족, 스택오버플로우 - (런차임) exception: 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류. 프로그래머의 적절한 코드로 비정상적 종료를 막을 수 있다. 논리적 에러- 실행은 되지만, 의도와 다르게 동작하는 것.예외 클래스의 계층 구조- 자바는 실행 시 발생할 수 있는 오류를 미리 클래스로 정의했다.- 모든 예외는 Exception 클..
Java로 프로그램을 개발하려면 컴퓨터에 **JDK(Java Development Kit)**를 설치해야 한다. JDK는 JRE(Java Runtime Environment)와 javac(자바 컴파일러) 등 개발에 필요한 도구들이 포함된 개발 키트다.JRE는 JVM(Java Virtual Machine)과 자바 표준 라이브러리(프로그램 실행에 필요한 클래스 파일 등)로 구성되어, 자바 프로그램을 실행할 수 있는 환경을 제공한다.JDK를 설치하면 설치 디렉터리의 bin 폴더에 java 파일이 있는데, 이 파일이 JVM을 띄우는 실행파일(런처)이다. 같은 디렉토리에 javac 파일이 java 컴파일러다. 예를 들어, MyClass.java라는 자바 소스파일을 만든 후,javac MyClass.java 이렇게..
에러(Error)- 컴퓨터 하드웨어 오동작 또는 구장으로 인해 애플리케이션, 응용프로그램 실행 오류가 발생하는 것. 예외(Exception)- 에러 이외에 프로그램 자체에서 발생하는 오류- 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류예외의 종류- compile exception, checked exception, 컴파일 예외 : 프로그램 컴파일 시 발생하는 예외- runtime exception, uncheckec exception, 런타일 예외 : 실행 도중 발생하는 예외- RuntimeException 상속 여부로도 구분 할 수 있음. 예외 클래스- Java는 예외를 클래스로 관리함.- 모든 예외 클래스는 java.lang.Exception 클래스를 상속 받음...
List 컬렉션은 객체를 인덱스로 관리한다.List 컬렉션에서 공통적으로 사용가능한 List 인터페이스 메서드 ArrayList- ArrayList에 객체를 추가하면 내부 배열에 객체가 저장. 일반 배열과 차이점은 제한 없이 객체를 추가할 수 있다. LinkedList- ArrayList와 사용 방법은 동일하지만 내부 구조는 완전히 다르다. ArrayList는 내부 배열에 객체를 저장하지만, LinkedList는 인접 객체를 체인처럼 연결해서 관리한다. ArryaList, LinkedList 차이- LinkedList는 자료를 체인 처럼 관리하기 때문에 특정 위치에서 객체를 삽입하거나 삭제하면 바로 앞뒤 링크만 변경하면 되므로 빈번한 객체 삭제와 삽입에서 ArrayList보다 높은 성능을 보여준다...
컬렉션 프레임워크: Java언어에서 자주 사용되는 자료구조에 대해서 객체들을 효율적으로 추가, 삭제 검색할 수 있도록 모아놓은 인터페이스 총칭 주요 인터페이스: List, Set, Map 특별히 List와 Set은 객체를 추가, 삭제, 검색하는 방법에 있어서 공통점이 있기 때문에 공통된 메서드만 따로 모아 Collection 인터페이스로 정의해두고 이것을 상속하고 있다.Map은 키와 값을 하나의 쌍으로 관리하는 자료구조라 List 및 Set과 사용방법이 다르다. 인터페이스 별 컬렉션 특징인터페이스 분류특징구현 클래스CollectionList- 순서를 유지하고 저장- 중복 저장 기능ArrayList, Vector,LinkedListSet- 순서를 유지하지 않고 저장- 중복 저장 안됨HashSet, Tre..
문자열 타입의 숫자를 진짜 숫자로 변환해야 할 때가 있는데 그때 사용하는 메서드가 Interger 클래스에 있는 parseInt()이다. 메서드 선언부 다음과 같다. "321"처럼 문자열 타입으로 된 숫자를 파라미터로 전달하면 int 형태의 321로 반환을 해준다.public static int parseInt(String s) throws NumberFormatException 어떤 진법으로 변경할 건지도 설정할 수 있는 오버로딩된 형태의 메서드도 있다. 아래처럼 두 번째 파라미터로 변경하고 싶은 진법에 해당하는 숫자를 전달하면 된다.public static int parseInt(String s, int radix) ..
String은 내부적으로 char[]로 이루어져 있다. 다시 말해서 문자배열이라는 뜻이다. 배열은 연속된 데이터를 저장하는 자료구조인데, 그렇다면 인덱스를 통해서 값을 추출할 수도 있고, 반대로 값으로 인덱스를 찾을 있어야 할 것이다. 이러한 기능을 제공하는 메서드가 있는데, charAt과 indexOf이다. charAtcharAt의 메서드 선언부는 이렇게 생겼다.public char charAt(int index) => 메서드의 매개변수로 인덱스를 전달하면, String 에서 인덱스에 위치한 문자를 반환한다. indexOf다음은 indexOf 메서드의 선언부이다.public int indexOf(int ch) => 매개변수로 문자를 전달하면, 전달받은 문자가(내부적으로 숫자라서 int 타입) Str..
char Java의 기본형 타입이다. ''를 이용해서 문자 하나를 저장할 수 있는데 내부적으로는 유니코드에 해당하는 숫자로 저장된다. 특이하게 char는 문자면서 숫자이기 때문에 int랑 연산을 할 수 있다. 'a'는 아스키코드로 97이라서 'a'에 1을 더하고 출력하면 98이 출력된다. 그래서 출력을 위해서 공백을 추가해서 가독성을 높일 때 주의할 점이 있다. " "를 중간에 넣어주면 전체적으로 연산 순서에 따라서 형변환이 다르게 일어나서 원하는 결과가 나오지 않을 수도 있다.예를 들면 " " + 'a' + 1;을 한다고 했을 때 " " + 'a' 앞 연산에 의해서 'a'는 " a"가 되기 때문에 String + int 연산이 되면서 String이 된다.그리고 String은 모든 연산을 String으로..