직접 값을 입력하고 반복문에서 빠져나오기
while문
Scanner sc = new Scanner(System.in);
String Value = "";
while (!Value.equals("quit")) { // equals - 문자열의 내용 비교 즉 quit이 서로 !아닐때 반복수행
System.out.print("입력하세요(종료하려면 quit을 입력하세요)");
Value = sc.nextLine();
System.out.println("입력하신 값은 " + Value + "입니다");
}
Scanner를 사용하여 직접 값을 입력하도록 한다. equals는 문자열의 내용을 비교하는 것이므로 Value가 quit이 아니면
반복수행을 하며 맞다면 입력하신 값은 quit 입니다. 라는 문구와 함께 반복문을 빠져나간다.
for문
Scanner sc = new Scanner(System.in);
String Value = "";
for (; !Value.equals("quit");) {
System.out.print("입력하세요(종료하려면 quit을 입력하세요)");
Value = sc.nextLine();
System.out.println("입력하신 값은 " + Value + "입니다");
}
초기화식과 증감식이 사용되지 않는다. 위의 while문과 비교해 보았을 때 while문이 가독성 및 더 효율적인 코드라 볼 수 있다.
do-while 문
public static void main(String[] args) {
// while 조건비교먼저
// do-while 수행 후 조건비교
Scanner sc = new Scanner(System.in);
String Value = "";
do { // equals - 문자열의 내용 비교 즉 quit이 서로 !아닐때 반복수행
System.out.print("입력하세요(종료하려면 quit을 입력하세요)");
Value = sc.nextLine();
System.out.println("입력하신 값은 " + Value + "입니다");
}while(!Value.equals("quit"));
}
}
무조건 입력을 받고 시작하여야하기 때문에 조건비교를 하고 사용자에게 값을 입력받아 처리하는 것보다
입력받아 그 값이 얼마인지 차후에 비교하는 것이 더 효율적이기 때문에 do -while문이 앞서 for, while문보다 효율적인 코드가 된다.
숫자1에서부터의 합이 13미만인 최대숫자
ex ) 1+2+3+4+5+6+7+8
숫자 1 2 3 4 5
합 1 3 5 610 15
// 숫자1에서부터의 합이 13미만인 최대숫자
// 1+2+3+4+5+6+7+8
// 숫자 1 2 3 4 5
// 합 1 3 5 610 15
int sum = 0;
int num = 1;
while (sum + num < 13) {
sum += num; // sum 1 3
num++; // 2 3
}
num--;
System.out.println("최대숫자는" + num);
sum = 0;
num = 0;
do {
num++;
sum += num;
} while (sum + (num + 1) < 13);
System.out.println("최대숫자는.."+ num);
}
'java' 카테고리의 다른 글
java_4_배열 (0) | 2021.10.12 |
---|---|
java_ 3_ 반복문의 예외항목 (0) | 2021.10.09 |
java_ 3_ 반복문 (for, while, do-while문 ) (예제) (0) | 2021.10.08 |
java_ 2_ 연산자 (0) | 2021.10.07 |
java_ 2_ 조건문(예제) (0) | 2021.10.07 |