728x90
■while문
1) 구조
while(조건식){ 실행문장; // 조건식의 결과가true일 동안! 실행됨 }
예제)
// while문을 사용해서 1부터 10까지 출력
int i = 1;
while(i<=10) {
System.out.println(i);
i++;
}
- 증가되는 보폭이 어디에 있냐에 따라 결과 값이 다르다!
예제)
// 무한루프 사용해서 1~10까지 출력하기
// while ---> 조건식 (초기화(변수), 보폭 xxxxx)
int i = 1;
while(true) {
// while문을 언제 break; 할건지
System.out.println(i);
i++;//보폭 if(i==11) { break;
}
}
예제)
while문을 사용하여 키보드로부터 입력 받은수가 10보다
작을 때만 계속 정수를 입력 받으세요.
// while문을 사용하여 키보드로부터 입력 받은수가 10보다
// 작을 때만 계속 정수를 입력 받으세요.
Scanner sc = new Scanner(System.in);
while(true) {
System.out.print("정수 입력 : ");
int i = sc.nextInt();
if(i>10) {
System.out.println("종료되었습니다");
break;
}
}
예제)
// 정수 입력 : __
// 누적 결과 : 결과 값 출력
// 단, -1을 입력 받았을 경우 프로그램을 종료
방법1
// 1. 입력하는 도구 가져오기
Scanner sc = new Scanner(System.in);
// 1) 조건식 : 입력받은 수가 -1이 아닌동안 반복
int num = 0;
// while문을 한번이라도 동작하게 하려면
// num을 -1이 아닌 다른 숫자로 초기화 시키자!
// num의 값을 누적시킬 공간(변수)
int sum = 0;
// sum을 shile문 밖에 선언한 이유
// : while문 안에 들어가 있으면 반복할 때마다
// sum이 0으로 초기화 된다!
while(num != -1) {
//출력문
System.out.print("숫자 입력: ");
num = sc.nextInt();
sum += num;
System.out.println("누적 결과 : "+sum);
}
System.out.println("프로그램이 종료 되었습니다.");
방법2
// 1. 입력하는 도구 가져오기
Scanner sc = new Scanner(System.in);
int sum = 0;
while (true) {
System.out.print("숫자 입력 : ");
int i = sc.nextInt();
sum += i;
System.out.println("누적 결과 : " + sum);
if (i == -1) {
System.out.println("종료되었습니다.");
break;
}
}
예제)
while문을 사용하여 숫자를 입력받아
홀수와 짝수가 각각 몇개 입력되었는지
출력하는 프로그램을 작성하세요.
방법1)무한루프
Scanner sc = new Scanner(System.in);
int num = 0;
int num1 = 0;
int num2 = 0;
while(true) {
System.out.print("숫자 입력 : ");
num = sc.nextInt();
if(num%2 == 0) {
num1 += 1;
}else if(num%2 == 1) {
num2 += 1;
}else if(num==-1) {
System.out.println("종료되었습니다.");
break;
}
System.out.println("짝수개수 : "+num1);
System.out.println("홀수개수 : "+num2);
}
방법2)조건문
Scanner sc = new Scanner(System.in);
int num = 0;
int num1 = 0;
int num2 = 0;
while(num!=-1) {
System.out.print("숫자 입력 : ");
num = sc.nextInt();
if(num%2 == 0) {
num1 += 1;
}else if(num%2 == 1) {
num2 += 1;
}
System.out.println("짝수개수 : "+num1);
System.out.println("홀수개수 : "+num2);
}
System.out.println("종료되었습니다");
■do-while문
방법1) do-while문
Scanner sc = new Scanner(System.in);
//1. 현재 몸무게 입력
System.out.print("현재 몸무게 : ");
int weight = sc.nextInt();
//2. 목표 몸무게 입력
System.out.print("목표 몸무게 : ");
int weight1 = sc.nextInt();
int minus=0; //감량한 몸무게
int week = 1; //주 차를 의미하는 변수
//3. 주차 감량 몸무게 입력 --> 반복
// 목표 몸무게에 도달 할 때 까지
do {
System.out.print(week+"주차 감량 몸무게 : ");
week++;
minus = sc.nextInt();
weight-=minus;
if(weight<=weight1) {
break;
}
}while(true);
System.out.println(weight+"kg 달성!! 축하합니다!!");
do문에서 조건을적고 break가 되면 while문으로 간다.
방법2) while문
System.out.print("현재 몸무게 : ");
int weight = sc.nextInt();
System.out.print("목표 몸무게 : ");
int weight1 = sc.nextInt();
int minus=0;
int week = 1;
// while(weight>weight1) {
// System.out.print(week+"주차 감량몸무게 : ");
// minus = sc.nextInt();
// weight -= minus;
// week++;
// if(weight<=weight1) {
// System.out.println(weight+"kg 달성!! 축하합니다!!");
// break;
// }
// }
while(true) {
if(weight>weight1) {
System.out.print(week+"주차 감량몸무게 : ");
minus = sc.nextInt();
weight -= minus;
week++;
}else {
System.out.println(weight+"kg 달성!! 축하합니다!!");
break;
}
}
ps. 반복횟수가 정해지지 않았을땐 while문! 한번은 꼭 실행해야 할때에는 do-while문!
728x90
'Study > JAVA' 카테고리의 다른 글
JAVA 기초 6일차 <배열> (0) | 2022.09.19 |
---|---|
JAVA기초 5일차 <반복문 예제> (0) | 2022.09.17 |
JAVA기초 3일차 <반복문(for문)> (0) | 2022.09.15 |
JAVA기초 2일차 <조건문> (0) | 2022.09.14 |
JAVA기초 2일차 <연산자> (2) | 2022.09.14 |