Java 기반 클라우드 융합 개발자 과정 - KH 정보교육원/4월

22.04.11 - 제어문, 반복문, 증감연산자

giggs 2022. 4. 12. 21:00

 

 

 

 

제어문 - [ 조건문과 반복문 ]

 

조건문 반복문
if - else while
else if for
switch - case do - while

 

 

 


 

 

조건문

  • 조건에 맞으면 실행하게 해 줌
  • 조건식에 들어갈 내용은 - 실행의 결과가 true나 false로 나오는 식
  • if ( else , else if )
  • switch ( case, break, default )

 

 

if 

  • 이거 아니면 저거인 상황에 사용
  • if if if로 코드를 짜 놓으면
  • 컴퓨터는 if if if 하나하나 다 본다.
  • 처음 조건 통과했다치더라고 2번째 3번째 조건 볼 필요 없지만 다 본다.

 

else if

  • 첫 번째 조건식을 통과하지 못했을 때만 다음 else if 문을 검사한다.
  • 두 번째 조건식을 통과했다면
  • 세 번째 조건식은 검사하지 않는다. 안 본다.
  • 시작은 무조건 if
  • else if는 여러 개 사용 가능 ( 단, 앞에 if가 존재해야 함 )
  • else 사용하려면, 무조건 마지막에만 사용 가능

 

 

switch 

  • switch, case, default
  • 컴퓨터 입장에서 생각 switch를 만났다 switch ( x ) - ( x의 값을 찾아서 출발 )
  • case 값 1 : case 값 2: 애들이랑 x랑 비교 시작 - break;나 default; 만날 때까지
  • x와 다른 애들은 실행하지 않고 다음으로 넘어간다. 
  • switch( )는 입력받은 값과 같은지 비교할 경우에 사용
  • default는 else 같은 키워드이다. 특징도 같다.
  • break; 를 안 해주면 참인 순간부터 switch문 끝까지 다 실행된다.

 

 

조건문 끝!

개념은 쉬운데 문제를 풀어보면서 익혀보아야 한다..

 

 

CodeUp - site 문제 참조해서 줄 예정

 

 

 

 

 


 

 

 

조건문 문제 시작

 

 

 

 

Question 01 :

정수 하나를 입력받고 - 입력받은 정수가 홀수면 "홀수" - 짝수면 "짝수"라고 출력

 

홀수 조건

( num % 2 ) == 1;

( num % 2 ) != 0;

 

 

 

 

Question 02 :

정수 하나 입력받고 - 입력받은 정수가 7의 배수라면 “7의 배수” 라고 출력

 

7의 배수 조건

( num %7 ) == 0;

 

 

 

 

 

Question 03 :

윤년 조건

1. 해가 4의 배수이면서 100의 배수가 아니면 윤년

2. 400의 배수이면 윤년

위 두 조건 중 하나라도 맞으면 윤년

 

1번 조건 ( A && B ) + || 또는 +  2번 조건 ( C )

만족하면 윤년

 

 

 

 

 

Question 04 :

월을 입력받고 ,, 해당 월의 계절을 출력하기

12, 1, 2 : winter

3, 4, 5 : spring

6, 7, 8 : summer

9, 10. 11 : fall

 

 

switch - case문은 참인순간부터 실행돼서

break;를 만나거나 default 만날 때까지 실행된다는 점을 이용해서 풀이

 

case 12 :

case 1 :

case 2 : System.out.println( "wineter" ); break;

 

 

 

 

 


 

 

 

 

반복문

 

  • 반복문 3가지
  • for , while, do-while

 

 

 

while

  • if랑 문법 같다.
  • but
  • 반복문 문법들은 끝나는 부분 }을 만나면 다음 라인으로 가는 것이 아니라
  • 처음으로 돌아간다. - while의 처음 부분은 조건식! 부분

 

 

 

 

 

컴퓨터 입장에서 보기

  • 한 라인씩 실행하다가
  • int 그릇 만들고 - 이름 cnt로 지정 - 거기에 값 0 대입
  • while을 만났으니까 조건식 판단 - 참이면 수행
  • hi 출력하고 나서
  • cnt 라인 - 대입 연산자 오른쪽부터 수행 - cnt에 0 있었는데 +1 해서 1 대입

 

 

 

 

 


 

 

 

for

  • for 기본 문법

 

 

 

 

컴퓨터 입장에서 보기

  • while 때와 동일.
  • for문이 등장한 이유 – 초기식, 조건식, 증감식 3줄을 1줄로!
  • for문 만나면 초기 식부터 찾아간다. - int 그릇 이름 I – 값 0 대입
  • 조건식 참이면 수행문 실행
  • } 만나면 처음으로 돌아가는데 -> 증감식으로 이동
  • 증감식 다음으로는 -> 조건식으로 다시 이동
  • 참이면 수행문 실행 –> 증감식 이동
  • 초기식은 최초의 1번만 실행된다.
  • 쭉 하다가 조건식 거짓이면 – for문 빠져나온다

 

 

 

상황과 조건에 맞춰 for나 whilewhile 선택해서 사용하자~!

 

 

 

 


 

 

 

do –while 

  • do-while 기본 문법

 

 

 

 

while ( true ) 해주면 - 무한반복

while( false ) 해주면 - 1번 실행 - -

 

 

 

 

 

 

 

컴퓨터 입장에서 보기

  • int 그릇 이름 x 에다가 3 대입
  • do 만났다 일단 { } 실행
  • while 조건식 참이면 do로 다시 가서 실행
  • Hi 7번 출력됨

 

 

 

 


 

 

 

 

반복문 문제 시작

 

 

 

Question 01 : 

정수 하나 입력받고, 입력받은 정수를 무한 출력하기

정수 하나 입력받고, 카운트 다운 하기 ex) 입력받은 수 3이면 3 2 1 출력

정수 하나 입력받고, 그 수 까지 출력하기 ex) 입력받은 수 3이면 1 2 3 출력

 

 

 

기본개념

 

 

 


 

 

 

 

 

Question 02 : 

정수 하나 입력받고, 입력받은 정수를 출력하기

위 작업을 계속 반복한다.

단, 입력받은 정수가 0이라면 프로그램을 종료한다.

 

 

 

수를 입력받는 부분을 반복문 안으로 넣어준다.

반복문안에 0일 때 break를 만나서 반복문 빠져나오도록 추가

반복문 안에 있는 break; 는 가장 가까운 반복문 깨뜨리고 나가버린다!

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

Question 03 :

정수 하나 입력받고, 1부터 입력받은 수까지 출력하기

단, 짝수는 출력하지 않는다.

 

 

 

 

짝수 출력 안되게 하는 방법 2가지 체크

 

continue 만나면 처음으로 돌아간다.

for 문에서 처음으로 돌아간다는 의미는 - 증감식 부분으로 돌아간다는 의미!

 

 

 

 

 


 

 

 

 

증감 연산자

 

  • +1 또는 –1해 주는 연산자
  • 4가지 있다

 

  1. ++x
  2. --x
  3. x++
  4. x--

 

 

 

 


 

 

 

이클립스 팁 

 

 

  • 패키지 네임 - com . kh . main 이라고 만들면
  • 따로따로 폴더 만들어준다!

 

 

 

 

  • 컴파일러 에러 난 곳 확인해보는 단축키 - ctrl + 1

 

  • 라인 선택하고 Alt + 위아래 화살표 : 코드 라인 이동

 

 

 

 

 


 

 

 

 

 



review


제어문, 반복문, 증감 연산자에 대해 배웠다.


 문제풀이를 하면서 설명해주시는 부분이 새로웠다.
아마 학생들의 수준 체크도 할 겸
문제를 풀었다는 즐거움과 배운 거 활용하는 것을 
느끼게 해주는 방법인 듯하다!

예전 첫 문제를 풀었을 때
" 맞았습니다! "를 본 희열이 생각났다ㅎㅎ
나의 실력과 풀이를 확인할 수 있는 것이 참 매력이다.

예습의 효과를 써먹고 있어서
아직은? 복습 개념으로 문제들도 풀어가면서
새로운 개념이나 Tip 들을 알아가고 배워가고 있다!