1. 무한반복문
1.) for/while문으로 무한 반복문 작성
System.out.println("메뉴 출력");
//항상 참인걸로 간주 for 또는 while문
//for (;;) {
while(true) {
System.out.println("1. 입력하기");
System.out.println("2. 불러오기");
System.out.println("3. 저장하기");
System.out.println("4. 출력하기");
System.out.println("5. 종료하기");
System.out.println("입력 > ");
menu = scan.nextInt();
2.) 5를 입력하면 프로그램 종료
break;
- 반복문을 종료해라!
- break 시에 if문은 해당되지 않고 이외에 switch나 for문을 break하는 역할(break의 영향을 받지않는 유일한 제어문은 if문)
if (menu == 5) {
break;
}
3.) 번호 입력시 해당 case문 출력
- if문이 switch문보다 나중에 오는 이유는 5번 입력될 경우 반복문이 실행됨
switch (menu) {
case 1:
System.out.println("입력하기 처리");
break;
case 2:
System.out.println("불러오기 처리");
break;
case 3:
System.out.println("저장하기 처리");
break;
case 4:
System.out.println("출력하기 처리");
break;
default:
System.out.println("입력오류");
break;
}
2. 반복문 - while문
while(조건식) {...}
: 조건식을 만족하는동안 계속 반복됨
예시1) 1~100까지 숫자의 총합
int i = 1;
int sum = 0;
while(i <= 100) {
sum += i;
i++;
}
System.out.println("1~100까지 총합은 " + sum);
//위 while문을 for문으로 작성해보기
int sum2 = 0;
for (int j = 1; j <= 100; j++) {
sum2 += j;
}
System.out.println("1~100까지 총합은 " + sum2);
예시2) 구구단 가로 출력 예시
System.out.println("***구구단***");
int k = 1, l = 1;
while(k <= 10) {
while(l <= 10) {
System.out.printf("%2d * %2d = %-7d", l,k,k*l);
l++;
}
System.out.println();
k++;
l = 1;
}
예시3) -1이 입력될 때까지 반복적으로 점수를 입력받아서 평균을 출력는 프로그램
1.)스캐너 만들기
Scanner scan = new Scanner(System.in);
2.) 사용할 변수 만들기
점수 입력용 변수
평균 저장 변수 (평균 변수는 나눗셈하면 소수점으로 나올 수 있으니까 double형)
총점 저장 변수
카운트 변수
int inNum = 0, total = 0, cnt = 0;
double avg = 0.0f;
3.) 점수 입력
-1이라면/아니라면..
-1이 아니라면 총점에 입력한 점수 더하기.(반복)
-1이라면 총점을 카운트 변수 나눗셈하여 평균 계산.
3-1) while문 활용해서 문제 풀어보기
inNum = scan.nextInt();
while(inNum != -1) {
total += inNum;
cnt++; //
inNum = scan.nextInt(); //다시 새로운 입력값을 받아야하니까 scan 다시 써줌
}
avg = (double)total/cnt; //형변환)정수 연산. -> 실수 연산
System.out.println(cnt + "명 평균은 " + avg);
3-2) do while문 활용해서 문제 풀어보기
cnt = -1;
//do 문은 일단 맨처음에 반드시 한번 실행된다.
do {
total += inNum;
cnt++;
inNum = scan.nextInt();
} while (inNum != -1); //do while문 사용할 때 유의점 : 끝에 ';' 꼭 찍어주기
4.) 평균 출력
System.out.println(cnt + "명 평균은 " + avg);
3. 에러 뜨는 이유
1. 오타
2. ';' 미스
if(조건식);{ }
switch(정수식);{ }
for(초기식;조건식;증감식);{ }
while(조건식);{ }
4. break, continue 문
- 단독으로 사용이 불가능한 제어문
- if문에 사용되고 break문의 경우 switch문에서도 사용됨.
5-1) 1~100까지 짝수의 합
int sum = 0;
for (int i = 1; i < 100; i++) {
if (i % 2 == 0) {
continue;
sum += i;
}
5-2) 위의 코드를 수정해서 continue 사용해서 짝수 합 구하기
if (i % 2 != 0) {
continue; //홀수면 continue : 뒤에 오는 처리문 생략하라.
}
sum += i;
5-3) break문 사용하면 반복문 멈춤
if (i % 2 != 0) {
break; // 홀수면 브레이크 걸려서 for문 나옴
}
sum += i;
'JAVA' 카테고리의 다른 글
JAVA(11) - 메소드/메소드 특징/메소드 종류/작성 형식/main 메소드/4칙 연산 계산기/파라미터/반환값/반환형 (0) | 2020.03.10 |
---|---|
JAVA(10) - 배열(Array)/선언 방식/공간 사용(대입)/성적 입력 프로그램/향상된 for문 (0) | 2020.03.09 |
JAVA(8) - 달력/UP&DOWN/컴파일/디버깅 (0) | 2020.03.09 |
JAVA(7) - 반복문/for문/구구단 출력 프로그램/1~100까지의 합 구하기/for문 중첩/제어문 조합 (2) | 2020.03.05 |
JAVA(6) - switch문 계산기 만들기/if문으로 계산기 만들기/switch -> if 변환 (1) | 2020.03.05 |