티스토리 뷰

제어문 : 프로그램의 실행 흐름을 제어하는 문장을 제어문이라고 한다. 프로그램의 실행 흐름은 메소드 블록 { } 안에서 작성한 순서대로 실행된다. 개발자가 원하는 방향으로 실행의 흐름을 바꾸는 것이 제어문이다. 제어문은 조건문, 반복문, 분기문으로 나뉜다. 

 

조건문 : 조건식을 제시하고 조건식의 결과에 따라 다음 코드의 수행 여부를 결정하는 문장이다. 조건식은 반드시 true / false 의 결과가 나오게 작성하여야 한다. 조건문에는 if문과 switch문 이 있다. 

 

if문 : 제시된 조건식의 결과가 true 일 때만 { } 안의 문장들을 실행시킨다.

if(조건식) {
	// 조건식이 참(true) 일 경우에 만 실행되는 문장들
}

조건식은 boolean 타입 으로 결과값이 반환되는 식이 들어간다. 

일반적으로 true/false 의 결과를 만드는 관계연산자( < , > , <= , >= , == , != )와 논리연산자( && , || , ! )가 주로 이용된다.

 

다음 코드를 통해 if , if - else , if - else if , 중첩 if 를 다뤄보겠다.

package com.test01;

public class MTest01 {

	public static void main(String[] args) {
		prn01();
		prn02(true, false);
	}
	
	public static void prn01() {	
		int i = 10;
		int j = 20;
		

		// if : 만약 ~라면	
		if(i < j) {
			System.out.println("i가 j 보다 작아요.");
		}
		
		
		//if ~ else
        //if문의 조건식의 결과가 true 일 경우와 false 일 경우 수행할 문장을 각각 지정한다.
		if(i>j) {
			System.out.println("i가 j 보다 커요.");
		}else {
			System.out.println("i가 j 보다 안커요.");
		}
		
		
		//if ~ else if ~
        //다중if 문이라고도 하며, 판단해야 하는 조건이 세가지 이상인 경우 사용한다.
		if(i > 15)
			System.out.println("i가 15보다 커요.");
		else if(i > 10)
			System.out.println("i가 10보다 커요.");
		else if(i == 10)
			System.out.println("i가 10이랑 같아요.");
		else
			System.out.println("i가 10보다 작아요.");
	}

	public static void prn02(boolean ring, boolean married) {
		//중첩 if
        //if문의 블록 내에 다른 if문을 포함시키는 구문이며, 중첩 횟수에는 제한이 없다!
		if (ring) {
			if(married)
				System.out.println("결혼하셧꾼요!");
			else
				System.out.println("연인이 있으시군요!");
		} else {
			if(married)
				System.out.println("반지를 잃어버리셨군요!");
			else
				System.out.println("어이구 저런,,");
		}
		
		//if ~ else if ~ else
		if(ring && married)
			System.out.println("결혼하셨군요!");
		else if(ring || married)
			System.out.println("연인이 있으시군요!");
		else
			System.out.println("솔로시군요...");
		
		//바디 블록 없이는 한줄만 적용가능!
		if(ring)
			System.out.println("반지 있다.");
		
		if(married)
			System.out.println("결혼했당.");
			System.out.println("부럽당ㅜ");
	}
}

예제1) 정답

package com.test01;

public class MTest02 {

	public static void main(String[] args) {
		/*
		 * 1. 아규먼트가 5의 배수이면 "5의 배수입니다." 라고 출력하는 메서드를 만들자.
		 * 2. 아규먼트가 2의 배수이면서 3의 배수이면 
		 * 		"2와 3의 배수입니다." 를 출력하고, 아니면
		 *      "2와 3의 배수가 아닙니다." 를 출력하는 메서드를 만들자
		 * 3. 아규먼트가 소문자라면 "소문자 입니다." 를 출력하고,
		 *      대문자라면 "대문자 입니다." 를 출력하는 메서드를 만들자.
		 *      
		 * 4. 메서드 3개를 호출하자.
		 */
		
		multiFive(10);
		multiThreeTwo(12);
		Cappital('s');
	}
	
	public static void multiFive(int i) {
		if((i % 5) == 0)
			System.out.println("5의 배수입니다.");
		else
			System.out.println("5의 배수가 아닙니다.");
	}
	
	public static void multiThreeTwo(int i) {
		if((i % 2) == 0 && (i % 3) == 0)
			System.out.println("2와 3의 배수입니다.");
		else
			System.out.println("2와 3의 배수가 아닙니다.");
	}
	
	public static void Cappital(char str) {
		//Java.lang.Character 이용
		if(Character.isUpperCase(str))
			System.out.println("대문자 입니다.");
		else
			System.out.println("소문자 입니다.");
		
		//ascii code 표 이용
		if(65 <= (int)str && (int)str <= 90)
			System.out.println("대문자 입니다.");
		if(97 <= (int)str && (int)str <= 122)
			System.out.println("소문자 입니다.");
	}
}
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함