for문은 정해진 횟수만큼 반복을 한다고 생각할 수 있다.
while문은 조건식이 true일 경우에 계속해서 반복을 한다.
조건식에는 비교 또는 논리 연산식이 주로 오게 되는데 조건식이 flase가 되면 반복 행위를 멈추고 while문을 종료한다.
// 사용자가 원하는 만큼 명령들을 여러번 실해하는 제어문
// 특정 조건이 만족되는 동안 명령을 계속적으로 실행
// for(초기; 조건; 증감){
// 실행코드;
// }
// while(조건문){
// 실행코드;
// }
// ex ) int i = 0;
// while(i < 5) {
// system.out.println("Hi");
// i++;
// }
while문 코드의 흐름이다.
실습문제
(1)
public void whileTest() {
int i = 0;
while(i < 5) {
System.out.println("hi");
i++;
}
}
package com.kh.control02.run;
import com.kh.control02.loop.A_For;
import com.kh.control02.loop.B_While;
import com.kh.control02.loop.LoopPractice;
import com.kh.control02.loop.RandomTest;
public class Run {
public static void main(String[] args) {
B_While bw = new B_While();
bw.whileTest4();
}
}
hi
hi
hi
hi
hi
(2)
public void whileTest1() {
Scanner sc = new Scanner(System.in);
int i = 0;
int sum = 0;
while(i < 5) {
System.out.print("정수 값을 입력하세요 : ");
int num = sc.nextInt(); // 얘를 5번 반복 // num은 while문에서만 가능 .. 범위 밖에서는 사용할수없음
sum += num;
i++;
}
System.out.println("입력한 5개의 정수의 합 : " + sum);
}
정수 값을 입력하세요 : 5
정수 값을 입력하세요 : 5
정수 값을 입력하세요 : 3
정수 값을 입력하세요 : 2
정수 값을 입력하세요 : 5
입력한 5개의 정수의 합 : 20
(3)
public void whileTest2() {
// while 문을 이용하여 1~100까지의 수 중에 짝수들의 합을 출력
// 짝수들의 합은 : 2550
int i = 0;
int sum = 0;
while(i <= 100) {
if(i % 2 ==0) {
sum += i;
}
i++;
}
System.out.println("짝수들의 합은 : " + sum);
}
짝수들의 합은 : 2550
(4)
public void whileTest3() { //위랑 같은
int i = 0;
int sum = 0 ;
while(i<100) {
i = i + 2;
sum += i;
}
System.out.println("짝수들의 합은 : " + sum);
}
짝수들의 합은 : 2550
(5)
public void whileTest4() {
Scanner sc = new Scanner(System.in);
System.out.println("n의 수를 입력 : ");
int n = sc.nextInt();
int i = 0;
int sum = 0;
while (i <= n) {
if(i % 2 == 0) {
sum += i ;
}
i++;
}
System.out.println("짝수들의 합은 : " + sum);
}
n의 수를 입력 :
10
짝수들의 합은 : 30
(6)
public void whiletest() {
// 무한루프
// 반복 횟수가 미리 정해지 있지 않고, 무한히 반복되는 루프
// --> for , while
// while(true)
//
// boolean bool = true;
// while(bool)
// for(;;)
//
// while(true){
// while(true) {
// if() {
// break; // 인접해있는 while 만 빠져나감
//
// }
// }
// break
// --> 반복 명령의 실행도중 강제적으로 빠져 나올 때 사용 하는 명령
// --> 여러개의 반복문이 중첩되어 있는 경우 가장 안쪽 반복문 한개만 빠져나옴
// continue
// --> 반복문의 나머지 부분을 무시하고 반복문의 선두로 이동할 때 //최상단으로!
// 난수
// --> 임의의 값 또는 무작위로 만들어지는 알 수 없는 값
// Random 클래스 사용
// nextlnt(n); -> 0~n-1 사이의 숫자중 1개
}
}
무한루프 while문의 흐름이다.
break문
break문은 반복문인 for문, while문, do-while문의 실행을 중지 할 때 사용된다.
switch문에서도 break문을 사용하여 switch문을 종료한다.
만약 반복문이 중첩되어 있을 경우 break문은 가장 가까운 반복문만 종료하고 바깥쪽 반복문은 종료하지 않는다.
중첩된 반복문에서 바깥쪽 반복문 까지 종료 시켜려면 바깥쪽 반복문에 이름을 붙이고, break 이름; 을 사용하면 된다
for(...){
for(...){
break;
}
}
Label : for(...){
for(...){
break Label;
}
}
'이공계전문기술연수 > Java' 카테고리의 다른 글
<이공계전문기술연수> 14. Java 배열(1) (0) | 2019.08.15 |
---|---|
<이공계전문기술연수> 13. 참조 타입 / 참조 변수 (0) | 2019.08.15 |
<이공계전문기술연수> 11. Java 반복문: for문 // Math.random() (0) | 2019.08.13 |
<이공계전문기술연수> 10. Java 조건문 switch문 (0) | 2019.08.11 |
< 이공계전문기술연수> 9. Java 조건문 if문 (0) | 2019.08.11 |