국비교육 9일차 Java : for문으로 구구단 만들기, While문, do-while문
// 출력 예시
/*
== 구구단 ==
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");
}
while(조건식) {
조건식이 참(true)이라면 반복해서 실행할 명령문;을 실행하고,
조건식이 거짓(false)이라면 while의 { } 을 빠져나간다.
반복해서 실행할 명령문;
증감식;
}
public static void main(String[] args) {
loop=0;
while(!(++loop > 5)) {
// 괄호 안(++loop > 5)이 false가 되는 순간
// !를 통해 true가 되면서 반복문을 빠져 나온다.
// !() => 괄호() 속에는 while 반복문을 빠져나갈 조건식을 넣어준다.
System.out.println(loop+". 안녕 자바");
}
}
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문이 종료되기 때문이다.
}
}
변수초기화;
do {
반복해서 실행할 명령문;
증감식;
} while(조건식);
while문의 경우 조건식이 true일 때만 반복 실행하지만, do - while 문의 경우는 조건식이 false 일지라도 무조건 do { } 속에 있는 명령문은 1번은 실행하고서 반복문을 벗어난다.
그러므로 do - while 문은 무조건 do { } 속에 있는 명령문을 실행하고서 while(조건식) 속의 조건에 따라 참(true)이라면 계속 반복하고, 조건이 거짓(false)이라면 중지한다.
public class Main_dowhile_01 {
cnt=5; loop=0;
do {
System.out.println(++loop + ". Hello 자바");
} while (!(loop == 5));
// !()은 괄호 () 속에는 do-while 반복문을 탈출할 조건을 입력해준다.
}