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 |