JAVA 05 배열
반응형
같은 타입의 여러 변수를 하나의 묶음으로 다루는 것
많은 양의 값을 다룰 떄 유용
배열의 각 요소는 서로 연속적
1 | int[] score = new int[5]; //5개의 int 값을 저장할 수 있는 배열 생성 | cs |
배열 생성하려면 new 써야 함.
배열의 요소마다 붙여진 일련번호 : index
index out of bound exception : 인덱스 범위에 벗어났습니다.
- 이 오류 안보도록 하자.
1 2 3 4 | int[] score = new int[3]; score[0] = 10; score[1] = 20; score[2] = 30; | cs |
1 | int[] score = new int[]{10, 20, 30}; | cs |
1 | int[] score = {10, 20, 30}; | cs |
1 2 3 4 5 | int[] score = new int[3]; for (int i = 0; i < score.length; i++) { score[i] = 10 + i * 10; } | cs |
1 2 3 4 5 | String[] aa; //선언 String[] bb = new String[]{"aa", "bb", "cc"}; //선언&배열생성 System.out.println("배열 bb 첫 주소 : " + bb); System.out.println("배열 bb[0] : " +bb[0]); | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | int[] score = new int[] {10, 20, 30}; //배열선언&생성&초기값할당 System.out.println("score[0] : " + score[0]); System.out.print("for문 score : "); for (int i = 0; i < score.length; i++) { System.out.print(score[i] + " "); } System.out.println(); int a = 0; System.out.print("while문 score : "); while (a < score.length) { System.out.print(score[a] + " "); a++; } System.out.println(); | cs |
1 2 3 4 5 6 7 8 | char[] carr = new char[]{'A', 'B', 'C'}; System.out.print("carr : "); for (int i = 0; i < carr.length; i++) { System.out.print(carr[i] + " "); } System.out.println(); | cs |
1 2 3 4 5 6 7 8 | boolean[] barr = new boolean[]{true, false}; System.out.print("barr : "); for (int i = 0; i < barr.length; i++) { System.out.print(barr[i] + " "); } System.out.println(); | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | int[] num = new int[]{1, 2, 3, 4, 5}; for (int i = 0; i < num.length; i++) { System.out.print(num[i]); } System.out.println(); System.out.println(); for (int i = 0; i < num.length-1; i++) { System.out.print(num[i] + num[i+1]); } System.out.println(); System.out.println(); for (int i = 0; i < num.length-1; i++) { int sum = num[i] + num[i+1]; System.out.println(num[i] + " + " + num[i+1] + " = " + sum); } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | int[] gugu = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9}; for (int i = 1; i < gugu.length; i++) { System.out.println(i + "단"); for (int j = 0; j < gugu.length; j++) { System.out.print(gugu[i] + " * " + gugu[j] + " = " + (gugu[i]*gugu[j]) + "\t"); } System.out.println(); } for(int i = 0; i < gugu.length; i++) { for (int j = 1; j < gugu.length; j++) { System.out.print(gugu[j] + " * " + gugu[i] + " = " + (gugu[i]*gugu[j]) + "\t"); } System.out.println(); } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | int lottoNum[] = new int[6]; //크기가 6일 배열 생성 for (int i = 0; i < lottoNum.length; i++) { //로또 번호 및 중복 검사하는 for 시작 lottoNum[i] = (int)((Math.random()*45) + 1); //배열에 1~45 난수 6회 할당 for(int j = 0; j < i; j++) { //중복 검사 if문 시작 if(lottoNum[i] == lottoNum[j]) { //로또 번호가 같으면 i--; //i를 1 감소 -> 다시 실행을 위해 break; //if문 탈출 } //if 종료 } //중복 검사 if 시작 } //for 끝 System.out.print("Lotto : "); for (int i = 0; i < lottoNum.length; i++) { //중복검사가 완료된 배열에서 출력 System.out.print(lottoNum[i] + " "); } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Scanner s = new Scanner(System.in); int lottoNum[] = new int[6]; //크기가 6일 배열 생성 for (int i = 0; i < lottoNum.length; i++) { //로또 번호 및 중복 검사하는 for 시작 System.out.print("숫자 입력 : "); lottoNum[i] = s.nextInt(); for(int j = 0; j < i; j++) { //중복 검사 if문 시작 if(lottoNum[i] == lottoNum[j]) { //로또 번호가 같으면 System.out.println("중복!"); i--; //i를 1 감소 -> 다시 실행을 위해 break; //if문 탈출 } //if 종료 } //중복 검사 if 시작 } //for 끝 System.out.print("출력 : "); for (int i = 0; i < lottoNum.length; i++) { //중복검사가 완료된 배열에서 출력 System.out.print(lottoNum[i] + " "); } | cs |
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 | int orderNum[] = new int[]{3, 2, 9, 7, 43, 1}; int cnt = 0; System.out.print("원래 배열 : "); for (int i = 0; i < orderNum.length; i++) { System.out.print(orderNum[i] + " "); } System.out.println(); for (int i = 0; i < orderNum.length; i++) { // boolean change = false; for (int j = 0; j < orderNum.length-1; j++) { if(orderNum[j] > orderNum[j+1]) { cnt++; int tmp = orderNum[j]; orderNum[j] = orderNum[j+1]; orderNum[j+1] = tmp; } } // if(change == true) break; } System.out.print("오름차순 배열 : "); for (int i = 0; i < orderNum.length; i++) { System.out.print(orderNum[i] + " "); } System.out.println(); System.out.println("총 분류 수 : " + cnt); | cs |
1 2 3 4 5 6 7 | String[] ename = new String[]{"SMITH", "JAMES", "MILLER", "ADAMS"}; System.out.println("총 " + ename.length + "건 회원"); System.out.println(ename[0] + " 외 " + (ename.length-1) + "명"); for (int i = 0; i < ename.length; i++) { System.out.println((i+1) + " " +ename[i]); } | cs |
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 32 33 34 35 36 37 | int[] sal = new int[]{800, 950, 1300, 1100}; int sum = 0; int max = sal[0]; int min = sal[0]; for (int i = 0; i < sal.length; i++) { //boolean change = false; /*for (int j = 0; j < sal.length-1; j++) { //버블정렬 if(sal[j] > sal[j+1]) { cnt++; int tmp = sal[j]; sal[j] = sal[j+1]; sal[j+1] = tmp; } }*/ if(sal[i] >= max) { //if로 최댓값 비교 max = sal[i]; } if(sal[i] <= min) { //if로 최솟값 비교 min = sal[i]; } sum += sal[i]; //배열 총 합 //if(change == true) break;` } //System.out.println("최솟값 : " + sal[0]); System.out.println("최솟값 : " + min); //System.out.println("최댓값 : " + sal[sal.length-1]); System.out.println("최솟값 : " + max); System.out.println("평균값 : " + (sum / sal.length)); | cs |
반응형
'development' 카테고리의 다른 글
JAVA 07 객체지향 프로그래밍(1) (0) | 2017.12.27 |
---|---|
JAVA 06 배열/스트링/콜렉션 (0) | 2017.12.27 |
JAVA 04 반복문(While) (0) | 2017.12.27 |
JAVA 03 반복문(for) (0) | 2017.12.27 |
JAVA 02 조건문 (0) | 2017.12.27 |
댓글
이 글 공유하기
다른 글
-
JAVA 07 객체지향 프로그래밍(1)
JAVA 07 객체지향 프로그래밍(1)
2017.12.27 -
JAVA 06 배열/스트링/콜렉션
JAVA 06 배열/스트링/콜렉션
2017.12.27 -
JAVA 04 반복문(While)
JAVA 04 반복문(While)
2017.12.27 -
JAVA 03 반복문(for)
JAVA 03 반복문(for)
2017.12.27