상황: Hi 를 5번 출력하세요.
System.out.println("Hi");
System.out.println("Hi");
System.out.println("Hi");
System.out.println("Hi");
System.out.println("Hi");
따라서,
int i = 0; // 반복 카운트를 넣어줄 변수를 선언
while(i<5) { // 몇번 반복할건지 (조건)을 적어준다.
System.out.println("hi"); //반복문안에 반복해야 할 일을 적으면된다.
i++;
// break; 반복문을 빠져나가기 위해 써도 되는데 권장하지는 않는다.
// i가 5면 빠져나오게하자. -> while (조건) 을 만족하지 않으면 돌지않는다.
}
for(int i=0; i<5; i++) {
System.out.println("hi");
}
상황: 1,3,5,7,9 를 출력하세오.
i=0;
while(i<5) { // i<=4가 알고리즘할 땐 시간 덜 걸림
System.out.println(i);
i++
//i++ 안해주면 무한 Loop~
}
상황: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 숫자 총 10개를 를 출력하세요.
- 수의 나열 = 수열
- 현재숫자 == 이전이전숫자 + 이전숫자
이런 수열을피보나치 수열
이라고 한다.
즉, 앞앞수 + 앞수 = 현재수 가 되는데 그 이후 현재수 기준으로
앞앞수 = 앞수가 되고, 앞수 = 현재수가 된다.
i=1;
int n1 = 1;
int n2 = 0;
int n3 = 0;
while(i<=10) { // 10번 반복!
n3 = n1 + n2;
System.out.println(n3);
n1 = n2;
n2 = n3;
i++;
}
출력값:
1
1
2
3
5
7
13
21
34
55
옆으로 나란히 , 와 함께 나열하기 위해
while(i<=10) {
n3 = n1 + n2;
if(n>1) { //1 1 2 이렇게 말고 1, 1, 2, 로하기위해 , 추가. 맨 앞에는 빼고!
System.out.print(", ");
}
System.out.print(n3); //줄바꿈 없이 한번에 쫙
n1 = n2;
n2 = n3;
i++;
}
System.out.println();
// Solution 01
i = 0;
char al = ‘A’;
while(i<=25) {
System.out.println((char)(al+i));
i++;
}
처음에는 Z까지 숫자로 돌리려고 했는데 숫자로 26번 찍어서 Z 나올 때 까지 반복하는게 아니라 A~Z 까!지! 찍는거다.
// Solution 02
i = 0;
char al = 'A';
while(al<=(int)'Z') {
System.out.println((char)(al+i));
al++;
}
serrrrri가 알려준 방법!
// BEST Solution char al = 'A'; while(al<='Z') { System.out.println(al); al++; }
- 일단 i 필요 없다.
- 조건에서 (int)'Z' 할 필요없이, 바로 'Z' 비교
char type <= char type 이므로 형변환이 필요 없다!- (char)이나 +i 도 필요없음!
al++; 해주면 연산이 들어가면서 알아서 A(65) 에서 +1 해준다.
char 타입을 이용해 아스키코드 하는게 뭔가 제일 복잡시럽다잉.
System.out.println("구구단2단~5단");
int dan = 2; //단
while(dan <= 5){
i = 1; //1~9
while( i <= 9 ){
System.out.print(dan*i + " ");
i++;
}
System.out.println();
dan++;
}