일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알기쉬운 알고리즘
- datastructure
- JSON
- Graph
- coding test
- 메모리구조
- 이스케이프 문자
- buffer
- Algorithm
- insertion sort
- 혼자 공부하는 C언어
- 윤성우의 열혈 자료구조
- 이것이 자바다
- Serialization
- stream
- R
- C 언어 코딩 도장
- C programming
- Stack
- 윤성우 열혈자료구조
- list 컬렉션
- Selection Sorting
- s
- Today
- Total
목록Programming Language/Java (38)
Engineering Note
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으로..

배열은 생성하면 기본적으로 데이터 타입에 해당하는 기본값으로 초기화 된다. int 배열은 0으로, String 배열은 null로, boolean 배열은 false로 int[] nums = new int[]; //0으로 초기화됨String[] words = new String[] //null로 초기화됨boolean[] check = new boolean[] //false로 초기화됨 그런데 기본값이 아닌 다른 값으로 초기화를 할 경우가 있다. 그럴때는 for문을 이용해서 인덱스 길이만큼 순회하면서 초기화할 수 있다.int[] nums = new int[26];for(int i = 0; i 하지만 Arrays 객체의 fill 메서드를 사용하면 같은 방식으로 초기화 할 수 있다.int[] nums = ne..