java - 배열

songmin jeon·2023년 11월 28일
0

1. 자료구조

대량의 데이터를 효율적으로 관리하기 위한 메커니즘


1.1. 배열 (Array)

같은 타입의 여러 변수를 하나의 묶음으로 다루는 자료구조

  • 배열 선언 방법
int[] ② numbers =newint[3];

① 데이터 타입 정수형 [배열선언]
② 레퍼런스 변수명
③ 레퍼런스 타입의 변수를 생성할때 사용하는 키워드
④ 데이터 타입 정수형 배열 [공간 크기]
(인덱스가 2번까지 있음. [ 0 , 1 , 2 ] )

	// 배열 : 같은 타입의 여러변수를 하나의 묶음으로 다루는 자료구조
	// 배열의 특징
	// 1. 같은 자료형만 하나로 묶을 수 있다.
	// 2. 인덱스 번호는 0부터 순차적으로 1씩 증가 한다.
	// 3. 크기가 고정적이다. (배열의 크기를 더 늘릴 수 없다.)
		
	// 정수형 데이터 5개를 보관할 수 있는 array 배열 생성
		int[] array = new int[5];
		
		System.out.println(array);		// array의 주소 값 출력
		System.out.println(array[2]);	// array의 2번 주소 값 출력
		
	// 배열 2 주소 공간에 7 값을 대입해줌(넣어줌)
		array[2] = 7;
		System.out.println(array[2]);	// 7 출력
		
	// 배열을 생성함과 동시에 데이터를 집어 넣는 방법
		String[] names = {"전송민", "변현호", "김민성", "김도원"}; 
		System.out.println(names[1]);	// 1주소의 이름 출력

아래 이미지에서 출력 했는데 @ 가 보이면 주소값 이며 레퍼런스 타입이라는 걸 알 수 있다.

//실습예제 배열

   /*
	* 1. 정수형 데이터를 5개를 보관할수 있는 array 배열 생성
	* 2. 배열의 모든 인덱스 안에 있는 데이터를 
	* 	 랜덤한 값으로 바꿔주세요! (1~10)
	* 3. 배열 안에 있는 모든 값을 출력
	*/
		
		Random ran = new Random();
		// 1. 정수형 데이터를 5개를 보관할수 있는 array 배열 생성
		int[] array = new int[5];
		// 2. 배열의
		// ! 배열의 크기를 가져오는 방법
		// --> 배열이름.length
		for (int i = 0; i < array.length; i++) {
			//2. 배열의 모든 인덱스 안에 있는 데이터를 랜덤한 값으로 바꿔주세요! (1~10)
			array[i] = ran.nextInt(10) + 1;
			//3. 배열 안에 있는 모든 값을 출력
			System.out.println(array[i]);
		}
		
		//배열 안에 있는 값을 한번에 출력하는 방법
		System.out.println(Arrays.toString(array));
        
        
        
        
	/*
	* 문제 배열 예제 - 로또 번호 추첨 1. 정수형 데이터 5개를 저장할 수 있는 배열 array를 선언하세요. 2. 배열 안의 데이터를 모두
	* 임의의 값으로 초기화하세요(1~10 까지의 수) 3. 단, 배열에 중복된 값을 제거해주세요. 4. 배열 안의 데이터를 모두 출력해주세요.
	*/

		Random ran = new Random();

		int[] ary = new int[5];
		int num = 0;

		System.out.println("==== 로또 타임 ====");
		System.out.println("이번주 출력 번호는요 .... !!");

		for (int j = 0; j < 5; j++) {
			// j번 방에 랜덤숫자 집어넣기
			ary[j] = ran.nextInt(10) + 1;

			for (int i = 0; i < j; i++) {

				// j번방 중복 숫자 검사하기
				if (ary[j] == ary[i]) {
					// 중복된 숫자가 발생했다면 인덱스 번호를 다시 앞으로 보낼 수 있는 코드
					j--;
					// 만약 중복된 숫자가 하나라도 발견 됐다면 멈추고 바깥 for 문으로 이동!
					break;
				}
			}
		}
		System.out.println(Arrays.toString(ary));
profile
제가 한 번 해보겠습니다.

0개의 댓글