development/Java
[Java] While문 / 문자열 비교하기 .equals(), 무한 루프 , 탈출 조건, break()
Happyoon ~
2021. 11. 2. 19:11
728x90
반응형
반복문에는 for문 이외에 while문이 있다.
while(조건)에서, 조건이 참일 경우 while문이 실행된다.
예제1 - 무한 루프
MainClass10.java - 탈출 조건이 없고 while(true)이므로 무한루프 실행
package test.main;
public class MainClass10 {
public static void main(String[] args) {
int count = 0;
//무한 루프
while(true) {
count++;
System.out.println(count+"반복중...");
}
}
}
예제2 - 탈출 조건 넣기1
MainClass11.java - count가 100000일 때 while문을 빠져 나오도록 탈출조건 설정
package test.main;
public class MainClass11 {
public static void main(String[] args) {
int count=0;
//외형을 보면 무한 루프이지만
while(true) {
count++;
System.out.println(count+" 번 반복중...");
//탈출 조건이 있다.
if(count == 100000) {
break;//인접한 반복문 블럭 1개 탈출
}
}
System.out.println("main 메소드가 종료 됩니다.");
}
}
count가 99999일 때, count++되어 count는 100000이되고, "100000번 반복중..."이 출력된다.
if문에서 count 가 100000이므로 break문을 통해 while문을 탈출한다.
예제 3 - 탈출 조건 넣기 2
MainClass13.java - count가 100000보다 작을 때만 while문 실행되도록 설정
package test.main;
public class MainClass12 {
public static void main(String[] args) {
int count=0;
while(count<100000) {
count++;
System.out.println(count+"번 반복중...");
}
System.out.println("main 메소드가 종료됩니다.");
}
}
count가 99999이면, count++되어 count가 100000이 되고, 바로 countrk 100000이므로 "100000번 반복중..."이 출력된다.
다음 while문이 실행되면 count가 100000이므로 while문을 탈출하여 "main 메소드가 종료됩니다."를 출력한다.
문자열로 탈출조건 지정하기 - .equals()
q를 입력하면 while문을 탈출하는 예제이다.
지금까지 정수로만 탍출조건을 지정했는데 이번에는 문자열로 탈출조건을 지정하는 예제이다.
자바에서는 문자열이 같은지 비교할 때 동등비교연산자인 "=="을 사용하면 절대! 안된다.
대신, 자바에서 문자열이 같은지 비교할 때는 .equals()메소드를 이용해야 한다.
MainClass13.java
package test.main;
import java.util.Random;
import java.util.Scanner;
public class MainClass13 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
while(true) {
System.out.print("탈출하고 싶으면 q 를 입력하세요:");
String line=scan.nextLine();
/*
* java 에서 문자열이 같은지 비교할때는 .equals() 메소드를 이용해야 한다.
*/
if(line.equals("q")) {
break;
}
}
System.out.println("main 메소드가 종료 됩니다.");
}
}
출력 결과
반응형