for 출력 순서
for(①int i=0; ④i<10; ③i++){
②System.out.println("i");
}
반복문에서 i를 2씩 증가하게 만들기
int i=1;
//복합 대입 연산자를 사용하여 i*=2를 하게 되면 2씩 증가
for(;i<10;i*=2){
System.out.println(i);
}
for출력 예시
문제 : 클래스를 생성해 아래 내용을 수행하세요
1. 입력
2. 출력
3. 수정
4. 삭제
0. 프로그램 삭제
Scanner sc = new Scanner(System.in);
//계속 for문이 실행 될 수 있게 무한반복은 하되 프로그램 종료를
//하면 프로그램이 꺼질수 있게 하려면 그냥 for(;;)으로 무한 반복 시켜주면 된다.
for(;;){
System.out.println("1. 입력");
System.out.println("2. 출력");
System.out.println("3. 수정");
System.out.println("4. 삭제");
System.out.println("0. 프로그램 종료");
System.out.print("> ");
int menu = sc.nextInt();
boolean end = false;
if(menu == 1) {
System.out.println("입력 페이지 입니다.");
}else if(menu == 2) {
System.out.println("출력 페이지 입니다.");
}else if(menu == 3) {
System.out.println("수정 페이지 입니다.");
}else if(menu == 4) {
System.out.println("삭제 페이지 입니다.");
}else if(menu == 0) {
System.out.println("프로그램 종료");
//retrun은 처음으로 값을 반환하고 메소드 자체를 종료 시킨다.
//return;
//프로그램을 종료 시키는 다른 방법
//프로그램 강제 종료 시키는 법 : System.exit(0);
end = true;
break;
}else {
System.out.println("없는 메뉴 번호 입니다.");
}
if(end) {
break;
}
}
이중 for문 출력 순서
①for(int i=1; i<=5; i++){
②for(int j=1; j<=5; j++){
}
}
2중 for문 출력 예시
int dan = 2;
int unit = 1;
for(; dan<=9; dan++){ //여기서 한번 for문이 돌때
//위에서 dan을 초기화 하기는 했지만 for문 안에서 재할당을 해주지 않으면
//2단만 나오게 된다 왜냐하면 9번이 돌고 unit++로 10이 되었기 때문에
//더이상 첫번째 for문을 실행 시켜 줄 수 없다.
//그렇기때문에 unit을 for문안에서 한번더 재할당을 시켜준것이다.
for(unit=1; unit<=9; unit++){ //여기 for문은 9번을 돈다.
System.out.printf("%d * %d = %d\n", dan, unit, dan*unit);
}
System.out.println();
}
for문과 비교한 while반복문 출력 예시
int dan = 2;
int unit = 1;
for(; dan<=9; dan++){ //여기서 한번 for문이 돌때
//위에서 dan을 초기화 하기는 했지만 for문 안에서 재할당을 해주지 않으면
//2단만 나오게 된다 왜냐하면 9번이 돌고 unit++로 10이 되었기 때문에
//더이상 첫번째 for문을 실행 시켜 줄 수 없다.
//그렇기때문에 unit을 for문안에서 한번더 재할당을 시켜준것이다.
for(unit=1; unit<=9; unit++){ //여기 for문은 9번을 돈다.
System.out.printf("%d * %d = %d\n", dan, unit, dan*unit);
}
System.out.println();
}
while 출력 문제
문제 : 클래스를 생성해 아래의 내용을 수행
- 중접 while문을 사용하여
- GuGuDan프로그램 제작하여 출력
int dan = 2;
int unit = 1;
while(dan<=9){
while(unit<=9){
System.out.printf("%d * %d = %d", dan, unit, dan * unit);
unit ++;
}
dan++;
unit = 1; //unit을 1로 재할당을 해줘야 2단에서 멈추지 않고 9단까지 간다.
System.out.println();
}
Do/While문 예시
문제 : Quiz01클래스를 생성해 아래 내용을 수행하세요.
- 두 수(정수)를 입력 받아서(Scanner 사용)
- 두 수의 합이 0이 될 때 까지 프로그램이 반복 실행(0이면 종료
- do-while문 사용 종료
Scanner sc=new Scanner(System.in);
int num1;
int num2;
int result;
do{
System.out.print("숫자1: ");
num1=sc.nextInt();
System.out.print("숫자2: ");
num2=sc.nextInt();
result=num1+num2;
System.out.printf("%d+%d=%d\n", num1,num2,result);
}while(result !=0;);
//while문의 조건에 부합이 될 때까지 계속 반복/예)result가 0이 아니면 계속 반복
System.out.println("합계가 0이므로 프로그램을 종료 합니다");