JAVA/자바[6일차](1)-while문,do-while문
while
while문은 for문과 마찬가지로 반복문의 한 종류이며
조건식이 참 일동 안 명령을 반복하는 기능을 갖고 있습니다.
while문의 구조
while(조건식){
반복할명령;
증감식;
}
while문 사용하는 방법
1.while문은 for문과는 다르게 조건식에 사용할 변수를 조건식 밖에서 선언해주어야 합니다.
while(int i==0) { //조건식안에 변수선언 불가!
}
2.while문의 조건식 안에 변수의 범위를 설정해 줍니다.
i <5; i≤10과 같은 범위를 설정해 주지 않는다면 while문은 무한반복으로 실행하게 됩니다.
3. 사용자가 원하는 명령을 { } 블록 안에 작성해줍니다.
4. 변수의 값을 변화할 증감식을 작성해 줍니다.
증감식을 작성하지 않으면 이 또한 무한반복에 들어갑니다.
while문 예시
while문을 사용하여 간단한 출력문을 출력해보죠
public static void main(String[] args) {
int i=0;
while(i<10) {
System.out.println("안녕하세요 나는"+i+" 번째 while문이에요");
i++;
}
}
출력 결과
while문 예시_2
아스키코드 중 기호만을 출력하려 합니다.
그런데 기호를 출력할 때 10개의 기호당 줄 바꿈을 띄우게 할 것입니다.
public static void main(String[] args){
char u=' '; //문자를 출력할 char형 변수 선언
int i=0; //while문에 사용할 변수 선언
int j=('~'-' '+1); //아스키코드에서 기호가 몇개있는지 계산하여 대입
while(i<j) { //i는j미만일 때 까지 while문반복
System.out.print((char)(u+i++)+" "); //정수형을 char형으로 형변환
if(i%10==0)System.out.println(); //10줄마다 줄바꿈을 위해 10의 배수 당 줄바꿈 실행
}
}
while문 예시_3
이번에는 은행 출금, 예금, 잔고확인, 종료 기능이 있는 프로램을 만들어보려 합니다.
프로그램은 사용자의 종료가 있기 전까지 계속 실행되어야 합니다.
public static void main(String[] args) {
//연습문제 : 가상은행의 예금/출금/잔고조회 실행
Scanner sc= new Scanner(System.in);
boolean run=true; //반복을 제어할 변수
int sel; //선택 사항 저장
int balance=12000; //현재 잔고(잔액)
while(run) { //현재 while의 조건식에 true값이 들어감에 따라 while문 무한반복
int money;
//사용자에게 보여질 화면
System.out.println("---------------------------------");
System.out.println("1.예금 | 2.출금 | 3.잔고 확인 | 4. 종료");
System.out.println("---------------------------------");
System.out.print("메뉴 선택:");
sel=sc.nextInt(); //사용자에게 입력 받기
switch(sel) { //switch문으로 사용자의 입력 번호 비교
case 1: //예금처리
System.out.print("예금액:");
money=sc.nextInt();
balance+=money;
System.out.println("고객님의 잔액은"+balance+"원 입니다.");
break;
case 2: //출금 처리(출금 금액 입력)
//**잔액보다 많은 금액은 출금할 수 없으니 조건식으로 처리**
System.out.print("출금액:");
money=sc.nextInt();
//조건식
if(balance<money) { //출금액이 통잔 잔고보다 클 경우
System.out.println("잔액이 부족합니다.");
}else {
balance-=money; //balance= balance-money
System.out.println("현재 고객님의 잔액"+balance+"원 입니다.");
}
break;
case 3: //잔고(balance) 출력
System.out.println("현재 잔고:"+balance+"원 입니다.");
System.out.println();
break;
case 4:
System.out.println("프로그램을 종료합니다.");
run=false; //while의 조건식을 false로 바꾸어 줌으로써 while문 종료
break;
default :
System.out.println("잘못된 선택입니다. 값은 1~4만 입력해주세요");
}//switch문 끝
} //while문 끝 }
}
위 예시는 경우의 수가 많기에 모든 실행결과를 보여드릴 수 없기에 case 2번만 보여드리겠습니다.
2번 입력 결과(잔고보다 출금액이 많을 때)
추가적으로 잔고의 기본 값은 12000입니다.
do-while문
do-while문은 while문과 똑같지만 한 가지 다른 점이 하나 있습니다.
do-while문은 조건식이 true이든 false이든 일단 실행문을 무조건 한번 실행하고 조건식을 실행하게 됩니다. 약간의 순서가 다른 것이지요
do-while문 구조
do{
실행문}
while(조건식)
do-while문 에시
public static void main(String[] args) {
do {
System.out.println("무조건 한번 실행하는 do");
}while(false);
//출력 결과:무조건 한번 실행하는 do
}
위의 예시처럼 while문의 조건은 false이기에 실행이 안되야하지만 do-while문은 do { } 안에 있는 실행문을 실행 한 뒤 조건식을 보는 형태입니다.
이상으로 글 마쳐보겠습니다.
글 읽어주셔서 감사합니다.