datatype 배열이름 [][] = new datatype[행][열]
datatype 배열이름 [][] = {
{값, 값,,....},
{값, 값,,,.. },
....
};
ex)
int [][] arr = new int[3][5];
*값 변경
arr[1][2] = 20;
*배열이름.length => ex) arr.length => 3
(행의 길이)
*배열의 이름 [index].length => arr[1].length => 5
(index에 해당하는 열의 길이)
=================================================================================
*가변형 2차원 배열
: 각 행마다 열의 개수를 다르게 만들수 있다. (배열 공간을 좀 더 효율적으로 관리)
-선언방법
데이터타입[][] 배열이름 = new 데이터타입 [행][]; //행은 생략할 수 없고 열을 비워둔다.
*각 행마다 열을 생성한다. (1차원배열)
ex)int[][] arr = new int[3][];
arr[0] = new int [5];
arr[1] = new int [2];
arr[2] = new int [3];
arr.length => 3
arr[0].length => 5
arr[1].length => 2
arr[2].length => 3
ex) 2차원 가변형 배열을 선언과 동시에 명시적초기화 (개발자가 직접 값을 초기화)
int[][]arr = new int[][]{
{1,3,5},
{2,4,6,8,10},
{1,2,3,4,5,6,7,8},
{9,6},
};
- 배열 실습예제
: 상품을 저장하고 관리하는 기능 구현
- 상품의 정보 (상품코드, 상품이름, 가격, 설명)
1) 등록 : 상품코드는 중복안됨!!
2) 전체검색
3) 상품코드에 해당하는 상품 검색
4) 상품정보수정(가격, 설명 만 수정한다) : 상품코드에 해당하는 상품의 가격과 설명수정
5) 상품삭제 : 배열에서 어렵다!! -> 배열은 사이즈 변경이 안된다.
*CRUD 작업한다 !!
CREATE, READ, UPDATE, DELETE
- 조건
: 키보드 입력을 받아서 프로그램이 계속 실행 될 수 있도록..
: 클래스를 분리
1) 상품의 속성을 관리(조회,변경)하는 객체 : Goods.java
상품코드, 상품이름, 가격, 설명 + setXxxx(), getXXX()
2) 등록, 전체검색, 부분검색, 수정, 삭제 ,,, : B/L
: GoodService.java
3) 기능의 결과를 출력하는 클래스
: EndView.java
4) main메소드를 가지고 있는 클래스 : 시작점 클래스
: StartView.java
5) main 메소드를 가지고 있는 클래스 : 시작점 클래스
: StartView.java
: 2차원 배열을 준비해서 5개의 상품을 초기치 데이터 활용한다 !!!
상품1 : A01, 새우깡, 2500, 짜고 맛나다.
상품2 : A02, 콘칩, 3500, 고소하다.
상품3 : A03, 허니버터칩, 1500, 달콤하다.
ex)
String [][] data = new String[][]{
{"A01", "새우깡", "2500", "짜고맛나다." }, --> Goods
{"A01", "새우깡", "2500", "짜고맛나다." }, --> Goods
{"A01", "새우깡", "2500", "짜고맛나다." }, --> Goods
}
* Goods 전체구조
어떤게 파라미터로 들어가서,, 어떻게 출력을 할것인지 집중하는게 중요하다 !!
코딩을 할때에는 뒤부터 만들어 온다.
그리고, 공통으로 사용하는 것부터 만들고 -> Goods -> Service이런 순으로 ,,
'Web > MSA Full-Stack 과정' 카테고리의 다른 글
Kosta Day11 : 싱글톤 클래스 / MVC 패턴 / Class Diagram (0) | 2022.01.28 |
---|---|
Kosta Day10 : Constructor 생성자 / Goods 실습 코드 간결하게 만들기 (0) | 2022.01.27 |
Kosta Day8 : this./ 배열 Array (0) | 2022.01.25 |
Kosta Day6 : Method / 변수 (0) | 2022.01.24 |
Kosta Day5 : java Method / 메소드 / 산술연산 계산기 & 성적프로그램 (0) | 2022.01.24 |