- for문
- while문
- do-while문
반복문은 어떤 작업이 반복적으로 수행되도록 할 때 사용되며, 반복문의 종류로는 for문과 while문, 그리고 while문의 변형인 do-while문이 있다.
for(int i = 1; i <= 10; i++){
//초기화 : 조건식과 증감식에 사용할 변수 초기화
//조건식 : 연산결과가 true이면 블럭안의 내용을 수행
//증감식 : 변수를 증가/감소시켜 반복문을 제어
System.out.println(i);
//for문 안에 int i;는 지역변수이기 때문에 for문 밖에서 사용을 못한다.
} //1~10까지 출력
int sum = 0; //1부터 10까지 합계를 저장
sum += 1;
sum += 2;
sum += 3;
sum += 4;
sum += 5;
sum += 6;
sum += 7;
sum += 8;
sum += 9;
sum += 10;
System.out.println(sum); //55 출력
//위의 식을 반복문을 통해서 출력
sum = 0;
for(int i = 1; i <= 10; i++){
sum += i;
}
System.out.println(sum); //55 출력
//100부터 1까지 더하는 for문
int sum = 0;
for(int i = 100; i >= 1; i--){
sum += i;
}
System.out.println(sum); //5050 출력
//1부터 100까지 짝수만 더하는 for문
sum = 0;
for(int i = 1; i <= 100; i++){
if(i % 2 == 0){
sum += i;
}
}
System.out.println(sum); //2550 출력
//for문을 사용해 구구단 2단을 출력하시오
for(int i = 1; i <= 9; i++){
System.out.println(2 + " * " + i + " = " + i*2);
}
//for문을 사용해 구구단 2~9단까지 출력하시오
for(int i = 2; i <= 9; i++){
for(int j = 1; j <= 9; j++){
System.out.println(i + " * " + j + " = " + i * j);
}
}
//for문을 사용해 구구단 전체를 가로로 출력하시오
/* 2 * 1 = 2 3 * 1 = 3 4 * 1 = 4 ...
* 2 * 2 = 4 3 * 2 = 6 4 * 2 = 8 ...
* 2 * 3 = 6 3 * 3 = 9 4 * 3 = 12 ...
* ...
*/
for(int i = 1; i <= 9; i++){
for(int j = 2; j <= 9; j++){
System.out.print(j + " * " + i + " = " + j*i + "\t");
}
System.out.println();
}
int a = 1;
//a에 2를 몇번을 곱해야 1000이상이 되는지 알아보시오
int count = 0;
while(a < 1000){
a *= 2;
count++;
System.out.println(count + " : " + a);
} //마지막 출력 결과 -> 10 : 1024
//숫자 맞추기 게임
int answer = (int)(Math.random() * 100) + 1;
int input = 0;
Scanner s = new Scanner(System.in);
do{
System.out.println("1 ~ 100사이의 수를 입력해주세요>");
input = Integer.parseInt(s.nextLine());
if(answer < input){
System.out.println(input + " 보다 작습니다.");
}else if(input < answer){
System.out.println(input + " 보다 큽니다.");
}else{
System.out.println("정답입니다!!");
}
}while(input != answer);
**while문과 do-while문의 차이점
do-while문은 실행부터 하므로 최소한 한번의 수행을 보장한다.
outer : for(int i = 2; i <= 9; i++){
for(int j = 1; j <= 9; j++){
if(j == 5){
break;
// break outer;
// continue;
// continue outer;
}
System.out.println(i + " * " + j + " = " + i * j);
}
System.out.println();
}
for문 안에 또 다른 for문을 포함시키는 것을 가능하며, 중첩 for문이라고 한다. 중첩횟수는 거의 제한이 없다.
/* 다음의 모양으로 출력하시오
* *****
* *****
* *****
*/
for(int i = 1; i <=3; i++){
for(int j = 1; j <=5; j++){
System.out.print("*");
}
System.out.println();
}
/* *
* **
* ***
* ****
* *****
*/
for(int i = 1; i <= 5; i++){
for(int j = 1; j <= i; j++){
System.out.print("*");
}
System.out.println();
}
/* *****
* ****
* ***
* **
* *
*/
for(int i = 5; i >= 1; i--){
for(int j = 1; j <= i; j++){
System.out.print("*");
}
System.out.println();
}