[Java] 노트정리 : break, continue

Young eee·2022년 12월 22일

Java

목록 보기
5/22
post-thumbnail

📖 break

  • loop문과 함께 사용하면서 탈출시킬 때 사용
    ※ loop문 : for, while, do while, switch

💻 break Ex.

			/*
			형식 :
		 		for(int i = 0; i < 10; i++) {
		 			처리1
		 			if(조건){
		 				break;
		 			}
		 			처리2
		 		}
		 		
		 		w = 0;
		 		while(w < 10) {
		 			처리1
		 			if(조건) {
		 			break;
		 			}
		 			처리2
		 			w++;
		 		}
		 	
		 */
		
		for(int i = 0; i < 10; i++) {
			System.out.println("for loop" + i);
			
			if(i == 5) {
				System.out.println("i == 5입니다");
				break;	//i = 5에서 탈출 후 제어문 종료
			}
		}
		
		int number[] = { 13, 45, 27, -36, 78 };
		
		for(int i = 0; i < number.length; i++) {
			System.out.println("number[" + i + "] = "+ number[i]);
			
			if(number[i] < 0) {
				break;		// -36에서 탈출 후 78 출력되지않음
			}
		}
		
		//2중 for문 탈출
		for(int i = 0; i < 10; i++) {
			System.out.println("i = " + i);
			
			for(int j = 0; j < 8; j++) {
				System.out.println("\t j = " + j);
				
				if(i == 5 && j == 4) {
					break;		//i = 5, j = 4일때 탈출 후 i=6부터 다시 시작됨
                    			//2중 for문에서는 break이 2개 필요함
				}
			}
		}

💡 2중 for문 탈출방법

		// 1.loop문 수에 맞춰서 break를 설정한다
		boolean b = false;
		
		for(int i = 0; i < 10; i++) {
			System.out.println("i = " + i);
			
			for(int j = 0; j < 8; j++) {
				System.out.println("\t j = " + j);
				
				if(i == 5 && j == 4) {
					b = true;
				}
				if(b) {
					break;
				}
			}
			if(b) {
				break;
			}
		}
		// 2. break 설정
		loopout:for(int i = 0; i < 10; i++) {	//이름설정
			System.out.println("i = " + i);
			
			for(int j = 0; j < 8; j++) {
				System.out.println("\t j = " + j);
				
				if(i == 5 && j == 4) {
					break loopout;		//종료선언
				}
			}
		}

📖 contiue

  • skip 기능
  • loop문과 같이 사용해야하며 단독사용 X

💻 contiue Ex.

		/*
			while(조건) {
				
				처리1
				
				if(조건){
					continue;
				}
				처리2
				
				연산식
				
			}
         */
         
		//Ex1.
		for(int i = 0; i < 10; i++) {
			System.out.println("i = "+ i);
			
			System.out.println("for 처리1");
			
			
			if(i>5) { continue; }
			 // continue로 생략되어서 i = 6부터 아래 처리2부분이 출력되지 않음
			
			System.out.println("for 처리2");
			
			
		}
		//Ex2.
		int array[] = { 2, -6, 3, -4, 5 };
		for(int i = 0; i < array.length; i++) {
			
			if(array[i] <= 0) { //음수였을 때 생략
				continue;
			}
			
			System.out.println("array[" + i + "] = " + array[i]); //양수만 출력
		}
		
		Scanner sc = new Scanner(System.in);
		
		int number;
		//Ex3.
		for(int i = 0; i < 3; i++) {
			System.out.print("number " + i + " = ");
			number = sc.nextInt();
			
			if(number <=0 ) {
				continue;
			}
			
			System.out.println("number: " + number);
			
		}
		//Ex4.
		int w = 0;
		while(w < 3) {
			System.out.print("number" + w + " = ");
			number = sc.nextInt();
			
			if(number <= 0) {
				continue;
			}
			
			System.out.println("number: " + number);	//음수 입력 시 무한 루프
			w++;
		}

🖊️ Mini Quiz

  • 양수로 된 숫자 5개를 배열에 저장해서 출력
		//입력받을 배열 준비
		int	numArr[] = new int[5];
		
		int r = 0;
		//loop로 입력
		while (r < numArr.length ) {
			//제어(continue)
			System.out.print((r + 1) + "번째 수 = ");
			int num = sc.nextInt();
			
			if(num <= 0 ) {
				System.out.println("양수를 입력해 주십시오");
				continue;
			}
			numArr[r] = num;
			r++;
		}
		//배열을 간단하게 확인할 수 있음
		System.out.println(Arrays.toString(numArr));

0개의 댓글