[22.11.16] 19일차 [백엔드] Java do~while문, break문, for문 생략, continue문

W·2022년 11월 16일
0

국비

목록 보기
33/119

do ~ while 문

  • do~while 무조건 실행문 한 번 동작
    초기값
    do {
    실행문;
    증가값;
    } while(조건);
int i =12;
while(i<=10) {
	System.out.println("실행문");
	i--;
}
System.out.println("반복문 끝남");
// while문 
// 반복문 끝남 출력

i = 12;
do {
	System.out.println("실행문2");
	i--;
} while( i<=10);
System.out.println("반복문 끝남");
// do~while문
// 실행문2
// 반복문 끝남 출력
  • do~while 이용 1~10 반복
i=1;
do {
	System.out.println(i);
	i++;
} while(i<=10);
  • 1~10 합구하기
i=1;
int sum=0;
do {
	sum+=i;
	i++;
} while(i<=10);
System.out.println(sum);

반복문 for, while, do~while

  • 조건 true → 계속 반복
    조건 false → 반복 빠져나옴
    break; → 반복 중에 빠져나오기
for(int i=1;i<=10;i++) {
	System.out.println(i);
	// i변수 값이 5이면 반복문 빠져나오기(if, break)
	if(i==5) {break;}
}		
  • for 1 ~ 10 반복 i => 출력
    i 변수 값이 3의 배수이면 반복문 빠져나옴
for(int i=1;i<=10;i++) {
	System.out.println(i);
	if (i%3==0) {break;}
}

초기화 생략 및 i 변수 재사용

int i=1;
for(;i<=10;i++){ // 초기화 생략가능
System.out.println(i);

// i변수 재사용
for(i=1;i<=10;i++) {
	System.out.println(i);
}

조건식 생략

// 조건식 생략(무한 루프)
for(int i=1;;i++) {
	System.out.println(i);
}

증가값 생략

for(int i=1;i<=10;) {
	System.out.println(i);
	i+=2;
} // 중간에 증가값 구문 추가 가능
//증가값 없으면, 1이 무한 출력됨 

모두 생략

int i = 1;
for(;;) {
	System.out.println(i);
	if(i==1) {
		break;
	}
}
// break 안하면 1 무한 출력됨

continue문

반복문의 시작점인 증가값, 조건으로 올라감

for(int i=1;i<=10;i++) {
if(i==5) {
	continue;
}
System.out.println(i);	
}
// 5는 빼고 출력됨
  • 1~10 출력 => 2의 배수 출력하지 않고 반복문의 시작점 이동
for(int i=1;i<=10;i++) {
if(i%2==0) {
	continue;
}
System.out.println(i);	
}
  • 1~10 출력 => 2의 배수 제외하고 합계 구하기
int sum=0;
for(int i=1;i<=10;i++) {
	if(i%2==0) {
		continue;
	}
	sum+=i;	
}
System.out.println("1~10까지 2의 배수 제외한 합 : "+sum);
  • 1~100까지 반복. 10의 배수가 아닌 것 제외하고 => 10의 배수 출력
for(int i=1;i<=100;i++) {
    if(i%10!=0) {
 	continue;
    }
 System.out.println(i);
}
  • 1~ .... 합이 100보다 크거나 같을때 반복문을 빠져나옴
int sum=0;
for(i=1;;i++) {
	 if(sum>=100) {
		 break;
	 }
	 sum+=i;
}
System.out.println(sum);

연습문제 1) operator 값이 +,-,*,/인 경우에 사칙 연산을 수행하는 프로그램을 if-else if문과 switch-case문을 사용해 작성해보세요.

int num1 = 10;
int num2 = 2;
char operator = '+';
switch(operator) {
case '+' : System.out.println(num1 + num2) ; break;
case '-' : System.out.println(num1 - num2) ; break;
case '*' : System.out.println(num1 * num2) ; break;
case '/' : System.out.println(num1 / num2) ; break;
default : System.out.println("연산자 아님");
}

if (operator=='+') {
	System.out.println(num1 + num2) ;
}else if(operator=='-') {
	System.out.println(num1 - num2) ;
}else if(operator=='*') {
	System.out.println(num1 * num2) ;
}else if(operator=='/') {
	System.out.println(num1 / num2) ;
}else {
	System.out.println("연산자 아님");
}

연습문제2) 1~100
for if 이용 3의 배수의 개수, 5의 배수의 개수 출력

int count = 0;
int count2 =0;
for (int i =1; i<=100 ; i++) {
	if(i%3==0) {
		count++;
	}else if(i%5==0){
		count2++;
	}
}
System.out.println("3의 배수의 개수 : "+ count);	
System.out.println("5의 배수의 개수 : "+ count2);

연습문제3) for(char i = 'A';;) A ~ Z 출력 if 'G'이면 반복문 빠져나옴

for(char i = 'A';i<='Z';i++) {
	if(i=='G') {
	break;
	}
	System.out.println(i);
}

0개의 댓글