Java

반복문(for문)

은찡안찡 2022. 10. 4. 21:23

for문은 주어진 횟수만큼 실행문을 반복 실행할 때 적합한 반복 제어문이다.(주로 반복 횟수를 알고 있을 떄 사용한다.)

 

 

for ( ①초기화식; ②조건식; ④증감식 ) {

               

                  ③실행문;

}

 

①초기화 구문 : 가장 먼저 실행된다

②검사식 : 실행여부 판단,true일 경우 자바 코드를 실행하고 false이면 for반복문을 벗어난다.
③실행되는 자바코드 : 검사식이 true 일때만 실행된다.
④변환식 : 다음 실행을 위해 i 값을 변환시킨다.
②>③>④>②>③>④.........

 

for문은 또 다른 for문을 내포할 수 있는데, 이것을 중첩된 for문이라고 한다. 이 경우 바깥쪽 for문이 한 번 실행할 때마다 중첩된 for문은 지정된 횟수만큼 반복해서 돌다가 다시 바깥쪽for문으로 돌아간다.

 

 

예제

1.1에서부터 10까지의 숫자를 출력하는데, 짝수와 홀수만 출력하기

package com.dream.controls;
public class ForEX03 {
//문제 : 1에서 10까지 숫자를 출력하는데,짝수와 홀수만 출력하기
	public static void main(String[] args) {
		for(int i=1; i<=10; i+=2) {
			System.out.print("\t"+i);}//\t는 탭 키와 같은 역할을 한다
			
		System.out.println("\n===============================================");	//\n은 줄바꿈을 한다.
			
		for(int q=2; q<=10; q+=2) {
				System.out.print("\t"+q);}
		}
    }

결과

2.구구단

//2단부터9단까지 출력
//2x1=2	3x1=3	4x1=4.....단은 열이 증가할 때 하나씩 증가한다
//2x2=4	3x2=6	4x2=8.....곱하는 숫자는 행이 증가할 때 하나씩 증가한다.

//이중 for문의 바깥쪽 루프:행을 반복한다.
//이중 for문의 안쪽 루프:열을 반복한다.

package com.dream.controls;
public class Gugudan {
	public static void main(String[] args) {
		
		for(int i=1;i<10; i++) {
			for(int dan=2;dan<10; dan++) {
				System.out.print(dan+ "X" +i+ "="+(dan*i)+"\t");
			}
			System.out.println();//숫자 1을 2단부터 9단까지 곱한다음에 줄바꿈
		}
	}
}

결과

 

3.입력받은 정수부터 1까지의 총합 구하기

package com.dream.controls;
//입력받은 정수부터 1까지의 총합 구하기

import java.util.Scanner;

public class ForEx07 {
	public static void main(String[] args) {
		Scanner s=new Scanner(System.in);
		
		int num=0;
		int result=0;
		
		System.out.println("입력받은 정부터 1까지의 총합구하기");
		System.out.println("숫자입력");
		num=s.nextInt();
		
		for(int i=num; i>=1; i--) {
			System.out.println(i);
			result +=i;
		}
		System.out.println(num+"에서 1까지의 총합은"+result+"이다.");
	}
}

결과

4.영문 대문자를 출력

package com.dream.controls;
//문제: 영문대문자를 출력하세요
//영문 대문자는 65~90숫자로 이루어져 있다. 숫자 사이의 간격은 1이다
//영문 소문자는 97~122숫자로 이루어져 있다.
	public class ForEx04 {
	public static void main(String[] args) {
		int total=0;
		for(int i=1; i<=10;i++) {
			total+=i;//total=total+i;
		}
		System.out.println(total);
		
		for(int i=65; i<=90; i++) {
			System.out.print("\t"+(char)i);
		}
		
		System.out.println("\t");
		
		for(int i=97; i<=122; i++) {
			System.out.print("\t"+(char)i);
		}
	}
}

결과

5.입력받은 값에서 7의 배수 총합을 구하기

//입력받은 값에서 7의 배수 총합을 구하기
package com.dream.controls;

import java.util.Scanner;

public class OverLapEx03 {
	public static void main(String[] args) {
		
		int num=0;
		int result =0;
		
		Scanner s=new Scanner(System.in);
		
		System.out.println("입력받은 값의 7의 배수 구하기");
		System.out.println("숫자입력");
		num=s.nextInt();
		
		for(int i=7;i<=num; i+=7 ) {
			System.out.println(i);
			result+=i;
		}
		System.out.println(num+"까지 7의 배수의 총합은"+result+"이다");
	}
}

결과

 

6. 22부터76까지의 짝수의 개수와 총합을 구하시오

//22부터 76까지의 짝수의 개수와 총합을 구하시오
package com.dream.controls;
public class OverLapEx04 {
	public static void main(String[] args) {
		
		int count=0;
		int total=0;
		
		for(int i=22;i<=76;i++) {
			if(i%2==0) {
			 count++;
			 total+=i;
			}
		}	
		System.out.println("짝수의 개수:"+count);
		System.out.println("짝수의 총합:"+total);
		
		/*이게 더 간단하다
		 for(int i=22;i<=76;i+=2) {
			 count++;
			 total+=i;
		}	 
		 */

	}
}

결과

7.1부터100가지의 짝수를 출력하되 한줄에10개씩 출력하라

//1부터 100까지의 짝수를 출력하 되 한줄에 10개씩 출력하라
package com.dream.controls;
public class OverLap02 {

	public static void main(String[] args) {
		
		for(int i=2; i<=100;i+=2) {
			System.out.print("\t"+i);
			if(i%20==0){
				System.out.print("\n");
				}	
		}
	}
}

결과

8.1에서 100까지 10개 단위로 총합을 출력하라

//1에서 100까지 10개 단위로 총합을 출력하기
package com.dream.controls;
public class OverLapEx01 {
	public static void main(String[] args) {
	
		int total=0;//숫자를 누적(총합)시키는 변수 선언
		
		for(int i=1;i<=100;i++) {
			total+=i;
		 if(i%10==0) {
			 System.out.println(i+"까지의 총합은"+total+"입니다.");
		 }
	  }
	}
}

결과

'Java' 카테고리의 다른 글

배열  (0) 2022.10.12
반복문(do-while문)  (0) 2022.10.04
반복문(while문)  (0) 2022.10.04
자바 Scanner 클래스  (0) 2022.09.22