220613 TIL

Yeoni·2022년 6월 13일
0

국비교육TIL

목록 보기
9/41

국비교육 9일차 Java : for문으로 구구단 만들기, While문, do-while문

1. for문으로 구구단 만들기

// 출력 예시
/*
				== 구구단 ==
	2*1=2	3*1=3	4*1=4	...		9*1=9
	2*2=4	3*2=6	4*2=8	...		9*2=18
				...
	2*8=16	3*8=24	4*8=32	...		9*8=72
	2*9=18	3*9=27	4*9=36	...		9*9=81
*/
System.out.printf("%30s\n","== 구구단 =="); 	
// 공백 만들기, %s는 기본적으로 오른쪽 정렬. 
// 왼쪽 정렬은 %-30s. 30은 공백 칸 수. 
// s는 뒤에 문자열("== 구구단 ==") 넣어줄 위치.

for(int row=1; row<=9; row++) { 			// 9행
	for(int col=2; col<=9; col++) {		// 8열
		System.out.print(col+"*"+row+"="+(col*row)+"\t");
	}
	System.out.print("\n"); 	
}

2. while문

1) while문 형식

while(조건식) {
  	조건식이 참(true)이라면 반복해서 실행할 명령문;을 실행하고,
 	조건식이 거짓(false)이라면 while{ } 을 빠져나간다. 
	
   반복해서 실행할 명령문; 
   증감식;
}

2) while문 예시

public static void main(String[] args) {

	loop=0;
	while(!(++loop > 5)) {		
    	// 괄호 안(++loop > 5)이 false가 되는 순간 
        // !를 통해 true가 되면서 반복문을 빠져 나온다. 
		// !() => 괄호() 속에는 while 반복문을 빠져나갈 조건식을 넣어준다. 
		System.out.println(loop+". 안녕 자바");
	}
}

3) while문으로 구구단 출력하기

public static void main(String[] args) {
	
	// while문으로 구구단 출력
	// 행 : row, 열 : col
	
	int row=0, col=1;
	while(!(++row>9)) {
		while(!(++col>9)) {
			String str = (col<9)?"\t":"\n"; 	
            // col이 9보다 작으면 tab, col이 9가 되어 가장 마지막 단이 되면 줄바꿈.
			System.out.print(col+"*"+row+"="+(col*row)+str);
		}
		col=1; 	// col을 1로 초기화 시켜줘야한다.
				// col이 10인 상태로 while문을 빠져나오게 되면 row while문에서
				// col이 10인 상태로 진행되기 때문에 1행만 진행하고
                // while문이 종료되기 때문이다. 
	}	
}

3. do-while문

1) do-while문 형식

변수초기화; 

do {
	반복해서 실행할 명령문; 		 
	증감식;					
} while(조건식);				

while문의 경우 조건식이 true일 때만 반복 실행하지만, do - while 문의 경우는 조건식이 false 일지라도 무조건 do { } 속에 있는 명령문은 1번은 실행하고서 반복문을 벗어난다.

그러므로 do - while 문은 무조건 do { } 속에 있는 명령문을 실행하고서 while(조건식) 속의 조건에 따라 참(true)이라면 계속 반복하고, 조건이 거짓(false)이라면 중지한다.

2) do-while문 예시

public class Main_dowhile_01 {
	cnt=5; loop=0;
	do {
		System.out.println(++loop + ". Hello 자바");		
	} while (!(loop == 5)); 		
    // !()은 괄호 () 속에는 do-while 반복문을 탈출할 조건을 입력해준다. 
}

4. 기타 새로 배운 메소드

  • equalsIgnoreCase() : 대문자, 소문자 구분하지 않고 값이 같은지 확인하는 함수.
  • 레이블 : 레이블을 사용하여 break;를 사용할 수 있는데, 레이블명 뒤에는 : 을 붙이며 반드시 반복문 앞에 써야한다.
profile
이런 저런 기록들

0개의 댓글