우주코딩
자바 반복문을 이용하여 별 찍기 본문
1. 일단 반복문을 이용하여 구구단을 만들어 보자.
<for문>
for (시작값; 끝조건; 증감) {
순환문장들...
}
for 안에 변수선언하면 변수선언은 for 조건~바디에서까지만 유효
int를 for문 밖에 선언하면 그 밖까지도 유효
public class 반복문{
public static void main (String[] args){
for (int i = 2; i<=9; i++){
for (int j =1; j<=9; j++)
System.out.print(i+"*"+j+"="+(i*j)+"\t"); // 탭키를 넣는 이유는 정렬을 일정하게 맞추기 위해서이다
}
System.out.println(); //줄바꿈
}
}
결과값은
2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18
3*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27
4*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45
2. 이 반복문 로직을 사용하여 직삼각형 별을 찍어보자
public class 직삼각형{
public static void main(String[] args) {
//구구단 중첩 for를 최대한 재활용하여 직삼각형 만들기
for (int i = 1; i <=5; i++) { //1부터 5까지
for( int j =1; j <= i; j++) {
System.out.print("*");
}
System.out.println(); //줄바꿈
}
}
}
해석-
j는 첫 수가 1이고, i가 j보다 작으면 *을 한번 찍는다.
만약 i가 1라면 j는 1인 i보다 작고 별을 한번 찍는다. 그리고 다시 다시 올라와서 i는 2가 된다. j 또한 2가 된다.
i가 2가 되고 j또한 2가 되어 별을 한번 더 찍는다. 그리고 줄을 바꾼다.
...
...
i가 5가 될 때까지 반복.
결과는
*
**
***
****
*****
가 된다..
-내가 이해하지 못했던 부분은-
반복문을 구구단으로 접했던 탓에 sysout에 숫자값, 연산 값이 나와야 한다고 생각했다.
연산이 아니고 '반복'에 초점을 맞춰서 접근을 해야 이해가 가능했다.
'자바 기초 강의' 카테고리의 다른 글
유니코드, 문자 집합, 문자 코드, 이스케이프 문자 (0) | 2021.07.06 |
---|---|
리터럴 콘솔 출력하기,2진수, 8진수, 16진수 (0) | 2021.07.05 |