[JAVA] 반복문 (Iteration)

Dawon Ruby Choi·2023년 8월 11일
0

B and B (&&) = 두 개가 맞아야 참 (아이디, 패스워드)
B or B (||) = 하나라도 맞으면 참 ||
not (!) = Boolean의 값을 역전 시키는 역할

반복문 iteration

(1) while (조건)

: i가 while 조건 안에 있는 범주 내 반복

	int i = 1;  // i의 값이 10보다 작다면 true, 크다면 false가 된다.
	while (i<10) {
		System.out.println("coding Everybody + i"); //i의 값에 1을 더한다.
		i++; // i=i+1; (반복할 때 마다 1씩 증가)
        

(2) for (초기화; 종료조건; 반복실행)

: 자주 발생하는 로직을 문법으로 while 보다 간결하게 만든 것

	for (int i = 0; i < 10; i ++) {
		System.out.println("Hello" + i);
	} // i=1. 0은 10보다 작기 때문에 true . 그럼 i에 1을 더하기
// 출력값이 hello 9까지만 나오는 이유는 10이 10보다 작지 않기 때문에 false가 됨

for 문의 특징

1) 변수 2개로도 가능

for (int i = 1, j = 10; i <= 10; i++, j--) {
System.out.println("i="+i+",j="+j);

2) for 안에서 선언된 변수는 {} 중괄호가 끝나면 사용 할 수 없음
그럴 때는 밖으로 빼주면 됨

int i ;

for (int i = 1; i <= 10; i++) {
System.out.println("i="+i);;
}
System.out.println(i);

3) 조건식을 생략하면 true로 간주되어 무한 반복

★반복문 예제★

1) 구구단

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

2) 별찍기

	for (int i=1;i<=5;i++) { // 다섯 줄 찍을까
			for(int j=1;j<=10;j++) { // 같은 변수 사용하면 안되니까 j 변수사용 
				System.out.print("*"); // 이게 한줄 10개 *에대한 코드 "**********"
		}
			System.out.println(); // println공백이면 그냥 줄바꿈, 10개 찍고 줄바꾸게하기 
		}
	} //i는 몇 줄을 찍을건지 , j는 한 번에 몇 개를 찍을건지
  
*
**
***
****
*****

3) 역별찍기

int num = sc.nextInt();
	        
	        for (int i = num; i >= 1; i--) {
	            for (int j = 1; j <= i; j++) {
	                System.out.print("*");
	            }
	            System.out.println();
	            
	     }
	}
    *****
    ****
    ***
    **
    *
    
    첫 번째 for 루프는 행을 나타내며, 내부의 두 번째 for 루프는 각 행에서 출력될 별의 개수를 결정합니다. 이렇게 중첩된 for 루프를 통해 원하는 패턴을 출력할 수 있습니다.

반복문의 제어

(1) break

  		for (int i = 0; i < 10; i ++) {
		if ( i==5 )
			break;
		System.out.println("Hello" + i);
	}
}

}

→ Hello 4 까지 나오는 이유는, 5=5가 같다는 사실이 참이기 때문에 break가 걸리기 때문이다.

(2) continue

: 반복문과 함께 쓰이며, 반복문 내부에 continue를 넣으면 이 후 반복되는 부분을 수행하지 않고 조건식이나 증감식을 수행함

	for (int i = 0; i < 10; i ++) {
		if ( i==5 )
			continue;
		System.out.println("Hello" + i);
	}

반복문의 중첩

public static void main(String[] args) {

	for (int i = 0; i < 10; i ++) { 
		 for (int j = 0; j < 10; j++) {
			 System.out.println(i + "" + j);
		 }
	}
}

→ 00~99까지 출력
(int i = 0이 참이기 때문에, int j에서 루프되고 이 후 루프 끝나면 int i = 1로 반복하기 때문)

profile
나의 코딩 다이어리🖥️👾✨

0개의 댓글