본문 바로가기
국비지원/JAVA

[JAVA] 5-1. 배열과 반복문(while문), do-while문 곁들인..

by cosmog 2022. 9. 26.
반응형
배열과 반복문

<법칙>
0 < 길이 로 사용한다면 배열 길이 -1 즉 배열의 마지막까지 반복 가능.

 

➰ while문 - 배열과 while 반복문.(배열안의 값을 활용)

public class WhileEx06 {
	
	public static void main(String[] args) {
		
		// 배열과 반복문
		//시작은 0 ~ 길이미만
		int[] arr = {1,2,3,4,5,6,7,8,9,10};
		
		//배열의 값 출력 = arr[인덱스]
		int i = 0; //배열의 시작 index
		int sum = 0; //누적값을 구하기 위한 변수
		
		while(i < arr.length) {
			
			//System.out.println(i); 0...9까지 출력 index값임.
			System.out.println(arr[i]);
			sum += arr[i]; //배열 안의 값들의 누적값 계산.
			
			i++;
		}
		System.out.println("누적값: " + sum);
		
	}

}


지금까지 해왔던 while 문의 조건과 같이 while(i <= 9) '이하'로 설정시 숫자로 설정해 왔다.
직접 숫자로 적는 것은 좋지않다 배열의 크기가 바뀌면 전부 바꾸어 주어야 하기때문에
while(i <= arr.length -1) 요렇게 arr.length를 활용해서 표기할수 있다.
-1보다는 < 조건을 '미만'으로 변경하면 깔끔하다.

최종 ver. 
while(i < arr.length) 깔끔쓰~

 

➰ Quiz - money금액을 배열안에 저장된 원으로 몇개씩 나올수 있는지 출력하기.

public class Quiz10 {
	public static void main(String[] args) {
		
		//금액을 가장 큰 금액부터 나누어서 각 동전별로 몇개가 나와야 하는지 출력.
		int[] arr = {1000, 500, 100, 50, 10};
		int money = 17780;
		int result = 0;
		
		int i = 0;
		while(i < arr.length) {
			result = money/arr[i] ;
			//money -= result*arr[i];
			money %= arr[i];
			
			System.out.println(arr[i]+ "원: " +result);
			
			i++;
		}
	}

}

➰ Quiz - 입력받은 수 만큼 배열을 만들고, 배열에 숫자를 입력받아 저장해본다.

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Scanner;

public class Quiz11 {
	
	public static void main(String[] args) {
		
		/*
		 * 첫행의 입력값은 배열의 크기가 됩니다.
		 * 
		 * 배열의 크기만큼 반복을 돌면서, 입력받은 수들을 배열에 순서대로 저장.
		 * 
		 * 5 //배열의 크기 값
		 * 10
		 * 20
		 * 30
		 * 40
		 * 50
		 * arr = {10,20,30,40,50}
		 * 
		 */
		
		Scanner scan = new Scanner(System.in);
		int size = scan.nextInt();
		int arr[] = new int[size];
		int i = 0;
		
		while(i < arr.length) {
			arr[i] = scan.nextInt();
			i++;
		}
		
		System.out.println(Arrays.toString(arr));
		scan.close();
	}

}

➰ While문 - 배열의 최대/최소값 찾기.

package day05;

import java.util.Arrays;

public class WhileEx07 {
	
	public static void main(String[] args) {
		//최대값을 찾아라~
		int[] arr = {50,30,40,60,70,90,100,110,20};
		
		int max = arr[0];//최대값을 저장할 변수
		int i = 0;
		while(i < arr.length) {
			//조건 -> arr[i]가 max 보다 크면 arr[i]를 max에게 저장
			if( max < arr[i]) {
				max = arr[i];
			}
			
			i++;
		}
		System.out.println("최대값: " + max);
		
		System.out.println("==================");
		//arr의 최소값을 찾아라.
		
		i = 0;
		int min = arr[0];
		while(i < arr.length) {
			if(arr[i] < min) {
				min = arr[i];
			}
			i++;
		}
		System.out.println("최소값: " + min);
		
		/* 간단하게 배열의 max값 구하기
		Arrays.sort(arr);
		System.out.println(arr[arr.length-1]);
		*/
		
	}

}

 

do-while문

아래와 같은 틀을 가진다.

do{

}while();

무조건 한번 실행하고 조건을 검사하는 것이 특징.
💡 for문이나 while문이 다 대체를 하기 때문에 쓸일이 없다.

반응형

'국비지원 > JAVA' 카테고리의 다른 글

[JAVA] 6. 중첩반복문(for)과 향상된 for loop  (0) 2022.09.27
[JAVA] 5-2. 반복문 for  (0) 2022.09.26
[JAVA] 4-2. 반복문 (while)  (0) 2022.09.23
[JAVA] 4-1. 조건문 switch 활용  (0) 2022.09.23
[JAVA] 3-3. 조건문  (0) 2022.09.22