24.08.26(이중for문,배열,입력,기타 제어문)

jiiiiiiiArchive.·2024년 8월 26일

🤯지식주머니🤯

목록 보기
4/98
post-thumbnail

이중for문

  • for문 안에 for문이 있는 형태
  • 바깥쪽에 있는 i for문은 다음 반복으로 넘어가기 위해 안쪽에 있는 수행할 문장들을 모두 마쳐야한다.
  • 안에는 j for문이 있으므로, 그 for문이 모두 완료되어야 i for문 입장에서는 수행할 모든 문장을 마친 것이 된다.
  • 그 수행할 문장을 모두 마쳤다면, i값이 하나 증가하며 다음 반복으로 넘어갈 수 있게 된다.
  • 따라서 j for문 안쪽에 있는 가장 안쪽 문장은 (i for문 반복횟수) * (j for문 반복횟수)만큼 수행된다.
    • 예시
// 구구단
		for(int i = 2; i <= 9; i++) {
			for(int j = 1; j <= 9; j++) {
				System.out.println(i + " * " + j + " = " + i*j);
			}
		}

// 별찍기
		int height = 3;

		System.out.println("높이 : " + "[" + height + "]");
		for(int i = 0; i < height; i++) {
			for(int j = 0; j <= i; j++) {
				System.out.print("*");
			}
		System.out.println();
		}

배열

개요
  • 변수가 많아지면 변수를 관리하는 것도 힘들고 사용하는 것도 힘들다.
      1. 변수명이 많아져서 힘듦. -> 변수명을 한 개만 쓰면 됨.
      1. 변수가 많아서 다 사용하기 힘듦. -> 반복문을 사용하면 됨.
      • 결론 : 배열(자료형의 집합)을 사용하면 됨.
// int 자료형의 배열
        int[] arr = {10, 20, 30, 40, 50};
      // 꾸러미            넣을 값들
      
// string 자료형의 배열
        String[] arr6 = {"apple", "banana", "orange"};
        
// boolean 자료형의 배열
        boolean[] arr7 = {true, false, false, true};

// 해당하는 타입에 해당하는 값들만 저장 가능
배열의 길이 설정
  • 배열의 길이를 먼저 설정 후, 배열 변수를 생성하고 그 값을 나중에 대입
        String[] arr6 = new String[3];
        arr6[0] = "apple";
        arr6[1] = "banana";
        arr6[2] = "orange";
  • 단, 초깃값 없이 배열 변수를 만들 때에는 3과 같은 숫잣값을 넣어 길이를 정해줘야 한다. 그렇지 않으면 오류가 발생한다.
        String[] arr6 = new String[]; // 길이에 대한 숫잣값이 없으므로 컴파일 오류 발생
  • 앞서 만든 과일 배열에서 "orange"에 해당하는 값을 얻으려면 인덱스를 이용해야 한다.
        String[] arr6 = {"apple", "banana", "orange"};
        System.out.println(arr6[2]);
        // 결과 : orange
  • arr6[2]는 arr6 배열의 3번째 항목을 의미한다.
  • 자바는 0부터 숫자를 센다는 것을 잊지 말자!!!!!!!!!
배열의 길이 구하기
  • 배열의 길이 정보 확인 <= 중요한 정보
  • 보통 for문과 함께 사용, for문에 배열을 사용할 때에는 배열의 길이를 알아야 함. : length
    • 이유 : 배열의 길이만큼 for문 사용
        String[] arr6 = {"apple", "banana", "orange"};
        for(int i = 0; i < arr6.length; i++) {
        	System.out.println(arr6[i]);
        }
        // 결과 : apple
                 banana
                 orange
       // arr6 배열에는 3개의 요소가 있으므로 arr6.length는 3

입력(Scanner)

  • int(정수)로 입력받기 : nextInt()
  • String(문자열)으로 입력받기 : nextLine()
		import java.util.Scanner;

        Scanner scanner = new Scanner(System.in);

        //값 입력받기
        System.out.print("첫 번째 값을 입력해주세요 : ");
        int num1 = scanner.nextInt();
        System.out.println("당신이 입력한 첫번째 값은 : " + num1);
        
        //문자열 입력받기
        System.out.print("첫 번째 값을 입력해주세요 : ");
        String str1 = scanner.nextLine();
        System.out.println("당신이 입력한 첫번째 값은 : " + str1);

continue / break

  • continue
    • continue 이후의 실행 코드는 수행되지 않고 반복문의 처음으로 돌아가 반복문 진행
    • 이번 차의 루프가 종료되며 다음 반복 실행
    • 뒤에 실행문이 남아있어도 실행하지 않음
  • break
    • 반복문을 미리 종료할 때 사용
    • 해당 구문이 있는 루프가 종료
    • 만약 이중 반복문일 경우 break문이 있는 반복문만 종료
        for(int i = 1; i <= 10; i++) {
            if (i == 5) {
                break; // 강제 종료 : 1 2 3 4
                continue; // 다음 회차 : 1 2 3 4 6 7 8 9 10
            }
            System.out.println(i);
        }
        
         for(int i = 1; i <= 10; i++) {
            // 짝수 출력
            if (i % 2 != 0) {
                continue;
            }
            System.out.println(i);
        }

> comment) 개념 확실히!

profile
이것저것 다 적는 기록장📚

0개의 댓글