gwooden_코린이

java_배열_221123(3일차) 본문

java/3일차

java_배열_221123(3일차)

gwooden22 2022. 11. 23. 16:44
728x90

▶ 배열

배열도 값을 저장해주는 기능

 

예) 5명의 점수를 입력

5명의 점수를 다 살려내고자 한다.

 

int[] num = new int[5]

두번째 대괄호 안에 크기를 넣어준다.

 

→ num 배열 변수

0번방 1번방 2번방 3번방 4번방

위 처럼 기능을 활용하면 위 표처럼 5개의 값을 넣을 수 있는 공간이 생긴다.

공간 번호는 0번 부터 시작한다.

 

package 배열;

 

public class Sample01 {

 

        public static void main(String[] args) {

              

               int[] num = new int[5];

              

               num[0] = 10; //0 방에 10이라는 값을 저장하고자

               num[1] = 20;

               num[2] = 30;

               num[3] = 40;

               num[4] = 50;

 

               System.out.println(num[0]); //저장간 값을 확인해 보고 싶을 때

               System.out.println(num[1]);

               System.out.println(num[2]);

               System.out.println(num[3]);

               System.out.println(num[4]);

               System.out.println(num[5]);

 

        }

 

}

 

10 20 30 40 50

 

 

하나의 저장공간 안에 여러개 값을 저장할 수 있는게 '배열'이다.


★ 예제01

 

package 배열;

 

public class Sample01 {

 

        public static void main(String[] args) {

              

               int[] num = new int[5];

               int i, a = 10;

              

               for(i=0; i<5; i++) { //방을 5 만들었어도 0 부터 시작하기 때문에

                                                      //조건식을 i<=5 경우 5번방을 인식하는데 5번방은 없기 때문에 오류

                                                      //그래서 미만 < 으로 조건식을 작성 해준다.

                       num[i] = a; //i라는 방이 a만큼 있다는

                       a += 10; //for문에서 i 조건식을 만족할 까지 반복(?)

                      

               }

              

                       for(i=0; i<5; i++) {

                              System.out.println(num[i]); //순수하게 방안에 있는 수를 가져오는

                       }

       

        }

 

}


★ 예제02

 

package 배열;

 

public class Sample02 {

 

        public static void main(String[] args) {

              

               int[] num = new int[5];

               String[] week = {"",  "", "", "", "", "", ""};

               //대괄호 안에 값을 바로 넣어서 사용도 가능

              

               int i;

              

               for(i=0; i<week.length; i++) {

                       //'변수'.length 배열방 크기를 알려주는 기능

                      

                       System.out.println(week[i]);

                       // 기능으로 배열방을 특정할 있어 배열방이 끝날때 까지 조건이 계속 이어진다.

               }

 

        }

 

}


★ 예제03

 

package 배열;

 

import java.util.Arrays;

 

public class Sample02 {

 

        public static void main(String[] args) {

              

               int[] num = new int[5];

               String[] week = {"",  "", "", "", "", "", ""};

               //대괄호 안에 값을 바로 넣어서 사용도 가능

              

               int i;

              

               for(i=0; i<week.length; i++) {

                       //'변수'.length 배열방 크기를 알려주는 기능

                      

                       System.out.println(week[i]);

                       // 기능으로 배열방을 특정할 있어 배열방이 끝날때 까지 조건이 계속 이어진다.

               }

              

               //향상된 for

               for(String w : week) {

                       //int i; 선언한 처럼 임시 변수 선언 반복시킬 배열변수 선언

                              //week 저장된 배열방에 순서대로 임시변수에 들어간다

                      

                       System.out.println(w);

                      

 

               }

                      

                              System.out.println(Arrays.toString(week) );

                                      //import java.util.Arrays; 해당 기능이 불러와짐

                                      //한번에 값이 모두 출력

              

        }

 

}


★ 예제04

 

package 배열;

 

public class Sample03 {

 

        public static void main(String[] args) {

              

               //boolean -> false

              

               String[] a = new String[5];

                       //배열방 크기는 초반에 지정해 주기 때문에 중간에 바꿀 없다.

              

               int b;

              

               a[1] = "50";

               a[3] = "100";

              

               for(int i=0; i<5; i++)

                       System.out.println(a[i]);

                             

 

        }

 

}


★ 풀이 05

 

package 배열;

 

import java.util.Arrays;

import java.util.Scanner;

 

public class Sample04 {

 

        public static void main(String[] args) {

               // 5개의 점수를 입력받아 합계, 평균, 80 이상인 개수를 출력하는프로그램을 완성하시오. <--스캐너 정수

               // 점수 5 입력 : 81 93 52 66 71<--배열 정수

               // 입력받은 점수의 합계 : 363 <--정수

               // 입력받은 점수의 평균 : 72.6 <--실수

               // 입력받은 점수 80 이상인 개수 : 2 <---정수

              

               Scanner sc = new Scanner(System.in);

              

               int[] num = new int[5];

               int i;

               int sum = 0, cnt=0; //합계 정수, 증가

               double avg; //평균 실수

       

              

               System.out.print("점수 5 입력 : "); //처음 점수 입력하는 문자열은 한번만 나오고 값만 5개가 나와야 되기 때문ㅇ

                                                                              //for 들어가기 전에 위에 질문을 먼저 프린트문으로 작성한다.

              

               for(i=0; i<5; i++) { //i값이 5 미만일 까지 진행 종료

                       num[i] = sc.nextInt(); //num 기본적으로 5 배열방을 갖고 있다.

                                                                     //for문이 조건식을 완료할 까지 num 배열 방에 값을 종료될 까지 저장한다.

                      

                       sum = sum + num[i]; //sum 변수 0 + num[i] 배열방에 들어있는 값과의 합계

 

                              if(num[i]>80) { //아래로 진행 되면서 if문이 만약 num[i] 5 배열방이 있는 중에 80 이상인 값이 있을 경우

                                      cnt++; //참일 경우 0값에서 최종 반복 횟수까지 횟수 + 증가식 1 더해주면서 조건식에 값이 생성

                      

                                      }

                             

       

                              }

       

                              avg = (double)sum / 5; // 마지막으로 평균값을 구하는

       

                                              System.out.println("입력받은 점수의 합계 : " + sum);

                                              System.out.println("입력받은 점수의 평균 : " + avg);

                                              System.out.println("80 이상인 개수 : " + cnt);

       

        }

 

 

 

}

 

728x90

'java > 3일차' 카테고리의 다른 글

java_do ~ while문_221123(3일차)  (0) 2022.11.23
java_while문_221123(3일차)  (0) 2022.11.23
java_반복문_221123(3일차)  (0) 2022.11.23
Comments