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 |