6. 자바 의 프로 세 스 제어

1. 순서 구조 순서 구 조 는 문장 에 따라 집행 하 는 선후 순 서 를 말한다. 또는 문장 에 나타 난 선후 순 서 는 프로그램 문, 문 구 를 조목조목 집행 하 는 것 을 말한다. 예 를 들 어 첫 번 째 Hello World 프로그램: Public class Hello World {      //프로그램의 주 함수 입문      public staticvoid main(String args[])       {            //출력 문자 문장          System.out.println("HelloWorld!");       } } 실 행 된 구문 순 서 는 다음 과 같 습 니 다. 1. Public class Hello World, 프로그램의 정의 클래스 를 찾 아 바이트 파일 을 컴 파일 합 니 다. 2. Public staticvoid main (String args []), 프로그램의 주 방법 (주 함수) 입 구 를 찾 아 이 방법의 문 구 를 실행 합 니 다. 3. System. out. println ("Hello World!")주 방법의 인쇄 문 구 를 실행 합 니 다. 한 항목 의 실행 은 먼저 프로그램의 주 클래스 파일 의 주 클래스 정의, 즉 위의 첫 번 째 문 구 를 찾 은 다음 주 방법 을 찾 아 주 방법의 문 구 를 실행 하여 프로그램 을 점차 컴 파일 하여 실행 합 니 다. 2. 분기 문 - if 문 1, if 문장의 일반적인 형식: if (< 조건 식 >)  <구문 그룹 1 >;      [else      <구문 그룹 2 >;] 예: Public class TestIF 1 {  public static void main(String[] args)   { int i = 65;         if (i>=60)   System. out. println ("합격"); else    System. out. println ("불합격");  } } 이 예 는 점수 가 합 격 했 는 지 판단 하 는 데 사 용 됩 니 다. if 의 조건 식 x > = 60 이 사실 인지, true 라면 if 문 구 를 실행 하 는 구문 그룹 입 니 다. 여기 가 바로 구문 System. out. println ("합격!") 입 니 다. 그렇지 않 으 면 else 의 구문 System. out. println ("불합격!") 을 실행 합 니 다.이것 은 전형 적 인 2 차원 판단 입 니 다. 즉, if 의 표현 식 상황 을 만족 시 키 는 지 만 판단 하 는 것 입 니 다. 이것 은 이것 이 아니면 저것 의 판단 에 속 합 니 다. 주의: 자바 의 문법 설명 형식 에서 괄호 안의 문 구 는 반드시 있어 야 합 니 다. 괄호 안의 문법 이 필요 한 지, 즉 필요 할 때 사용 하고 필요 하지 않 을 때 사용 해 야 합 니 다. 예 를 들 어 if 문장의 일반 형 입 니 다.문법 형식 에서 if 의 표현 식 은 있어 야 합 니 다. 구문 그룹 도 있어 야 합 니 다. (구문 그룹 을 쓰 지 않 아 도 됩 니 다. 하지만 아무것도 실행 하지 않 으 면 if 구문 도 의미 가 없습니다) else 문 구 는 있어 야 하 는 것 이 아니 라 프로그램 에 따라 설정 해 야 합 니 다. 예 를 들 어 출력 합격 점수 만 찍 으 면 else 문 구 는 필요 하지 않 습 니 다.   2. if 문장의 내장 형식 if (< 조건 1 >)     <구문 블록 1 >; elseif (< 조건 2 >)     <문장 블록 2 >; elseif (< 조건 3 >) 는 여러 조건 에 대해 if 문장의 일반적인 형식 으로 판단 하면 안 된다. 예 를 들 어 학생 의 성적 에 따라 몇 등급 의 문 제 를 평가 하 는 것 이다.
public class TestIF2{
  public static void main(String[] args){
	int i = 88;
	if(i >=90) 
	   System.out.println("  ");
	else if (i >=80) 
	   System.out.println("  ");
	else if (i>=70) 
	   System.out.println("  ");
	else  if (i>=60)
	   System.out.println("  ");
	else 
	   System.out.println("   ");	
  }
}

프로그램의 실행 은 if 조건 식 을 먼저 판단 하고 진짜 로 판단 하면 구문 을 실행 합 니 다. 나머지 else if 와 else 문 구 는 모두 실행 되 지 않 습 니 다.
if 문 구 는 가짜 이 고 첫 번 째 else if 표현 식 판단 을 실행 합 니 다. 진실 이면 구문 을 실행 합 니 다. 나머지 else if 와 else 문 구 는 모두 실행 되 지 않 습 니 다.
첫 번 째 else if 표현 식 은 가짜 로 판단 하면 두 번 째 else if 표현 식 이 진짜 로 판단 되면 구문 을 실행 합 니 다. 나머지 else if 와 else 문 구 는 모두 실행 되 지 않 습 니 다.
마지막 else 문 구 를 실행 할 때 까지 유추 합 니 다.
실제 위의 예 는 if else 문장의 구성 입 니 다. 하나의 else 문장에서 if else 문장 을 사 용 했 을 뿐 구체 적 인 형식 은 다음 과 같 습 니 다.
public class TestIF2{
  public static void main(String[] args){
	int i = 88;
	if(i >=90){ 
	   System.out.println("  ");
	}
	else{
		if (i >=80){
			System.out.println("  ");
		}
		else{
			if (i>=70){
				System.out.println("  ");
			}
			else{
				if (i>=60){
				   	System.out.println("  ");
				}
				else{ 
				   	System.out.println("   ");
				}
			}
		}
	}	
  }
}

이 코드 를 보면 쓰기 가 힘 들 어 보이 고 헷 갈 리 기 쉬 우 므 로 위의 쓰기 방법 을 찾 았 습 니 다. 그러나 if 의 끼 워 넣 기 만 이 쓰기 방법 을 사용 하 는 것 을 알 수 있 습 니 다. 처음 이외 의 프로그램 문 구 는 모두 표준 형식 에 따라 써 서 프로그램의 읽 기 에 편리 하도록 해 야 합 니 다.
주의: 이른바 분기 문, 즉 아무리 복제 하 더 라 도 그 중의 특정한 조건 판단 중의 한 문장 만 실행 할 수 있 습 니 다.
3. 분기 문 - switch 문 
switch 문장의 일반적인 형식:
  switch (< 표현 식 >)
 {
    case < 값 1 >: < 문장 블록 1 >; break;
    case < 값 2 >: < 문장 블록 2 >; break;
   ………..
   case < 값 n >: < 문장 블록 n >; break;
  [default: < 결 성 된 구문 블록 >;]
 }
여전히 점수 판단 을 예 로 들 면 코드 는 다음 과 같다.
public class TestSwitch {
  public static void main(String[] args) {
	int score=95;
	int i=score/10;	//   i      ,score/10=9.5            9
	switch(i) {
	  case 9:		// i   9 ,     
			 System.out.println("  ");
		     break; //    ,   switch  
	  case 8:
			 System.out.println("  ");
			 break;
	  case 7:
			 System.out.println("  ");
			 break;
	  case 6:
			 System.out.println("  ");
			 break;
	  default:	//    case           
			 System.out.println("   ");
	}
  }
}

4. 단일 if 문 구 를 사용 하여 if 내장, switch 문장의 기능 을 실현 합 니 다.
public class TestIF2{
  public static void main(String[] args){
	int i = 88;
	String s;
	if (i>=60)
		s="  ";  //   s="  "
	else 
		s="   ";
	if (i>=70) s="  ";	//    s="  "
	if (i>=80) s="  ";	//   s="  "
	if (i>=90) s="  ";	//   
	System.out.println(s);
  }
}

조건 을 작은 것 부터 큰 것 까지 순서대로 배열 하여 s 의 값 을 계속 바 꾸 어 순서 구 조 를 이용 하여 분기 선택 구 조 를 실현 하 였 습 니 다. 상기 코드 가 똑 같이 실현 하 는 성적 의 등급 판정 기능 도 if 내장, switch 만 이 실현 할 수 있 는 기능 을 실현 하 였 습 니 다.
그러나 이 코드 는 구조 가 뚜렷 하지 않 고 오류 가 발생 하기 쉬 워 보이 지만 실현 사고 입 니 다. 모든 if 문 구 는 판단 을 한 번 씩 실행 해 야 한 다 는 단점 이 있 습 니 다. if 내장, switch 문 구 를 사용 하여 조건 에 맞 는 표현 식 을 실행 하면 나머지 판단 문 구 를 집행 할 필요 가 없습니다. 프로그램 에서 이러한 모델 로 처리 절 차 를 진행 할 때 만 듭 니 다.하드웨어 자원 의 낭비 가 되 었 다.
5. while 순환
while 문 구 는 자바 언어의 가장 기본 적 인 순환 문 이다.
while 문장의 일반적인 형식:                              
    
     while (< 조건 식 >)    
    {
          <순환 체 >;     
     } 
예: 자연수 1 에서 100 까지
public class TestWhile {
  public static void main(String[] args){
   	int i=1,sum=0;
   	while(i<=100){  //        ,       
   	  sum+=i;
   	  i++;
   	}    
    System.out.println(sum);
  }
}

6. do - while 순환
do - while 문장의 일반적인 형식 은:
 
 do{    
    <순환 체 문장 >;
   } while (< 조건 식 >); 
public class TestDoWhile {
  public static void main(String[] args){
   	int i=1,sum=0;
    do{
   	  sum+=i;
   	  i++;
   	}   	
   	while(i<=100); 
    System.out.println(sum);
  }
}

메모: while 순환 은 조건 표현 식 을 먼저 판단 하고 순환 체 를 실행 하 며, do - while 순환 은 순환 체 를 먼저 실행 한 다음 조건 표현 식 을 판단 합 니 다.
7. for 순환
for 문장의 일반적인 형식 은:
 for (< 표현 식 1 >; < 표현 식 2 >; < 표현 식 3 >)
 {
   <순환 체 문장 >
  }
그 중:
표현 식 1 은 순환 을 제어 하 는 변 수 를 설정 하 는 초기 값 입 니 다.
표현 식 2 는 조건 부 판단 부분 으로 모든 불 표현 식 이 될 수 있 습 니 다.
표현 식 3 은 순환 변 수 를 증가 하거나 감소 시 켜 순환 조건 을 바 꾸 는 것 입 니 다. 
실례
public class TestFor {
   public static void main(String[] args){
   	 int i,sum=0;
   	 for(i=1;i<=100;i++){
       		sum+=i;
	 }
        System.out.println(sum);
   }
}

좋은 웹페이지 즐겨찾기