728x90
반응형
1. 자료구조 (Data Structure)
자료구조는 컴퓨터 프로그램에서 데이터를 조직화, 저장, 조작하기 위한 특별한 형식입니다. 데이터 요소 간의 관계와 수행 가능한 연산을 정의합니다.
1) 자료구조의 유형
- 선형 구조: 요소가 순차적으로 배열 (배열, 연결 리스트, 스택, 큐)
- 비선형 구조: 순차적이지 않은 요소 배열 (트리, 그래프)
2) 주요 특징
- 데이터 저장 및 구성
- 효율적인 데이터 처리 및 조작
- 메모리 관리
- 빠른 접근을 위한 인덱싱
3) 대표적인 자료구조
- 배열: 동일한 타입의 고정 크기 요소 모음
- 연결 리스트: 각 노드가 다음 노드를 가리키는 순차적 구조
- 스택: 후입선출(LIFO) 원칙
- 큐: 선입선출(FIFO) 원칙
- 트리: 루트 노드와 자식 노드를 가진 계층적 구조
- 그래프: 노드와 간선으로 연결된 구조
4) 중요성
- 효율적인 데이터 관리 및 접근
- 알고리즘 성능 최적화
- 컴퓨터 과학과 프로그래밍의 기본
자료구조는 컴퓨터 프로그램에서 데이터를 체계적으로 구성하고 처리하기 위한 핵심 개념입니다.
2. array
여러 값을 하나의 변수에 저장할 수 있는 기본적인 데이터 구조입니다. 배열은 고정된 크기를 가지며, 다음과 같은 주요 특징과 기능이 있습니다.
1) 배열 선언
타입 [ ] 변수이름 ; or 타입 변수이름 [ ] ; // 원하는 타입의 변수를 선언하고 변수 또는 타입에 배열임을 의미하는 대괄호[ ]를 붙이면 됨 [ ]는 타입 뒤에 붙여도 되고 변수이름 뒤에 붙여도 됨 |
2) 배열 생성
타입 [ ] = 변수이름; // 배열 선언 (참조변수 선언) 변수이름 = new 타입 { 값1, 값2, 값3, 값4, 값5, 값6,.... } ; // 배열 생성 (실제 저장공간을 생성) or 타입 [ ] 변수이름 = new 타입 { 값1, 값2, 값3, 값4, 값5, 값6,.... } ; // 배열의 선언과 생성을 동시에 |

(1) 예시
조건 1. 전체 총점을 구하시오.

int totalengscore = 0; for ( int i = 0; i < 10; i = i + 1) { // for ( int i = 0; i < engscore.length ; i = i + 1 ) { 10; i = engscore.lengt 로 대체 가능 totalengscore = totalengscore + engScore[ i ]; } System.out.println( totalengscore ); |

조건 2. 평균을 구하시오

System.out.println( totalengscore / ( double ) engScore.length ) ; |

(2) 예시

int [ ] num = new int [ ] { 1,2,3,4,5,6,7,8,9,10 }; // int [ ] num = { 1,2,3,4,5,6,7,8,9,10 }; 로 생략 가능 for (int i = 0; i < num. length; i = i + 1) { // for (int i = 0; i < 10 ; i = i + 1) { System.out.println( num[ i ] ); } |


(3) 예시

double[ ] date = new double [5]; date[0] = 10.0; date[1] = 20.0; date[2] = 30.0; for (int i = 0; 1 < date.length; i= i + 1 ){ System.out.println( date[ i ] ); } |



- 오류의 의미
ArrayIndexOutOfBoundsException: 이 예외는 배열에 접근할 때 제공된 인덱스가 배열의 크기보다 크거나 음수일 때 발생합니다.
예를 들어, 길이가 5인 배열에 대해 인덱스 5에 접근하려고 하면 오류가 발생합니다. 유효한 인덱스는 0부터 4까지입니다.
- 오류 발생 원인
인덱스 범위 초과: 배열의 길이를 초과하는 인덱스를 사용하여 배열 요소에 접근하려고 할 때.
루프 조건 설정 오류: 반복문에서 인덱스를 잘못 설정하여 배열의 경계를 넘어서는 경우.
현업에서는 Array를 잘 사용하지 않습니다. 현업에서는 ArrayList, HashMap를 많이 사용합니다.
이유는 Array를 사용할 경우 추가를 할 수가 없어 처음부터 다시 진행하여야 하기 때문에 사용하지 않습니다.
728x90
반응형
'JAVA > 이론' 카테고리의 다른 글
22. [ JAVA ] 클래스(Class)와 객체(Instance) (0) | 2024.12.10 |
---|---|
21. [ JAVA ] 함수 (fanction) (1) | 2024.12.10 |
19. [ JAVA ] 반복문 ( For && while ) (1) | 2024.12.09 |
18. [ JAVA ] 조건문(Conditional Statements) (0) | 2024.12.09 |
17. [ JAVA ] 연산자(Operator) (0) | 2024.12.08 |