- 기초
int i=0; //초기식
while (i<10) { //조건식
System.out.println(i); //반복하고 싶은 실행문
i++; //증감식
}
//while문을 for문으로 바꾸기
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
- 무한루프
while(true) {}
- while문에서 많이 쓰임
- 프로그램의 정상적인 실행이 아님
- 무한루프를 빠져나오기 위해서 break 제어문자가 필요하다.
- 1에서 10 중, 홀수만 출력하기
//1.
int i=1;
while(i<=10) {
System.out.println(i);
i+=2;
}
// 2.
int i=1;
while(i<=10) { //조건식
if(i%2==1) {
System.out.println(i);
}
i++;
}
- 구구단 2,3단 출력
Scanner sc = new Scanner(System.in);
System.out.println("정수를 입력 : ");
int n = sc.nextInt();
switch (n) {
case 2:
System.out.printf("**** %d단 ****\n", n);
for (int i = 1; i <= 9; i++) {
System.out.printf("%d * %d = %d\n", n,i, n*i);
}
break;
case 3:
System.out.printf("**** %d단 ****\n", n);
for (int i = 1; i <= 9; i++) {
System.out.printf("%d * %d = %d\n", n,i, n*i);
}
break;
default:
System.out.println("잘못입력했습니다.");
break;
}
- 구구단
for (int i = 2; i <= 9; i++) { //행
for (int j = 1; j <= 9; j++) { //열
System.out.printf("%d*%d=%d\n", i,j,i*j);
}
System.out.println("***********");
}
- 도형그리기 : 가변적인 도형일 경우, i값을 사용해 j값이 나오도록 공통적인 수식을 짜야한다.
- 좌하 직각, 우상 직각, 우하 직각 도형
/* 도형그리기 1.
*
**
***
****
*****
*/
for (int i=0; i<5; i++) { //i 가 기준
for (int j=0; j<i+1; j++) {
System.out.print("*");
}
System.out.println();
}
/* 반쪽 역삼각형 그리기.
* ***** i=0, j=5
* **** i=1, j=4
* *** i=2, j=3
* ** i=3, j=2
* * i=4, j=1
*/
for (int l=0; l<5; l++) {
for (int m=0; m<5-l; m++) {
System.out.print("*");
}
System.out.println();
}
/* 공백 반쪽 삼각형 그리기.
* * i=0 공백 j=4 별1
* ** i=1 공백 j=3 별2
* *** i=2 공백 j=2 별3
* **** i=3 공백 j=1 별4
* ***** i=4 공백 j=0 별5
*/
for(int i=0; i<5; i++) { //행 0,1,2,3,4
for(int j=0; j<4-i; j++) {//공백 4,3,2,1,0
System.out.print(" ");
}
for (int j=0; j<i+1; j++) { //별 1,2,3,4,5
System.out.print("*");
}
System.out.println();
}
- 반쪽 마름모 도형
/* 반쪽마름모 그리기.
* * i=0 공백 j=4 별1
* ** i=1 공백 j=3 별2
* *** i=2 공백 j=2 별3
* **** i=3 공백 j=1 별4
* ***** i=4 공백 j=0 별5
* **** i=5 공백 j=1 별4
* *** i=6 공백 j=2 별3
* ** i=7 공백 j=3 별2
* * i=8 공백 j=4 별1
*/
for (int i = 0; i < 9; i++) {
if (i<5) { //별 증가, 공백 감소 //행i: 0,1,2,3,4
for (int j=0; j<4-i; j++) {//공백 4,3,2,1,0
System.out.print(" ");
}
for (int j=0; j<i+1; j++) {//별 1,2,3,4,5
System.out.print("*");
}
} else { //별 감소, 공백 증가 //행i: 5,6,7,8
for (int j=0; j<i-4; j++) { //공백 1,2,3,4
System.out.print(" ");
}
for (int j=0; j<i-j; j++) { //별 4,3,2,1
System.out.print("*");
}
}
System.out.println();
}
- 마름모 도형 그리기 - 1
for(int i=0; i<7; i++) { //전체 7행 i = 0,1,2,3
if(i<4) {
for(int j=0; j<3-i; j++) { //공백 j = 3,2,1,0
System.out.print(' ');
}
for(int j=0; j<i*2 +1; j++) { // *j = 1,3,5,7
System.out.print('*');
}
} else { //중간 i = 4,5,6
for(int j=0; j<i-3; j++) { //공백 j = 1,2,3
System.out.print(' ');
}
for(int j=(7-i)*2; j>1; j--) { // *j = 5,3,1
System.out.print('*');
}
}
System.out.println();
}
- 마름모 그리기 - 2
for (int i = 1; i <= 7; i++) {
int k = (i <= 4) ? 4 - i : i - 4;
for (int j = 1; j <= k; j++) {
System.out.print(' ');
}
for (int j = 1; j <= 7 - 2 * k; j++) {
System.out.print("*");
}
System.out.println();
}
728x90
728x90
'JAVA > Java 기초' 카테고리의 다른 글
배열 연습 1 (1) | 2022.05.13 |
---|---|
배열(Array) (0) | 2022.05.12 |
반복문 (break, continue) (1) | 2022.05.11 |
반복문 연습 (1) | 2022.05.11 |
반복문 (for 문) (0) | 2022.05.10 |