반응형
배열과 반복문
<법칙>
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 |