FIF's 코딩팩토리

자바 기초 NCS교육과정(6)-반복문 for 본문

Back-End/국비 NCS교과과정

자바 기초 NCS교육과정(6)-반복문 for

FIF 2019. 7. 3. 10:22
반응형

이번 시간에는 반복문(for문)에 대하여 알아보겠습니다.

 

  for(초기식; 조건식; 증감식){
     수행할 문장;
  }
  1 조건식이 true일때까지만 반복문을 실행한다.


  2 for문 실행순서


    초기식 -> 조건식(true) -> 수행할 문장 -> 증감식
        -> 조건식(true) -> 수행할 문장 -> 증감식
        -> 조건식(false) -> for문을 빠져나옴


  3 초기식은 한번만 수행한다.


  4 초기식, 조건식, 증감식은 생략할 수 있지만 for(;;){} 세미콜론 필수


  5 초기식, 증감식은 생략하거나 여러개 사용할 수 있다.
    조건식은 생략하거나 한개만 사용한다.
    for(int a=3, b=4;  ; sum+=a, hap+=b){}


  6 조건식을 생략하면 언제나 true로 인식한다.
   for문의 종료 시점을 정확히 파알할 수 없을때 for문을 무한루프로 설정한다
  
  

 

Java028_for.java

public class Java028_for {
public static void main(String[] args) {
int num, sum;
for (num = 1, sum = 1; num <= 5; num++, sum += num) {
System.out.printf("%2d, %2d\n", num, sum);
}
}//end main()
}//end class

 

Java029_for.java

public class Java029_for {
public static void main(String[] args) {
int sum=0; //누적을 저장할 변수
int i;
for(i=1; ;i++) {
sum=sum+i;
if(sum>=15) {
break;//현재 수행중인 반복문을 빠져나옴
}
}
//i=5 sum=15
System.out.printf("i=%d sum=%d\n",i,sum);
}//end main()
}//end class

 

Java030_for.java

public class Java030_for {
public static void main(String[] args) {
int sum = 0; // 누적을 저장할 변수
int i;
for (i = 1;; i++) {
sum = sum + i;
System.out.printf("i=%d sum=%d\n", i, sum);
if (sum >= 15) {
break;// 현재 수행중인 반복문을 빠져나옴
}
}
// i=5 sum=15
}//end main()
}//end class

 

Java031_for.java

아래 처럼 출력결과가 나오도록 코딩하세요.

고민하는 시간이 많을수록 실력도 쌓입니다.

  i=1
  i=2
  i=3
  i=4
  i=5
  sum=15

 

 

 

 

 

 

 

 

 

 

 

public class Java031_for {
public static void main(String[] args) {
int sum = 0; // 누적을 저장할 변수
int i;
for (i = 1;; i++) {
System.out.printf("i=%d\n", i);
sum = sum + i;
if (sum >= 15) {
break;// 현재 수행중인 반복문을 빠져나옴
}
}
System.out.printf("sum=%d\n", sum);
}//end main()
}//end class

 

 

Java032_for.java

 1부터 10까지 누적된 값을 출력
 sum=55

 

 

 

 

 

 

 

 

 

 

public class Java032_for {
public static void main(String[] args) {
int sum = 0;
int i;
for (i = 1; i <= 10; i++) {
sum += i;
}
System.out.printf("sum=%d", sum);
}//end main()
}//end class

 

Java034_for.java

3의배수만 제외하고 출력하는 프로그램
  1 2 4 5 7 8 10

 

 

 

 

 

 

 

 

 

 

public class Java034_for {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
/*
* if(i%3!=0) { System.out.println(i); }
*/
if (i % 3 == 0) {
// 반복문에서 continue을 실행하면 조건식으로 이동한다.
// for문에서 continue를 실행하면 증감식으로 이동한다.
continue;
}
System.out.println(i);
}
}//end main()
}//end class

Java035_for.java

 3행 X 4열
  1 2 3 4
  5 6 7 8
  9 10 11 12

 

조건 1. 초기값1 종료값12 증가값1
조건 2. 4의배수에서 줄바꿈
 

 

 

 

 

 

 

 

 

 

 

public class Java035_for {
public static void main(String[] args) {
int cnt=1;
for(int row=1;row<=3;row++) {//행
for(int col=1;col<=4;col++) {//열
System.out.printf("%4d",cnt);
cnt++;
}
System.out.println();
}
}//end main()
}//end class

Java036_for.java

출력결과

 

   1     2     3       4    5
  (1,1) (1,2) (1,3) (1,4) (1,5)
   1      2     3     4     5
  (2,1) (2,2) (2,3) (2,4) (2,5) 


   1  2  3  4  5
   1  2  3  4  5
   1  2  3  4  5
 

 

 

 

 

 

 

 

 

 

 

 

public class Java036_for {
public static void main(String[] args) {
for(int row=1;row<=4;row++) {//행
for(int col=1;col<=5;col++) {//열
System.out.printf("%4d",col);
}
System.out.println();
}
}//end main()
}//end class

Java037_for.java

 
  반복문에서 특정 위치로 이동(continue)을 하거나 빠져나올때(break)
  반복문은 label을 선언하고 호출하면 된다.
 

 

 

 

 

 

 

 

 

 

 

 

public class Java037_for {
public static void main(String[] args) {
move: for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 2; j++) {
System.out.printf("j=%d\n", i);
// break move;
continue move;
}
}
}//end main()
}//end class
반응형
Comments