JAVA 4강_1_Array

열라뽕따히·2024년 2월 3일

JAVA

목록 보기
20/79

배열(Array) 란?

  • 하나의 이름으로 동일한 자료형의 데이터를 여러개 연속적으로 저장할 수 있는 메모리 공간을 할당 받는 것을 말함

  • 변수는 하나의 값만을 저장하지만 배열은 여러개의 값을 저장할 수 있음
    ==> 같은 자료형의 데이터들이 연속적으로 저장 됨

  • 배열은 선언과 동시에 저장할 수 있는 자료형의 타입이 결정 됨 만약 다른 자료형의 데이터를 저장하려면 타입 불일치 컴파일 오류가 발생 됨

  • 배열 방의 이름은 0이라는 인덱스부터 시작 됨

  • 배열의 단점 : 배열은 한 번 크기가 정해지면 크기를 늘리거나 줄일 수 없음


[배열 사용하는 방법]

  • 1단계 : 배열 선언
    형식) 자료형[] 배열명(배열이름) 또는 자료형 배열명[]

  • 2단계 : 배열 메모리 생성(메모리 할당)
    형식) 배열명 = new 자료형[배열의 크기]

  • 3단계 : 배열 초기화 ==> 할당된 메모리 영역에 데이터를 저장

  • 4단계 : 배열을 이용 ==> 데이터 처리(연산, 출력 등등)


[배열을 생성하는 방법 - 2가지]

  1. new 키워드를 이용하여 배열 생성
  2. 배열의 초기값을 이용하여 배열 생성




============================코드============================

// 1단계 : 배열 선언
// 형식) 자료형[] 배열명(배열이름) 또는 자료형 배열명[]
		int[] arr;     // arr은 임의로 설정 가능 변수명처럼!
		
// 2단계 : 배열 메모리 생성(메모리 할당)
		arr = new int[5];    // in[?] ?의 수를 저장할 시  int(4바이트) * ?(임의의 수 / ?바이트) 하면 됨 ==> heap 메모리 사용하는 것과 같음
		                     // 4바이트 크기의 int값이 5개의 메모리 공간이 잡혀짐  □□□□□
		System.out.println("arr >>> " + arr);
		
// 3단계 : 배열 초기화 ==> 할당된 메모리 영역에 데이터를 저장
		arr[0] = 10;       // arr 방의 첫번째 방에 10이 들어감
		arr[1] = 20;	   // arr 방의 두번째 방에 20이 들어감
		arr[2] = 30;
		// arr[3] = "홍길동";   // 자료형 오류
		arr[3] = 40;
		arr[4] = 50;
		// arr[5] = 60;          // 실행시 오류  (0부터 시작하기 때문!)
		
		// 배열의 연산
		arr[2] += 100;        // arr[2] = arr[2] + 100;
		
// 4단계 : 배열에 들어가 있는 데이터를 화면에 출력해보자
		System.out.println("arr[0] >>> " + arr[0]);
		System.out.println("arr[1] >>> " + arr[1]);
		System.out.println("arr[2] >>> " + arr[2]);
		System.out.println("arr[3] >>> " + arr[3]);
		System.out.println("arr[4] >>> " + arr[4]);
		
		System.out.println();
		
// 반복문을 이용하여 배열을 화면에 출력해보자
		for(int i = 0; i < 5; i++) {
			System.out.println("arr[" + i + "] >>> " + arr[i]);
		}

============================실행============================





5개의 정수를 저장할 배열을 만들고 키보드로 배열에 5개의 데이터를 저장한 후, 해당 배열을 화면에 출력해보자




============================코드============================

Scanner sc = new Scanner(System.in);
		
		// 배열의 1단계 + 2단계 : 배열 선언 및 배열 메모리 생성
		int[] score = new int[5];
		
		//System.out.println("첫번째 정수 입력 : ");
		//score[0] = sc.nextInt();
		
		//System.out.println("두번째 정수 입력 : ");
		//score[1] = sc.nextInt();
		
		//System.out.println("세번째 정수 입력 : ");
		//score[2] = sc.nextInt();
		
		//System.out.println("네번째 정수 입력 : ");
		//score[3] = sc.nextInt();
		
		//System.out.println("다섯번째 정수 입력 : ");
		//score[4] = sc.nextInt();
		
		// 반복문을 이용하여 5개의 정수를 배열에 저장하자
		
		for(int i = 0; i < 5; i++) {
			System.out.print((i+1) + "번째 정수 입력 : ");
			
			score[i] = sc.nextInt();
			
		}
		
		// 배열에 저장된 데이터를 화면에 출력해보자
		for(int i = 0; i < 5; i++) {
			System.out.println("score[" + i + "] >>> " + score[i]);
		}
			
		sc.close();

============================실행============================





[문제]
내가 여행 가고 싶은 5개 나라를 키보드로 입력 받아서 배열에 저장한 후 배열에 저장된 나라를 화면에 보여주자




============================코드============================

Scanner sc = new Scanner(System.in);
		
		String[] coun = new String[5];
		
		for(int i = 0; i < 5; i++){
			
			System.out.print((i+1) + "번째 가고 싶은 나라 : ");
				
				coun[i] = sc.next();
		
			}
		System.out.println();
		
		for(int i = 0; i < 5; i++){
			
			System.out.println("coun[" + i + "] >>> " + coun[i]);          
			// System.out.print(coun[i] + "\t"); ==> 하면 옆으로 출력
	 

============================실행============================

0개의 댓글