티스토리 뷰

1. 제어문😊

- 제어문은 실행문의 수행 순서를 변경 하는것으로 조건문, 반복문, 분기문 이있다.

 

조건문 (=선택문) : 조건식의 결과에 따라 여러 실행 경로 중 하나를 선택한다. 종류로는 if문, switch문이 있다.
반복문 : 조건에 따라 같은 처리를 반복하며, for문, while문, do~while문이 있다.
분기문 : 실행 흐름을 무조건 변경하는 break문, continue문이 있다.

우선, 조건문에 대해서 먼저 알아 보겠습니다.

- 조건문 (if문, if~else문, 다중 if문, 중첩 if문, switch문)

1. if문 : 조건식이 true일때만, 실행문을 실행한다. 조건식이 true일대, 수행할 실행문이 하나라면 { } 을 생략할수 있다.

if (조건식) {
	실행문(들);
}

 이제, if문을 사용하여 예시를 들어보도록 하겠습니다🤚

 

import.java.util.Scanner;

public class SimpleIf{
	public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    System.out.print("숫자를 입력하세요 : ");
    
    int number = in.nextInt();
    
    if(number % 2 == 0)
    System.out.println("짝수!");
    
    if(number % 3 == 0)
    System.out.println("홀수!");
    }
}

- 코드를 설명하자면, import.java.util.Scanner;는 자바를 코드로 작성할때 항상 써줘야하는 코드입니다. java.util 이라는 패키지 안에 있는 클래스들을 import 하겠다" 라는 의미입니다.

 

- "Scanner in = new Scanner(System.in);" 은 Scanner 클래스에서 객체를 생성을 꼭 해줘야만 사용할 수있습니다. 키보드로 입력을 받을때 사용합니다.

 

- "System.out.print"를 사용해 "숫자를 입력하세요 :" 를 화면에 출력해줍니다.

 

- "next()" 는 공백 이전까지의 문자열을 입력받는 메서드입니다.

 

- "nextInt()" 는 int형 정수를 입력받는 메서드입니다.

 

- if문을 사용하여, 만약 입력받은 수가 2로 나누었을때, 나머지가 0이면 "짝수!"를 출력하고, 2로 나누었을때, 나머지가 1이면 "홀수!" 를 출력합니다.

 

2. if~else문 : 조건식의 true 나 false에 따라 다른 실행문를 수행 할때 사용한다.

if (조건식) {
	실행문(들);
} else {
	실행문(들);
}

 이제, if~else문을 사용하여 예시를 들어보도록 하겠습니다✍

 

import.java.util.Scanner;

public class SimpleIf{
	public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    System.out.print("숫자를 입력하세요 : ");
    
    int number = in.nextInt();
    
    if(number % 2 == 0)
    System.out.println("짝수!");
    
    else
    System.out.println("홀수!");
    }
}

 - 위의 if문과의 차이를 아시겠나요? 나머지 코드는 모두 동일하고, 2번째 if문을 else로 바꾸어 if~else문을 사용하였습니다. if~else경우에는 if문처럼 (조건식)을 써주지 않고 else 만 사용합니다.

 

- 코드 설명을 하자면, 만약에 입력받은수가 2로 나뉘어 나머지가 0이면 "짝수!"를 출력하고, 2로 나뉘어지지 않고 나머지가 0이 아닌 모든 경우는 다 else문에 의해 "홀수!"를 출력하게 되는것입니다.

 

if(number % 2 == 0)
    System.out.println("짝수!");
    
    else
    System.out.println("홀수!");

			
System.out.println(number % 2 ==0 ? "짝수!" : "홀수!" );

그리고, 1번째의 있는 if~else문을 2번째의 있는 조건연산자를 이용해 더 간결하게 표현이 가능합니다.

조건식이 true이면 짝수를 출력하고, false이면 홀수를 출력하게 되는 구조입니다.

 

2. 다중 if문 : 조건식이 여러개일 경우에는 다중 if문을 사용한다. if문을 사용후 else if문을 연속 추가해 사용한다.

 

if (조건식1) {
	실행문(들); // 조건식이 참일때만 실행
} else if (조건식2){
	실행문(들); // 조건식1이 거짓이며 조건식2가 참일때 실행
} else if (조건식3){
	실행문(들);
} else if (조건식4){
	실행문(들);
} ...

} else {
	실행문(들); // 모든 조건을 만족하지 않을때만 실행
}

이제, 다중 if문을 사용하여 예시를 들어보도록 하겠습니다⭐

 

import.java.util.Scanner;

public class Multi{
	public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    String grade;
    System.out.print("점수를 입력하세요 : ");
    
    int score = in.nextInt();
    
    if(score >= 90)
    	grade = "A";
    else if(score >= 80)
    	grade = "B";
    else if(score >= 70)
    	grade = "C"; 
    else if(score >= 60)
    	grade = "D";
    else
        grade = "F";
    System.out.println("당신의 학점은" + grade);
    }
}

- grade라는 변수를 String 문자열로 선언하고, 점수를 입력받는 출력문을 출력합니다. 

 

- score라는 변수를 int형으로 선언하고, 출력문 뒤에 값을 입력받습니다.

 

- if문을 사용해 90점 이상일때는 grade 라는 변수에 "A"를 넣고, 90점 미만이면서 80점 이상일때는 "B"를, 80점 미만이면서 70점 이상일때는 "C"를 이런식으로 입력을 받고 60점미만을때는 "F"를 입력받습니다.

 

- 마지막으로, "당신의 학점은" 을 출력하고, grade 변수에 저장되어있는 값을 출력합니다.

 

3. 중첩 if문 : if문 안에 if문이 포함된것을 중첩 if문이라고 한다. 

 

import.java.util.Scanner;

public class Multi{
	public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    String grade;
    System.out.print("점수를 입력하세요 : ");
    
    int score = in.nextInt();
    
    if(score >= 90)
    	grade = "A";
      else {
          if(score >= 80)
          grade = "B";
      	else {
          if(score >= 70)
          grade = "C";
      		else {
          		if(score >= 60)
          		grade = "D";
      			else
                	grade = "F";
            	 }
             }
       	}
    System.out.println("당신의 학점은" + grade);
    }
}

- 중첩 if문에서는 if절과 else절에 관환 실행문이 명확하게 표시되도록 중괄호를 사용하는것이 좋습니다.

- 설명은 위의 다중 if문과 동일합니다.

 

4. switch문 : switch문은 여러 개의 선택중 하나를 선택 할때만 사용하며, 다중 if문으로도 구현 가능하다.

 

switch (연산식) {

case 값1 :
	실햄문(들); // 연산식 값이 값1과 일치할때 실행
case 값2 : 
	실행문(들): // 연산식 값이 값2과 일치할때 실행
case 값3 :
	실행문(들):
    
defalut:
	실행문(들): // 연산식 값과 일치하는 값이 없을때 실행
}

이제, switch문을 사용하여 예시를 들어보도록 하겠습니다😲

 

import.java.util.Scanner;

public class Multi{
	public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    System.out.print("등수를 입력하세요 : ");
    
    int rank = in.nextInt();
    
   switch(rank) {
   case 1: 
   	System.out.println("일등입니다.");
    break; // case 1 에서 탈출해라
   case 2: 
   	System.out.println("이등입니다.");
    break; // case 2 에서 탈출해라
   case 3: 
   	System.out.println("삼등입니다.");
    break; // case 3 에서 탈출해라
   defalut:
   	System.out.println("등외입니다.");
   		}
    }
}

- 등수를 입력받아, 예를 들어 2를 입력하면 case 2 로 이동하여 case 2에 있는 문들을 실행합니다. 그럼 "이등입니다."

라는 글이 출력됩니다. 그리고 braek; 문으로 case2를 탈출해서 실행문을 끝냅니다.

 

- 1,2,3 말고 3 초과를 하는 예를들어 4나 5를 입력하게 되면, "등외입니다."를 출력하게 되는겁니다.

 

- 그리고, 모든 switch문을 다중 if문으로 작성할수있는것은 아닙니다. 

'언어 > Java' 카테고리의 다른 글

[자바 1장] 문법의 기초  (1) 2021.08.02
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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