Part03 - control_statement

uglyduck.dev·2020년 9월 29일
0
post-thumbnail

Ex01_if

package com.mywork.ex;
import javax.swing.JOptionPane;

public class Ex01_if {
	public static void main(String[] args) {
		/*
		 * 1. 형식
		 *    if(조건식){
		 *      실행문;
		 *    }else if(조건식){
		 *      실행문;
		 *    }else{
		 *      실행문;
		 *    }
		 * 2. 특징
		 *   1) else if 문은 없어도 되고, 여러 개가 있을 수 있다.
		 *   2) else 문은 없어도 되고, 한 개가 있을 수 있다.
		 *   3) 실행문이 하나라면 실행 블록의 중괄호({})는 생략할 수 있다.
		 */
		
		int num = Integer.parseInt(JOptionPane.showInputDialog("정수를 입력하세요"));
		
		if(num > 0) {
			JOptionPane.showMessageDialog(null, "양수");
		}else if(num == 0) {
			JOptionPane.showMessageDialog(null, "ZERO");
		}else{
			JOptionPane.showMessageDialog(null, "음수");
		}
	}
}

Ex02_switch

package com.mywork.ex;
import javax.swing.JOptionPane;

public class Ex02_switch {
	public static void main(String[] args) {
		/*
		 * 1. 형식
		 *    switch(표현식){
		 *      case 값1 : 실행문; break;
		 *      case 값2 : 실행문; break;
		 *      default : 실행문;
		 *    }
		 * 2. 특징
		 *    1) 표현식의 결과는 정수, 문자, 문자열만 가능하다, 실수는 불가능하다.
		 *    2) 실제 사용 예시
		 *       switch(var){
		 *         case >= 10: 	// 불가능!(X)
		 *         case 10:		// 가능! (정수)   // 정수만 들어올 수 있다.
		 *         case 1.5:		// 불가능!(실수)
		 *         case '남'		// 가능! (문자)
		 *         case "admin"	// 가능! (문자열)
		 *       }
		 */
		
		int age = Integer.parseInt(JOptionPane.showInputDialog("정수를 입력하세요"));
		
		switch(age / 10) {   // 필요한 계산식 가능
		case 0:              // break 찾아서 case를 진행해라.
		case 1: JOptionPane.showMessageDialog(null, "미성년자");
		        break;			
		default : JOptionPane.showMessageDialog(null, "성인");
		}
	}
}

Ex03_while

package com.mywork.ex;

public class Ex03_while {
	public static void main(String[] args) {
		/*
		 * 1. 형식
		 *    while (조건식){
		 *      반복실행문;
		 *    }
		 * 2. 특징
		 *    1) 조건식을 만족하지 않으면 한 번도 실행이 안 될 수 있다.
		 *    2) 반복실행문이 없는 경우엔 while(조건식);과 같은 형식으로 사용한다
		 *       -> 코드 블럭이 필요 없음.
		 *    3) 무한루프는 while (true) { } 과 같은 형식으로 사용한다.
		 */
		
		int num = 0;			// 초기문
		
		while(num < 10) { 		// 조건문 (종료문)
			System.out.println(num);
			num++;				// 초기 -> 종료 (증감)
		}
	}
}

Ex04_do_while

package com.mywork.ex;

public class Ex04_do_while {
	public static void main(String[] args) {
		/*
		 * 1. 형식
		 *    do{
		 *      반복실행문;
		 *    } while (조건식);
		 * 2. 특징
		 *    1) 조건식과 관계없이 반드시 한 번은 실행되는 반복문이다.
		 *    2) 나머지 특징은 while 문이다.
		 */
		
		int num = 0;
		do {
			System.out.println(num);
			num++;
		}while(num < 10);
	}
}

Ex05_for

package com.mywork.ex;

public class Ex05_for {
	public static void main(String[] args) {
		/*
		 * 1. 형식
		 *    for (초기문; 조건문; 반복 실행문 후 실행;){
		 *      반복실행문;
		 *    }
		 * 2. 특징
		 *  1) 반복의 횟수 또는 범위가 명확한 경우에 사용하는 반복문이다.
		 *  2) 주로 배열과 함께 사용된다.
		 *  3) 무한루프 for( ; ;) { } 과 같은 형식으로 사용한다.
		 *  4) 반복실행문이 없는 경우엔 for(초기문; 조건문; 반복실행문 후 실행);과 같은 형식으로 사용한다
		 */
		
		for(int num = 0; num < 10; num++) {
			System.out.println(num);
		}   // num이 소멸되는 시점
		
		//System.out.println(num); --> 오류 (main 스코프에서 선언된 num이 없으므로 에러)
		
		for(int i = 0; i < 10; i++) {
			System.out.println(i);
		}
		
		for(int i = 0; i < 10; i++) {
			System.out.println(i);
		}
	}
}

Ex06_break

package com.mywork.ex;
import javax.swing.JOptionPane;

public class Ex06_break {
	public static void main(String[] args) {
		/*
		 * 1. 형식
		 *    while(true){
		 *        if(조건식){
		 *          break;
		 *        }
		 *    }
		 * 2. 특징
		 *    1) 반복문을 곧바로 종료한다.
		 *    2) switch 문을 곧바로 종료한다.
		 */
		
		String id;
		while(true) {
			id = JOptionPane.showInputDialog("ID 입력하세요");
			if(id.equals("admin")) {
				JOptionPane.showConfirmDialog(null, "아이디 일치!");
				break;
			} else {
				JOptionPane.showConfirmDialog(null, "다시 입력하세요!");
			}
		}
	}
}

Ex07_continue

package com.mywork.ex;

public class Ex07_continue {
	public static void main(String[] args) {
		/*
		 * 1. 형식
		 *    while(조건식){
		 *        반복실행문;
		 *        if(조건식){
		 *            continue;  // while(조건식) <- 이동!
		 *        }
		 *        반복실행문;  // continue 가 동작하면 실행되지 않는 영역
		 *    }
		 * 		
		 *    for(초기문; 조건식; 반복실행문 후 실행){
		 *        반복실행문;
		 *        if (조건식){
		 *            continue; // for 문의 반복실행문 후 실행 <- 이동!
		 *        }
		 *        반복실행문;
		 *    }
		 * 
		 *    while(다 먹을때까지){
		 *        반찬을 집어라!
		 *        if (반찬 == 굴){
		 *            continue;
		 *        }
		 *        반찬을 먹는다!
		 *    }
		 * 2. 특징
		 *  1) 반복에서 제외하고 싶은 데이터를 조건식으로 만들고 continue로 처리한다.
		 *  2) while 문과 for 문 계열에 약간의 차이가 있다.
		 *
		 */
		
		// 1 ~ 10 출력 (3의 배수는 제외)
		int num = 0;
		while (num <= 10) {
			num++;
			if (num % 3 == 0) {
				continue;
			}
			System.out.println(num);
		}
		
		// 2. 1 ~ 10출력 (3의 배수는 제외)
		for(num = 1; num <= 10; num ++) {
			if(num % 3 == 0) {
				continue;
			}
			System.out.println(num);
		}
	}
}



profile
시행착오, 문제해결 그 어디 즈음에.

0개의 댓글