본문 바로가기

개발언어/Java _ Spring

for문

1.for 문 / 반복문

 

조건을 만족하는 동안 블럭{} 내용을 반복 _ [ 반복 횟수를 알 때 적합 ]

 

<표현법>

더보기

for( 변수=초기값;  조건; 증감값 ){

   //반복하고자 하는 내용

}

 

    반복횟수를 규정하는 변수는 for문 자체적으로 정할 수 있지만,(지역변수)_ 이때 자료형을 함께 넣어주어야한다.
    클래스내에 선언하여 클래스내 전체에서 유효할 수 있게도 적용이 가능하다. (for 문 밖에서도 해당 변수의 값을 활용할 수 있다.)

 

03_loop / src / for_/ For02.java 

package for_;

import java.util.Scanner;

public class For02 {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		System.out.println(" ***구구단을 외자~*** ");
		System.out.println(" 원하는 단을 입력해주세요 : ");
		int dan = scanner.nextInt();

		for(int i=1; i <= 9 ;i++) {
			System.out.println( dan + " * " + i + " = " + ( dan * i ) );

		}

		

	}

}

for문에서 초기식, 조건식, 증감식도 생략할 수 있는데, 이때는 무한 반복문이 된다.

 

for( ; ; ){				//무한 반복문
	반복값
    }

03_loop / src / for_/ For03.java 

package for_;

public class For03 {

	public static void main(String[] args) {

		int sum = 0;
		int count = 0;
		int sum_23 = 0;

		for( int i = 1 ; i <= 100; i++ ) {
			int ran = (int)(Math.random()*100+1);		// 1 ~ 100 사이의 난수

			System.out.print( String.format("%4d", ran) );		//String.format("%4d", ran) 을 이용하여, ran의 출력값의 자릿수를 맞춰준다.

			if( ran % 2 ==0 && ran % 3 ==0 ) {
				count += 1;
				sum_23 += ran;
			}//2,3공배수 if문끝

			sum += ran;

			if( i % 10 == 0 ) {
				System.out.println( );					// 10개 숫자 출력 후 줄바꿈을 위한 출력문
			}//줄바꿈 if문 끝

		}//for문 끝

		System.out.println( "100개 난수의 총 합 : " + sum );
		System.out.println( "2와 3의 공배수의 갯수 " + count + " 2와3의 공배수의 합 " + sum_23 );

	}

}

/*
 1 ~ 100 사이의 난수를 100개 발생하여 출력하시오 
 - 한 줄에 100개씩 출력하시오
 - 난수의 합을 구하시오
 - 난수중에 2와 3의 공배수의 갯수와 합을 구하시오,
 */
  • random()를 이용한 난수생성 ( 1 ~ 100의 수 )
  • 생성된 결과값을 10개단위로 줄바꿈
  • 변수를 생성하여 생성된 난수의 합을 구함
  • 반복문 안에 조건문을 포함시켜, 조건에 부합하는 내용의 결과를 구함

 

 

 


2. 중첩 for문

for문 내에 또 다른 for문을 포함시켜 이중으로 반복할 수 있다. (ex) 시간을 표시하는 시계 1시 0~59분 / 2시 0~59분....)

 

<표현법>

03_loop / src / multiFor / MultiFor01.java

package multiFor;

public class MultiFor01 {

	public static void main(String[] args) {
		for( int i=2; i<=4; i+=2 ) {		// i = 2, 4      2번을 반복
			for(int j=1; j<=3; j++) {		// j = 1, 2, 3   3번을 반복
				System.out.println( " i = " + i + " j " +  j );			
			}//for j
			System.out.println(); //2 *3 번 총 6번 반복
		}//for i
	}

}

 

중첩 For문은 이와 같이, 두개의 반복문을 중복함으로 해서,

하나의 반복문이 수행을 마치면,  위의 반복문에서 중첩되어 반복됨으로 보다 활용성을 높일 수 있다.

 

03_loop / src / multiFor / MultiFor02.java

 

package multiFor;

public class MultiFor02 {

	public static void main(String[] args) {
		
		for( int i = 2; i < 10; i++ ) {
			for( int j = 1; j < 10; j++ ) {
				System.out.println( i + " * "  + j + " = " + ( i * j));
			}
			System.out.println();
		}
		
	}

}

 

대표적인 이중for문 구구단

'개발언어 > Java _ Spring' 카테고리의 다른 글

자바_this의 활용  (0) 2022.08.18
다형성(Polymorphism)  (0) 2022.08.16
조건문 if  (0) 2022.08.02
변수2 / 연산과 형 변환  (0) 2022.08.01
Java기초_변수(variable)  (0) 2022.08.01