순환(loop) : for
정의 : 지정한 횟수만큼 반복 처리하는 제어문
: 반복문, 순환문, loop문 이라고 불린다.
**endless loop(무한 루프) 주의**
형식 : 실행순서 : 초기화 -> 조건식 -> 처리 -> 연산식 -> 조건식 ...(반복)
for(초기화(1) ; 조건식(2)(5)(8)(11) ; 연산식(4)(7)(10)){
처리(3)(6)(9)
}
for문 예제
int i;
for(i = 0; i < 10; i++){
System.out.println("i = " + i);
}
System.out.println();
for(i = 1; i <= 100; i++){
System.out.println("i = " + i);
}
: 위 코드처럼 "for(초기화; 조건식; 연산식;)"
초기화 자리에서 선언
for(int n = 1; n <= 10; n++){
System.out.println("n = " + n);
}
for(int w = 0; w < 10; w++){
System.out.println(w + 1);
}
for(int i = 9; i >= 0; i--){
System.out.println(i);
}
: 초기화 자리에 변수 선언 동시에 가능(개인적으로 이게 더 편한 것 같음)
**상황에 따라 사용하면 된다**
보통 잘 안쓰는 방법
for(int i = 0; i < 10; i=i+2){
System.out.println(i);
}
: 연산식을 저런식으로 잘 쓰지않는다.(상황에따라..?)
1 ~ 10까지 합계를 구하라
int sum = 0;
for(int i = 1; i < 11; i++){
sum = sum + i;
}
System.out.println(sum);
: 1부터 10까지 순환하는 동안 저장해줄 변수만 생성해주면 된다.
0 = 0 + 1
1 = 0 + 2
3 = 0 + 3
:
:
28 = 0 + 8
36 = 0 + 9
45 + 0 + 10
55
: 이런 느낌
1 ~ 100 사이의 숫자 중에 짝수만 출력하라
for(int i = 1; i <= 100; i++){
if(i % 2 == 0){
System.out.println(i);
}
} // i에서 2로 나눈 나머지가 0이다.(짝수)
: i를 2로 나눴을 때 나머지가 0이면 짝수를 의미한다.
1 ~ 100 사이의 숫자 중에 홀수만 출력하라
for(int i = 1; i <= 100; i++){
if(i % 2 == 1){
System.out.println(i);
}
} // i에서 2로 나눈 나머지가 1이다.(홀수)
: i를 2로 나눴을 때 나머지가 1이면 홀수를 의미한다.
for + array 활용 예제
int array[] = {11, 22, 33, 44, 55};
for(int i = 0; i < array.length; i++) {
if (array[i] % 2 == 0) {
System.out.println(array[i]);
}
}
int array1[] = {11, -22, -33, 44, 55};
for(int i = 0; i < 5; i++) {
if (array1[i] > 0) {
System.out.println(array1[i]);
}
}
조건식에 "array.length" 한 이유 : array의 크기가 달라지면 조건식 i < 5에서 에러난다.
foreach -> array, collection(list)
String name[] = {"홍길동", "성춘향", "일지매"};
for(int i = 0; i < name.length; i++){ // i = 0, 1, 2
System.out.println(name[i]);
}
for(String s : name){ // s = "홍길동", "성춘향", "일지매"
System.out.println(s);
}
: 동일한 결과 리턴
최고점수, 최저점수 산출하라 (for + if + array)
int arrCount[] = {90, 85, 95, 75, 80};
int max = arrCount[0];
int min = arrCount[0];
for(int i = 0; i < arrCount.length; i++){
if(arrCount[i] > max){ // max = 90 -> 95
max = arrCount[i];
}
if(arrCount[i] < min) { // min = 90 -> 85 -> 75
min = arrCount[i];
}
}
System.out.println("최고점수 : " + max + "최저점수 : " + min);
: for문 흐름을 구성하는 능력을 키우자..!
: 문제를 많이 풀어보면서 구상해보고 막힐 때 찾아보기(처음부터 생각안하고 찾아보기 x)
2중 for문(for문 안에 for문)
for(int i = 0; i < 5; i++){
System.out.println("i = " + i);
for(int j = 0; j < 3; j++){
System.out.println("\tj = " + j);
}
} // i = 0일때 j = 0, 1, 2 반복
: 실행 순서를 중요하게 잘 봐야한다.(순서가 살짝만 꼬여도 망함)
구구단
for(int i = 1; i < 10; i++){
for(int j = 1; j < 10;j++){
System.out.println(i + "x" + j + "=" + (i * j) + " ");
}
System.out.println();
}
'Java' 카테고리의 다른 글
Java) break문 & continue문 사용법 (0) | 2024.12.28 |
---|---|
Java) 순환(loop) : while문 & do-while문 정리 (0) | 2024.12.27 |
Java) 조건문 : switch 정리 예제 (0) | 2024.12.27 |
Java) 조건문 : if, else, else if 정리 (0) | 2024.12.27 |
Java) 2차원 배열 사용법(선언 및 초기화 예제 ) (0) | 2024.12.27 |