자바 반복문 do-while 문과 Scanner를 이용한 자바 문자열 받아오기를 알아보겠습니다.
do-while문은 while문과 비슷하지만
while문은 시작시 조건식을 판단해 블록 내부를 실행할지말지 결정하지만
do while문은 블록 내부의 실행문을 실행시키고 실행 결과에 따라서 반복 실행을 계속할지 결정하는 경우에 사용이 가능하다.
우선 do-while문의 형태를 알아보도록하자.
do {
실행문
} while (조건식);
do 에 진입했을시 우선 실행문을 먼저 실행한 후 while의 조건식에서 true와 false를 판별한 후
true일 경우 실행문을 다시 시작하고 false일 경우 do-while문을 벗어나는 구조를 가지고 있습니다.
do-while문의 예제를 시작하기전 사용할 새로운 메소드를 알아보도록 하겠습니다.
Scanner는 앞 게시물과 다르게 문자열을 입력받을 수 있습니다.
아래 코드와 같이 Scanner의 객체를 생성한 후 nextLine메소드를 호출하게 되면 콘솔에 입력된 문자를 받을 수 있게 됩니다. 해당 문자는 inputString에 저장하게됩니다.
Scanner scanner = new Scanner(System.in);
String inputString = scanner.nextLine();
예제를 통해 do-while문과 Scanner의 사용방법을 알아보도록 하겠습니다.
코드를 따라하다보면 이런 에러가 발생할 수 있습니다. 또한 Scanner 클래스를 사용하기위해 import를 해줘야하므로
Scanner를 친 후 Ctrl + Spacebar 를 같이 눌러주면 해당 그림과 같이 뜹니다
java.util을 선택해주면 빨간네모칸에 import java.util.Scanner;가 자동으로 생성이 되는것을 확인하실 수 있습니다.
예제 코드는 아래에 있습니다.
System.out.println("따라할 메세지를 입력하세요");
System.out.println("프로그램을 종료하려면 t를 입력하세요");
Scanner scanner = new Scanner(System.in);
String inputString;
do {
System.out.print(">");
inputString = scanner.nextLine();
System.out.println(inputString);
} while( ! inputString.equals("t"));
System.out.println();
System.out.println("프로그램종료");
해당 코드에 대한 순서는
System.out.println("따라할 메세지를 입력하세요");
System.out.println("프로그램을 종료하려면 t를 입력하세요");
를 통해 콘솔에 단순 출력을 해준 뒤
Scanner scanner = new Scanner(System.in);
Scanner 객체를 생성해 줍니다.
문자열이 저장될 inputString의 타입을 String으로 해주고
do while문으로 들어가게 됩니다.
> 를 출력해준뒤
inputString = scanner.nextLine(); 를 통해 콘솔에서 문자열을 입력받은뒤 inputString에 저장해줍니다.
그뒤 inputString을 출력해주고
while문의 조건식에 가서 true와 false를 판별합니다.
! inputString.equals("t") 의 의미는
inputString에 있는 문자가 "t"와 같지 않을때 라는 뜻입니다.
"t"가 아닌 문자가 들어올 경우 do{}의 실행문을 계속 반복한뒤 조건문(! inputString.equals("t"))을 판단합니다.
앞서 말했듯이 while에 조건식이 false일 경우 do-while문 종료라 하였으니 "t"가 입력될때가 종료가 되는 때 입니다.
실행결과를 통해 우리의 생각을 정리해보도록 하겠습니다.
'IT Program > Java Basic' 카테고리의 다른 글
자바 배열(array) & 배열 출력 & 배열 for문 & 배열.length & 배열 에러 (0) | 2022.03.02 |
---|---|
자바 참조 타입, 기본 타입 ,스택(stack), 힙(heap), 문자열 비교, 주소값 비교 (0) | 2022.03.02 |
자바(java) 반복문(while) & 자바 키코드(keyCode) 정리 & 키보드 제어 & while문 키보드 (0) | 2022.03.01 |
자바(java) 반복문(for문) & 구구단 출력하기 (0) | 2022.03.01 |
자바(java) 조건문 switch문 (2) | 2022.03.01 |