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 |