반복문 while
컴퓨터의 장점
- 정확하다.
반복을 지루해하지 않는다.

현업에선 while문 보단 for문을 많이 사용한다.
하지만 while문을 꼭 사용하는 곳이 있다.

while(조건=true){}형식으로 사용한다.
조건이 완료되지 않으면 무한루프에 빠진다.

{}안에 변수를 선언에 사용할려면 static을 사용한다.
조건에 true를 입력하고 내부에서 if(조건)break;로 사용할 수 있다.

while문안에 while문을 사용할 수 있다.

while문은 가시적으로 간결하다.

문제점 
unsigned int에 --를 사용하면 오버플로우가 발생하여 문제가 생길 수 있다.

#include <iostream>

using namespace std;

int main()
{
	int a = 0;
	//a가 10보다 작다면 이라는 조건을 사용했다.
	while ( a < 10) {
		//변수사용하기! 잘 사용안한다.
		//static int a = 0;
		cout << "a : " << a << endl;
		a++;
	}

//goto문으로 while과 같이 동작하기
startNumAdd:

	cout << "goto a : " << a << endl;
	if (a < 20) {
		a++;
		goto startNumAdd;
	}

	a = 2;
	//unsigned를 사용하면 오버플로우가 발생하여 문제가 생긴다.
	//unsigned int count = 0;
	//while (count >= 0) {
	//	cout << count << endl;
	//	count--;
	//}

	//중복while문
	//구구단출력
	while (a < 10) {
		int b = 1;
		cout << "a : " << a << endl;
		while (b < 10) {
			cout << "\t"<< a << " * " << b << " = " << a*b << endl;
			b++;
		}
		a++;
		b = 0;
	}

	return 0;
}

do-while문
while문과의 차이
while문은 조건에 따라 한번도 실행안될 수 있다.
do-while문은 무조건 한번은 실행된다.

for,while,do-while문중 활용도는 가장 낮다.

#include <iostream>

using namespace std;

int main() 
{
	int select = 0;

	do
	{
		cout << "selectNum : " << select << endl;
		cout << "1~5 select" << endl;
		cin >> select;
	} while (select < 0 || select > 5);

	return 0;
}
#if문
x = -10

if x < 0:
print('x는 0보다 작다.')

x = 10

#else문
if x < 0:
print('x는 0보다 작다.')
else:
print('x는 0보다 크다.')

#if else문
x = 0
b = 5
if x < 0:
print('x는 0보다 작다.')
elif x == 0:
print('x는 0이다.')
#if문 안의 if문 사용법
if b == 5:
print('b는 5이다.')
else:
print('x는 0보다 크다.')

"""
if문 출력결과
x는 0보다 작다.
x는 0보다 크다.
x는 0이다.
b는 5이다.
"""

#in,not의 쓰임
#숫자사용할때는 비추천한다.
#아래 코드는 테스트용
a = [1,2,3]
b = 1
if b in a:
print('in')

if 100 not in a:
print('not in')

boolean = False
if not boolean:
print('True가아니다')

#Flase로 판정되는 것들
#Flase, 0, 0.0, '', [], (), {}, set()
str = ''
if str:
print('OK!')
else:
print('NO')

#리스트가 빈값인지 확일할때
str = []
#len(str) 할 필요없다.
if not str:
print('리스트가 비어있다.')



#while문
count = 0;
while count < 5:
print(count)
count += 1

#break문사용
count = 0;
while True:
if count == 5:
break;
print(count)
count += 1

#continue문사용
#2가출력 안된다.
count = 0;
while True:
if count == 5:
break;

if count == 2:
count += 1
continue
print(count)
count += 1

#while else문
#break가 없을때 else문을 실행해라
count = 0
while count < 5:
print(count)
count += 1
else:
print('끝났다')


조건문

- 조건의 개수가 적을때 if문, 많을때는 switch문을 사용한다. 


if문

- if문 내부의 조건을 검사해 프로그램의 진행 결로를 결정한다.

- if문은 조건의 개수가 많지 않을때 사용하는것이 유리하다.


if (조건1) {

//조건 1에 부합할 때

}else if (조건2) {

//조건 1에 부합하지 않고 조건2에 부합할 때

}else{

//위 조건들에 모두 부합하지 않을때

}


실습 내용


실습 결과


Switch문

- 다양한 조건이 존재할 때 사용하면 소스코드를 짧게 유지할 수 있다.

- 조건을 정확히 판별할때 유용하게 사용가능하다.

- swtich문은 조건에 부합하는 경우 아래쪽의 case도 모두 만족시킨다.

- 따라서 일반적인 경우case문의 마지막에 break를 넣어 특정부분만 실행시키도록한다.


switch (확인 대상) {

case 값1:

//값 1에 부합할 때

break;

case 값2:

//값 2에 부합할 때

break;

Default:

//모든경우

}


실습 내용


실습결과




반복문


for문

- for문 내부의 조건에 부합하면 계속해서 실행한다.

- 반복문을 탈출하고자 하는 위치에 break 구문을 삽입한다.

주의할점

- 무한루프

+ 무한루프란 종료 조건 없이 무한반복되는 것을 말한다.

+ 일부러 무한루프를 만드는 경우는 거의 없고 개발자의 실수로 인해 발생한다.


for( 초기화; 조건; 반복 끝 명령어) {

//반복적으로 실행할 부분

}


실습 내용

실습 결과



while문

- while문의 조건에 부합하면 계속해서 반복한다.

- 반복문을 탈출하고자 하는 위치에 break 구문을 삽입한다.

while (조건) {

//반복적으로 실행할 부분

}


실습 내용


실습 결과


중첩된 반복문(2중for문)

- 중첩된 반복문이란 반복문 내부에 다른 반복문이 존재하는 형태의 반복문을 말한다.

- 반복문이 중첩될수록 연산 횟수는 제곱형태로 늘어난다.


실습내용


실습결과


for문과 while문의 관계

- 모든 for문은 while문으로 변경할 수 있으며 모든 while문은 for문으로 변경할 수 있다.

- C언어 소스코드가 최적화 되면서 어셈블리어 단에서는 동일한 명령어로 동작한다.

자바 초보들이 알아야 할 기본 개념!

반복문(while)
반복문이란? 어떠한 일을 반복해서 해주는 것이다.


while 문은
while(조건) {
실행할 로직
}
형식으로 생각하면 된다.


dowhile 문은
do {
실행할 로직
}while(조건)
형식으로 생각하면 된다.

while, doWhile 문의 차이는?
조건을 먼저 보고 할지 or 먼저 하고 조건을 볼지 차이가 있다.

while 문은 선평가 후 실행이고
dowhile 문은 선실행 후 평가이다.

아래의 코드를 보면 
while 문은 조건부터 확인하기에 아예 작동을 하지 않는다.
dowhile 문은 실행 후 조건을 확인하기에 숫자가 1이 증가함을 알 수 있다.



+ Recent posts