*완전!!!! 기초부터 혼자 공부하면서 기록하기 위해 쓰는 글입니다. 부족한 부분이 많습니다. 혹시 가르쳐주실 부분이 있으시면 댓글 언제든지 환영합니다 :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" 이 나오는 거죠!
이상 즐거운 크리스마스에 올린 코딩글... 이었습니당~ ^.^...
'JAVA > 정올 문제풀이' 카테고리의 다른 글
기초 다지기 133 : 반복제어문2 - 형성평가4 (0) | 2018.12.26 |
---|---|
기초 다지기 132 : 반복제어문2 - 형성평가3 (0) | 2018.12.25 |
기초 다지기 130 : 반복제어문2 - 형성평가1 (0) | 2018.12.21 |
기초 다지기 548 : 반복제어문2 - 자가진단8 (0) | 2018.12.21 |
기초 다지기 547 : 반복제어문2 - 자가진단7 (0) | 2018.12.20 |