JAVA/정올 문제풀이

기초 다지기 131 : 반복제어문2 - 형성평가2

최뭉뭉 2018. 12. 25. 21:43

*완전!!!! 기초부터 혼자 공부하면서 기록하기 위해 쓰는 글입니다. 부족한 부분이 많습니다. 혹시 가르쳐주실 부분이 있으시면 댓글 언제든지 환영합니다 :D

참고로, 이클립스를 사용했습니다!



문제:

100 이하의 두 개의 정수를 입력받아 작은 수부터 큰 수까지 차례대로 출력하는 프로그램을 작성하시오.




일단 데이터값을 입력받기 위해서는

import java.util.Scanner;      Scanner를 import해주고, 

Scanner sc=new Scanner(System.in);      Scanner 객체를 생성해줘야 합니다.




int i=sc.nextInt();

int j=sc.nextInt();

☞ 100 이하의 정수 두 개를 입력받을 수 있도록 i, j 변수를 int형으로 만들어줍니다.








if(i>j){

☞ i가 j보다 크거나, i가 j보다 작거나, i가 j랑 같거나 세가지 경우가 나오겠죠?

그럼 가장 먼저 i가 j보다 큰 경우부터 if문으로 조건을 설정해줍니다.

이처럼 ()안의 조건을 만족할 때 {} 안의 문장을 실행하는 if문을 조건문이라고 합니다.









for(int k=j;k<=i;k++){

☞ for문은 while문과 같은 반복제어문 중 하나로 기본 구조는 for(초기값; 조건식; 증감식) 입니다

초기값 부분에는 for문을 j에서 i이 될 때까지 반복해야 하므로 int형 변수 k를 만들어주고 일단 j로 설정해줍니다.

두번째 부분인 조건식에는 반복문이 실행될 조건을 넣어줍니다. 이 조건식이 참일때만 반복문이 실행됩니다.

저는 k가 i일 때까지만 반복문을 실행시킬 것이기 때문에 k가 i 이하라는 조건식을 넣어줍니다. 

마지막 증감식 부분에는 반복문이 계속 돌아가는 무한루프를 벗어나기 위해 k의 값을 변경시켜주는 증감식을 넣어줍니다.

k++는 k=k+1과 같은 의미입니다.










System.out.print(k+" ");

☞  for문 안에 실행될 문장을 넣어줍니다. 

print문은 ()안에 있는 문장을 그대로 출력시켜주는 출력문입니다. 

제가 출력할 건 k이기 때문에 k를 입력한 후 "+"를 통해서 공백 하나도 넣어줬습니다.

공백을 넣지 않으면 숫자들 간의 구분이 힘들테니까요!










else{

 if문과 else if문 둘다 만족하지 않을 경우를 써주는 else문입니다.

즉, 여기서는 i가 j보다 작거나 i가 j랑 같은 경우를 의미합니다.





for(int k=i;k<=j;k++){

System.out.print(k+" ");

 이번엔 초기식과 조건식을 i부터 j까지로 고쳐서 넣어주시고 위와 똑같이 출력문을 작성해주시면 됩니다.







이제 값을 한번 넣어볼게요!





☞ 쨔란~ i에 10, j에 5를 넣어봤습니다.!


그랫더니 i>j라는 조건이 걸려있는 if문을 만족해서 if문 안에 있는 for문이 실행됩니다.

k값이 j부터 i까지 1씩 증가되면서 출력되니까 "5 6 7 8 9 10" 이 나오는 거죠!




이상 즐거운 크리스마스에 올린 코딩글... 이었습니당~ ^.^...