Java 기초 제어문 - for문
728x90
기본 환경
JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 |
목표
자바에서 사용하는 for문을 이해한다.
여러가지 시나리오를 통해 반복문에 대한 이해도를 높힌다.'
코드
package ex04controlerstatement; /* for문 : while문과 같은 반복문의 초기값, 조건식, 증감식이 한줄에 있어 반복의 횟수를 명시적으로 알수 잇는 반복문이다. 그러므로 사용빈도가 가장높다. 형식] for(초기값; 조건식; 증감식;){ 실행문장; } 실행순서] 초기값 -> 조건식 확인 -> 참일때 실행 -> 증감식 -> 조건식 확인 -> 반복실행.... -> 조건이 거짓일때 for문 탈출 */ public class E05For { public static void main(String[] args) { /* for문의 실행순서 1. 반복을 위한 변수 i를 1로 초기화 2. 조건을 검사(i가 5이하이면...) 3. 참일때 실행문장을 실행 4. 증가(감소)식 실행 5. 조건검사(3,4,5번을 반복횟수만큼 실행함) 6. 조건이 false일때 for문 종료 */ for(int i = 1; i <= 5; i++) { System.out.println("i = " + i); } /* 시나리오] 1 ~ 100까지의 합을 구하는 프로그램을 for문을 이용하여 구현하시오. */ int sum = 0; for(int j=1; j<=100; j++) { sum += j; } System.out.println("1~100까지의 합 : " + sum); /* 시나리오] for문을 이용하여 1 ~ 10 사이의 정수중 2의 배수의 합을 구하는 프로그램을 작성하시오 */ int total = 0; //방법1 : if문을 통한 구현 for(int i = 1; i <= 10; i++ ) { if(i%2 == 0) { total += i; } } System.out.println("1~10사이 2의 배수의 합 : " + total); //방법2 : if문이나 삼항연산자 없이 구현하기 total = 0; //증감연산자 대신 복학대입연산자도 사용가능함 for(int i = 0; i <=10; i+=2) { total += i; } System.out.println("1~10사이 2의 배수의 합(방법2) : " + total); int a = 1; //for문으로 무한루프 조건을 만들때 아래와 같이 사용함. for(;;) { System.out.println("나는 for문으로 만든 무한루프입니다." + a); a++; if(a == 10) break; } /* for문의 끝에 ;을 사용하면 반복할 문장이 없는 것으로 간주되어 for문과 상관없이 한번만 실행된다. */ for(int j = 0; j <= 5; j++); { System.out.println("응 실행 안됨"); } /* for문의 초기식에서 선언된 변수 j는 for문이 종료되는 순간 메모리에서 소멸된다. 여기서 사용된 변수 j 는 지역변수(Local variable) 라고 한다. 지역변수는 해당 지역을 벗어나면 즉시 소멸되는 특징을 가지고 있다. */ // System.out.println("위 for문에서 선언한 변수 j=" + j); System.out.println("위 main 함수 지역에서 선언한 변수 total = " + total); /* for문의 초기값을 외부(넓은 지역)에서 선언하면 해당 변수는 for문안쪽(좁은지역) 에서 사용할 수 있다. 즉 아래에 선언한 변수 i는 main()함수의 지역변수가 된다. */ int i = 0; for(; i <=5; i++) { System.out.println("for문 안에서의 i값 = " + i); } System.out.println("for문 밖에서서의 i값 = " + i); /* 시나리오] 다음의 출력결과를 보이는 for문을 작성하시오 출력결과 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 해법 : x와 y를 더해서 5개 될때 1을 출력한다. */ for(int x = 1; x <=4; x++ ) { for(int y = 1; y <=4; y++) { if(x+y == 5) System.out.printf("1 "); else System.out.printf("0 "); } System.out.println(); } /* 연습문제] 구구단을 출력하는 프로그램을for문으로작성하시오. */ System.out.println("for문으로 제작한 구구단"); for(int u = 2; u <= 9; u++ ) { for(int j = 1; j<= 9; j++) { System.out.printf("%-3d * %-3d = %3d", u, j, (u*j)); System.out.printf(" "); } System.out.println(" "); } System.out.println("==감소연산자 사용으로 구현=="); for(int x = 1; x <=4; x++ ) { for(int y = 4; y >= 1; y--) { if(x == y) System.out.printf("1 "); else System.out.printf("0 "); } System.out.println(); } } }
반복문의 꽃 for문입니다. for문은 보통 몇번 돌려야 할지 명확 할 때에 많이 쓰여집니다. 사용 방법과 규칙은 주석에 달아 놓았습니다. 여러가지 시나로을 통해 반복문을 익히는 것을 추천드립니다.
결과 값



'Java > Java_기초부터 _끝까지' 카테고리의 다른 글
Java 기초 제어문 - 연습문제(1) (0) | 2020.10.12 |
---|---|
Java 기초 제어문 - break문, continue문 (0) | 2020.10.08 |
Java 기초 제어문 - do-while문 (0) | 2020.10.07 |
Java 기초 제어문 - while문 (0) | 2020.10.07 |
Java 기초 제어문 - switch문 (0) | 2020.10.07 |
댓글을 사용할 수 없습니다.