for문)

for문은 주어진 횟수만큼 실행문을 반복 실행할 때 적합한 반복 제어문이다.

 

for(초기화식 ; 조건식; 증감식;){

      조건식이 참일 경우

      실행문 

}

 

for문이 처음 실행될 때 초기화식이 제일 먼저 실행되나. 그다음 조건식이 true이면 실행문을 실행시키고 

실행문이 실행되면 증감식을 실행한 후 다시 조건식을 평가한다.

 

다음은 가장 기본적인 for문으로 1부터 10까지 출력하는 코드이다.

public class ForEx{
	public static void main(String []args){
    	for(int i=1; i<=10; i++){
        	System.out.println(i);
            }
      }
   }
public class ForEx2{
	public static void main(String []args){
    	int sum = 0;
        
        for(int i=1; i<=100; i++){
        	sum += i;
            }
         System.out.println(sum);
        }
     }

 

1부터 100까지의 합

1부터 100까지의 합을 출력하는 코드

for문)

for문은 주어진 횟수만큼 실행문을 반복 실행할 때 적합한 반복 제어문이다.

 

for(초기화식 ; 조건식; 증감식;){

      조건식이 참일 경우

      실행문 

}

 

for문이 처음 실행될 때 초기화식이 제일 먼저 실행되나. 그다음 조건식이 true이면 실행문을 실행시키고 

실행문이 실행되면 증감식을 실행한 후 다시 조건식을 평가한다.

 

다음은 가장 기본적인 for문으로 1부터 10까지 출력하는 코드이다.

public class ForEx{
	public static void main(String []args){
    	for(int i=1; i<=10; i++){
        	System.out.println(i);
            }
      }
   }
public class ForEx2{
	public static void main(String []args){
    	int sum = 0;
        
        for(int i=1; i<=100; i++){
        	sum += i;
            }
         System.out.println(sum);
        }
     }

 

1부터 100까지의 합

1부터 100까지의 합을 출력하는 코드

switch문)

switch문은 if문과 마찬가지로 조건 제어문이다. 하지만 switch문은 변수가 어떤 값을 갖느냐에 따라 실행문이 선택된다.

if문은 조건식의 결과가 참 또는 거짓 두가지밖에 없기 때문에 경우의 수가 많아 질수록 코드가 복잡해진다.

그러나 switch문을 이용하면 변수의 값에 따라 실행문이 결정되기 때문에 if문보다 코드가 간결하다.

 

public class SwitchEx {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		int val = 2;

		switch (val) {
		case 1:
			System.out.println("값1");
			break;
		case 2:
			System.out.println("값2");
			break;
		case 3:
			System.out.println("값3");
			break;
		default:
			System.out.println("기본");			
		}
	} 
} 
//출력 결과 : "값 2"

switch문은 괄호 안의 값과 동일한 값을 갖는 case로 가서 실행문을 실행시킨다.

case 끝에 break가 붙은 이유는 다음 case를 실행하지말고 swtich문을 빠져나기기 위함이고 break가 없으면 다음 case들을 연달아 실행하게 되는데 이때 case값과는 상관없이 실행된다.

만약 괄호 안의 값과 동일한 값을 갖는 case가 없으면 default로 가서 실행문을 실행시키고 default문은 생략이 가능하다.

switch문(2))

import java.util.Scanner;

public class SwitchEx2 {

	public static void main(String[] args) {

		Scanner scanner = new Scanner(System.in);
		String inputString;

		System.out.println("YES / NO (Y,N)?");
		inputString = scanner.nextLine();

		switch (inputString) {

		case "y":
		case "Y":
			System.out.println("YES");
			break;
		case "n":
		case "N":
			System.out.println("NO");
			break;

		default:
			System.out.println("Wrong answer");

		}
	}
}

키보드로 값을 입력받아 switch문을 실행시킬 수도 있다.

예를들어 게임에서 게임이 끝나고 다시 하시겠습니까를 구현하고자 할 때 YES, Y, y, NO, no, n 등 키보드 입력을 통해 

제어할 수 있다.

 

 

프로그램을 시작하면 main( )메소드의 시작 중괄호 '{' 에서 시작해 끝 중괄호 '}' 까지 위에서부터 아래로 실행하는 흐름을 가지고 있다. 이러한 실행 흐름을 원하는 방향으로 바꿀 수 있도록 해주는 것이 제어문이다.

 


조건문에는 if문, switch문이 있고

반복문에는 for문, while문, do-while문이 있다.

 

1) if문

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

 

public class IfEx{
	public static void main(String [] args){
		int score = 93;
        
        if(score >= 90){ //score가 90 이상이면 
        	System.out.println("점수가 90점보다 큽니다."); 
            System.out.println("등급은 A등급 입니다.");
            }
            
        if(score < 90){  //score가 90 미만이면
			System.out.println("점수가 90점보다 작습니다.");
            System.out.println("등급은 B등급 입니다.");
        }
   }
        
        

 

2) if-else문

 if(조건식){

     조건식이 true

}else{

     조건식이 false

}

public class IfElseEx{
	public static void main(String [] args){
    	int score = 85;
        
        if(score>=90) {
        	System.out.println("점수가 90보다 큽니다.");
            System.out.println("등급은 A 입니다.");
	 	}else{
        	System.out.println("점수가 90보다 작습니다.");
            System.out.println("등급은 B 입니다.");
            }
         }
       }

이렇게 두 개의 if문을 이용하는것보다 if-else문을 이용하면 더욱 간결하게 코딩할 수 있다.

 

 

3) if-else if-else문

조건문이 여러 개인 if문으로  처음 if문의 조건식이 false일 경우 if 블록의 끝에 else if문을 붙여 사용한다. else if문의 수는 제한이 없고 true가 되는 블록만 실행하고 if문을 벗어나게 된다.

 

public class IfElseIfElseEx{
	public static void main(String[] args){
    	int score = 75;
        
        if(score >= 90){
        	System.out.println("점수가 100-90 입니다.");
            System.out.println("등급은 A입니다.");
          }else if(score>=80){
          	System.out.println("점수가 80~89 입니다.");
            System.out.println("등급은 B입니다.");
          }else if(score>=70){
            System.out.println("점수가 70~79입니다.");
            System.out.println("등급은 C입니다.");
          }else {
            System.out.println("점수가 70미만 입니다.");
            System.out.println("등급은 D입니다.");
            }
          }
       }
          

 

4)중첩 if문

if문의 블록 안에는 또 다른 if문을 사용할 수 있다. 이것을 중첩 if문이라 부르는데, 중첩의 단계는 제한이 없어서 실행 흐름을 잘 판단하여 작성하면 된다. if문 이외에도 for문, while문, do-while문, switch문 등 서로 중첩이 가능하다.

 

public class IfEx2{
	public static void main(String[] args){
    	
        int score = 92;
        String grade;
        
        if(score >= 90){
        	if(score >=95){
            	grade = "A+";
            }else{
            	grade = "A";
            }
            
         }else{
            if(score >= 85){
            	grade ="B+";
            }else{
            	grade ="B";
            }
          }
          System.out.println("학점 : " + grade);
        }
     }

+ Recent posts