국비지원/JAVA

kh 정보 교육원 9,10 일차

모로노이 2024. 5. 22. 23:55

이상하다 어제 분명 9일차를 쓴 것 같은데.. 아님말고

 

 

반복문!!!!!!!

for문
// 실행문장을 원하는 횟수만큼 반복해줌
// 문법
// for(초기식 ; 조건식 ; 증감식) { 실행문장; }

 

1부터 10까지 출력하는 프로그램 작성하기

for ( int i = 1; i <= 10; i++) {

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

    } 

예상 출력 결과

0 1 2 3 4 5 6 7 8 9 10

정답

 

while문 


// 문법
// 초기식;
// while(조건식) { 실행문장; 증가식; }

 

같은 문제

int i = 0;

while(i <= 10) {

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

     i++;

}

예상 출력 결과

0 1 2 3 4 5 6 7 8 9 10

정답

 

do while문

// 문법
// 초기식;
// do { 
// 실행문장; 증감식;
// } while (조건식)

 

int i = 0;

do {

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

     i++

} while(i < 10);

 

예상 출력 결과

0 1 2 3 4 5 6 7 8 9

정답

 

반복문을 배우고 내주신 문제는 기초문제 제외하고 전부 어려웠지만 훨씬 어려웠던 문제를 꼽아서 적자면

 

정수를 입력받아 해당 정수의 단 부터 9단까지 출력 하시오 단, 9이상의 숫자는 입력 x 였다

 

갑자기 중첩 for문이 나와서 당황한것도 있지만 반복문의 동작은 이해하였지만 문제를 풀어나가는 응용이 부족했다

 

위에 문제는 이런식으로 풀었다

Scanner sc = new Scanner(System.in); // 스캐너 임폴트

int dan = sc.nextInt();   //정수형 변수 dan에 입력받기

 

if (dan <= 9) {   // 9이상일 경우 반복 안함

     for (int i = dan; i <= 9; i++) {   // 시작할 단 9단까지

          for (int j = 1; j <= 9; j++) {   //  곱해지는 값 1~9

               System.out.println(i + " x " + j + " = " + i * j);   // 입력받은 dan을 i로 대입하여 i로 적었다

          }

     }

}

길다 길어 학원에서 같이 풀어보고 집에서 혼자 해봤다 

이건 문제 풀이가 기억이 나는건지 내가 풀어버린건지 모르겠다..

 

다음 날 반복문 배운지 하루?이틀만에 바로 배열로 들어간다...

 

int [] nums; // 배열의 선언

nums = new int [10]   // 배열의 생성(할당)

nums[0] = 1;   // 배열의 초기화

배열이 10개 생성 됐다면 각각의 배열의 주소값은 0 ~ 9 로 총 10개다

int [] nums = new int[10];  // 배열의 선언과 생성 동시에 가능!

 

길이가 10인 배열을 선언하고 1부터 10까지의 값을 반복문을 이용하여
순서대로 배열 인덱스에 넣은 후 그 값을 출력하세요.

 

int [] nums = new int[10];

for (int i = 0; i < 10; i++) {   // 10 자리에 nums.length를 넣어도 된다 위쪽 for 문이 초기화 식이다

     nums[i] = i + 1;

}

for (int i = 0; i < 10l i++) {

     System.out.print(nums[i] + " ");

}

출력 결과

 

역순으로 출력하기

 

int [] nums = new int [10];

 

for (int i = 0;i < nums.length; i++) {        // 일단 초기화

     num[i] = i + 1;

     }

for (int i = nums.length-1; i >= 0; i-- ) {

     System.out.print(nums[i] + " ");

     }

어려운 문제가 너무 많아서 복습하고 잠 잘 시간도 부족하다 파이팅