* *while문
[초기식;]
while(조건식){ // 반복을 수행시킬 조건만을 작성
반복적으로 실행할 코드 ;
[증감식];
}
1. for문을 while문으로 바꾸기
1) 안녕하세요 5번 반복출력
public void method1() {
//for문 사용시
for(int i=1; i<=5;i++) {
System.out.println("안녕하세요");
}
//while문 사용
int i = 0;
while(i <5) {
System.out.println("안녕하세요");
i++;
}
System.out.println(i); //5
}
2) 1 2 3 4 5 형식으로 숫자 출력하기
public void method2() {
//for문
for(int i=1;i<6;i++) {
System.out.print(i+ " ");
}
System.out.println();
//while문
int i= 1;
while(i<6) {
//System.out.print( i + " ");
//i++;
System.out.print( i++ + " ");
}
2. while문 예시
1) 1 부터 10까지 홀수 출력
public void method3() {
int i = 1;
while(i<11) {
if(i % 2 == 1) {
System.out.print(i + " ");
}
i++;
}
}
2) 1부터 랜덤값(1~100) 까지의 총합계
public void method4() {
int random2 = (int)(Math.random()*100 + 1);
int sum2 = 0;
int i2 = 1;
while(i2<=random2) {
sum2 += i2; // sum2 += i++
i2++;
}
System.out.println("1에서부터 "+ random2 +"까지의 총 합 : "+ sum2);
}
3) 문자열을 입력받아 각 인덱스에 담긴 문자 출력
public void method5() {
Scanner sc = new Scanner(System.in);
System.out.print("문자열 입력 : ");
String str = sc.nextLine();
int i = 0;
while(i<str.length()) {
System.out.println(str.charAt(i++));
}
}
3. while문 무한 반복문
- 프로그램을 종료할때까지 메뉴를 무한반복하여 출력하기
public void method6() {
Scanner sc = new Scanner(System.in);
while(true) {
// 메뉴 출력
System.out.println("\n======메뉴=======");
System.out.println("1. 안녕하세요 5번 출력");
System.out.println("2. 1부터 5까지 출력");
System.out.println("3. 1부터 10까지의 홀수 출력");
System.out.println("4. 1부터 랜덤값까지 총 합계 출력");
System.out.println("5. 문자열의 각 문자 출력");
System.out.println("0. 프로그램 종료");
System.out.print("메뉴 입력 > ");
int menu =sc.nextInt();
switch(menu) {
case 1 : method1(); break;
case 2 : method2(); break;
case 3 : method3(); break;
case 4 : method4(); break;
case 5 : method5(); break;
case 0 : System.out.println("프로그램을 종료합니다. 이용해 주셔서 감사합니다."); return;
default : System.out.println("잘못 입력하셨습니다. 메뉴를 다시 입력해주세요.");
}
}
}
** do - while문
[표현법]
do{
반복적으로 실행할 코드 ;
}while(조건식);
}
*처음에 조건 검사 없이 무조건 한번은 실행
=>조건검사 --> true일 경우 실행
---------반복---------
=>조건검사 --> false일 경우 실행x => 반복문 종료
1. do- while문 예시
1) 1부터 사용자가 입력한 수까지의 총합계
public void method8() {
Scanner sc = new Scanner(System.in);
System.out.print("정수 : ");
int num = sc.nextInt();
int i = 1;
int sum = 0;
do {
sum += i++;
}while(i <= num);
System.out.println("총 합계 : "+ sum);
}
2) 매번 반복적으로 사용자에게 문자열을 입력받고 해당 문자열의 길이 출력
단, 사용자가 입력한 문자열이 "exit"일 경우 반복문 종료
단, 사용자가 입력한 문자열이 "exit"일 경우 반복문 종료
public void method9() {
Scanner sc = new Scanner(System.in);
String str = "";
do {
System.out.print("문자열 입력(exit입력시 종료) : ");
str = sc.nextLine();
///xxx의 글자수는 xx글자입니다.
System.out.println(str + "글자 수는 " + str.length() + "글자 입니다.");
}while(!str.equals("exit"));
}
}
'JAVA' 카테고리의 다른 글
4_5. 제어문_ 분기문 continue (0) | 2022.10.21 |
---|---|
4_5. 제어문_ 분기문 break (0) | 2022.10.21 |
4_3 제어문 _반복문 for문 (0) | 2022.10.20 |
4_2. 제어문 _ 조건문 switch (0) | 2022.10.18 |
4_1. 제어문(Control) _ 조건문 if (0) | 2022.10.18 |