Java 기초 제어문 - while문
728x90
기본 환경
JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 |
목표
자바에서 사용하는 while문을 이해한다.
여러가지 사니리오를 구현함을을 통해 반복문에 대한 이해도를 높힌다.
코드
package ex04controlerstatement;
public class E03While {
/*
while문
: 반복의 횟수가 정해져있지 않을때 주로 사용하는 반복문
반복의 횟수가 명확할때는 주로 for 문을 사용한다.
형식]
반복을 위한 변수의 초기값 선언;
while(반복의 조건){
실행문';
반복을 위한 변수의 즏증감식; <= 반복문 탈출을 위한
++, --와 같은 연산이 필요.
}
반복의 조건이 false일때 while문을 탈출한다.
*/
public static void main(String[] args) {
//누적합을 저장하기 위한 변수 선언. 증가하는 i를 누적해서 더함.
int sum = 0;
//반복을 위한 변수선언 및 초기화
int i = 1;
while(i <= 10) { //반복의 조건 설정. i가 11 이상이면 탈출.
//증가되는 i를 sum에 누적해서 더한(1+2+3...)
sum += i;
//while문을 탈출하기 위한 조건을 위한 증가연산
i++;
}
System.out.println("1 ~ 10까지의 합은 :" + sum);
/*
시나리오] 구구단을 출력하는 프로그램을 작성하시오.
단 while문을 이용하시오.
*/
int dan = 2; //단
while(dan < 10) { //단은 2~9까지 증가함
int su = 1; //수(하나의 단을 출력한후 단이 증가하면 수는 1로 초기화됨)
while(su < 10) {
//System.out.println(dan + "*" + su + "=" + (dan*su));
//두개의 메모리를 잡아두기위해 2를 넣고 왼쪽 정렬을 하기 위해 -을 넣는다.
//정렬을 위한 %-d
System.out.printf("%-2d*%-2d=%2d", dan, su, (dan*su));
System.out.printf(" ");
su++;
}
System.out.println();
dan++;
}
/*
시나리오] 1부터 100가지의 정수중 3배수이거나 5배수인 수의
합을 구하는 프로그램을 while문을 이용해 작성하시오.
*/
int num = 1;
int add = 0;
while(num <= 100) {
if(num % 3 == 0 || num % 5 == 0) {
add += num;
}
num++;
}
System.out.println("3과 5의 배수의 합 : " + add);
/*
시나리오] 아래와 같은 모양을 출력하는 while문을 작성하시오
출력결과
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
*/
int k = 1;
while(k <= 4) {
int j = 1;
while(j <= 4) {
if(k == j) {
System.out.printf("1 ");
}
else {
System.out.printf("0 ");
}
j++;
}
System.out.println();
k ++;
}
}
}
드디어 반복문 등장입니다. 처음 등장한 반복문은 while문입니다(두둥) 반복문은 크게 while문이랑 for문이 있는데 두가지의 차이점은 주석에 while문은 몇번 반복할지 모를때... for문을 몇번 반복할지 알 때..쓴다고 되어있지만 사실 상관은 없습니다. 근데 코딩하다보면 나도 모르게 저렇게 됩니다. 몇 번 반복하자가 머리속에 들어오면 나도 모르게 for문을 적고 있고 아 이거 걍 무한반복각이다 하면 저도 모르게 while문을 쓰고 있습니다. 밑에 여러가지 시나리오가 있는데 연습하시고 싶으신 분들은 코드 지우고 시나리오만 보고 한번 구현해 보세요 코드 결과 값은 아래에 띠어 놓겠습니다. printf문에 있는 %-2d는 -는 우측정렬 2는 2칸정도 자리를 확보해라라는 명령입니다. 보통 구구단 같이 칸을 일정하게 띠어야 할 때 사용합니다. 저걸 안쓰면 한자리 썻을 때랑 두자리 썼을 때랑 확보하는 칸이 달라서 칸이 엄청 밀려 모양이 이쁘게 완성되지가 않습니다.
결과 값
'Java > Java_기초부터 _끝까지' 카테고리의 다른 글
Java 기초 제어문 - for문 (0) | 2020.10.08 |
---|---|
Java 기초 제어문 - do-while문 (0) | 2020.10.07 |
Java 기초 제어문 - switch문 (0) | 2020.10.07 |
Java 기초 제어문 - if문(3) (0) | 2020.10.07 |
Java 기초 제어문 - if문(2) (0) | 2020.10.07 |