초급JAVA 4 - 반복문

voilà!·2021년 10월 31일
0

초급JAVA

목록 보기
7/24

<반복문>

  • for문
  • while문
  • do-while문

for문
for(초기화; 조건식; 증감식){}
(조건식이 true면 실행, false면 for문을 벗어남)

포함하고 있는 문장들을 정해진 횟수만큼 반복하는 문장
(초기화에서 시작 설정, 조건식에서 끝 설정)

for(int i = 1; i <= 10; i++){
System.out.println(i + "번째 반복");
}

초기화 : 조건식과 증감식에 사용할 변수 초기화
조건식 : 연산결과가 true이면 블럭안의 내용을 수행
증감식 : 변수를 증가/감소시켜 반복문을 제어

for문에서 만든 변수는 for문 안에서만 사용 가능

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);

여러 문장이 비슷한 패턴으로 반복될 때 반복문 사용

1부터 10까지 1씩 증가(반복횟수)

sum = 0;
for(int i = 1; i <= 10; i++){
sum += i;
}
System.out.println(sum);

10에서 1까지 1씩 감소(반복횟수)

sum = 0;
for(int i = 10; i >= 1; i--){
sum += i;
}
System.out.println(sum);

1부터 100까지의 짝수의 합을 출력해주세요.

sum = 0;
for(int i = 2; i <= 100; i += 2){
sum += i;
}
System.out.println(sum);

1부터 100까지의 홀수의 합을 출력해주세요.

sum = 0;
for(int i = 1; i <= 100; i += 2){
sum += i;
}
System.out.println(sum);

구구단 출력

구구단 9단을 출력해주세요.

for(int i = 1; i <= 9; i++){
System.out.println(9 + " " + i + " = " + i 9); }

구구단 2단부터 9단까지 출력

for(int i = 2; i <= 9; i++){
for(int j = 1; j <= 9; j++){
System.out.println(i + " * " + j + " = " + i * j); }
}

구구단 전체를 가로로 출력해주세요.

for(int i = 1; i <= 9; i++){
for(int j = 2; j <=9; j++){
System.out.print(j + " * " + i + " = " + j * i + "\t");
// \t 넣어서 줄 간격 맞추기
}
System.out.println();

while문
while(조건식){}
//조건식이 true면 블럭 안 문장수행

포함하고 있는 문장들을 조건식이 만족하는 동안 반복하는 문장

반복횟수가 정확하지 않은 경우에 주로 사용한다.

while문을 for문으로 바꿀 수 있다.
(for문 -> while문은 불가능)

int a = 1;
//a에 2씩 곱해서 1000이상이 되려면 몇 번을 곱해야 하는가?

int count = 0;
while(a < 1000){
a *= 2;
count++;
System.out.println(count + " : " + a);
}

do-while문
do{}while(조건식);
최소한 한번의 수행을 보장한다.
-> 무조건 do를 먼저 수행하고 조건식으로 넘어가기 때문
-> 조건이 참일 때 반복, 거짓일 때 반복문을 빠져나간다.

숫자맞추기 게임

    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);

이름붙은 반복문

outer : for(int i = 2; i <= 9; i++){
    	for(int j = 1; j <= 9; j++){
    		if(j == 5){
            break; // 가장 가까운 반복문 하나를 빠져나간다.
	    break outer; //outer라는 이름의 반복문을 빠져나간다.
            continue; // 가장 가까운 반복문의 현재 반복 회차를 빠져나간다.
	    conntinue outer; // outer라는 이름의 현재 반복회차를 빠져나간다.
    		}
    		System.out.println(i + " * " + j + " = " + i * j);
    	}
    	System.out.println();
    }

0개의 댓글