Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
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
Tags
more
Archives
Today
Total
관리 메뉴

붓, 그리다

다중IF문, While문, For문 본문

JAVA/Basic

다중IF문, While문, For문

붓그린 2017. 6. 16. 17:07
[ 다중 if문 ]
1.조건식이 많아져서 복잡
2.실행속도가 느려진다.




[ switch~case ]

1) 조건식이 단순
2) 실행속도가 빠르다.

 switch(조건식){ //1)무조건 숫자가 나올 수있도록 조건식
                             을 체크
  case 숫자1:  //2)범위를 지정할 수없다.
                    실행문장;
                    break;//탈출문 3)break문을 반드시 사용
  case 숫자2:
                    실행문장;
                    break;
  case 숫자3:
                    실행문장;
                    break;
   ...
  default:  //->다중 if문의 else (생략가능)
              실행n;

-> 범위가 한정되어있을 경우 사용

package j0529;
//다중 if문 대용=>사용자로부터 값을 입력->짝수/홀수(1~10까지의 숫자만 입력)
public class SwitchTest2 {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                int su=8;
                //2의 배수
                //(2)switch ~case
                switch(su) { //(0~10까지만 입력)
                case 0:
                case 2:
                case 4:
                case 6:
                case 8:
                case 10:
                                        System.out.println(su+"은 짝수입니다.");
                                        break;//생략하면 조건에 만족하지 않은 구문까지도 실행이 된다.
                case 1: case 3: case 5: case 7: case 9:
                        System.out.println(su+"은 홀수입니다.");
                        break;
                default // 0~10 이외의 숫자를 입력할 경우
                        System.out.println("입력 받을 수는 0~10까지만 입력하세요");
                // break 생략 가능
                }//switch
                System.out.println("switch구문 종료");
        }
}



3) 범위를 지정할 수 없을 경우 -> 다중 if문

4) case '1' : 문자가 오는 예외, 아스키코드값

case 65 => 'A'
case 'A' => 숫자로 계산에서 처리

5) 조건식에서도 문자 사용이 가능하다




[ 반복문 ] while
- 어느 특정 조건에 따라서 반복적으로 수행되는 문장
- 특징 : 조건식이 처음부터 거짓이면 한번도 수행하지 않는다.

1) 반복할 횟수가 정해져 있는 경우 : for문, while문

2) 반복할 횟수가 정해져 있지 않은 경우 : while문


형식)

while(조건식){ // 참이면 실행1 //참이면 3 
     수행할 구문1; // 실행2 // 실행 4
     수행할 구문2
}

-> 조건식이 거짓이 되는 동안 수행할 구문1을 계속 실행


public class WhileTest {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                //반드시 반복할 횟수를 기억할 변수를 선언
                //무한루프 -> 조건식이 항상 참이기 때문에 무한적으로 계속 수행이 되는 경우
                int i=1;
                while(i<=10) {
                System.out.println("반복할 횟수가 있는 while문"+i);
                i++; // i=i+1
                } // 블록처리를 해야만 i++까지 실행함
                System.out.println("while문 종료");
        }

}


while문의 조건이 항상 참이 되도록 하려면 true를 넣는다.(무한루프)

public class WhileTest {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                //반드시 반복할 횟수를 기억할 변수를 선언
                //무한루프 -> 조건식이 항상 참이기 때문에 무한적으로 계속 수행이 되는 경우
                int i=1;
                while(true) { // c언어 : while(1)
                System.out.println("반복할 횟수가 있는 while문"+i);
                i++; // i=i+1
                } // 블록처리를 해야만 i++까지 실행함
                //System.out.println("while문 종료");
        }

}



[ do-while ]
- 조건식을 체크하지 않고 먼저 문장을 수행
- 나중에 조건식을 체크
- 조건이 참이면 계속해서 수행, 거짓이 될 때까지 수행
- 특징 : 조건식이 거짓이라도 한번은 수행이 된다.

do {수행할 구문1;
 수행할 구문2;
}while(조건식);

-> 조건식이 뒤에 나오고 반드시 ;을 사용하는 유일한 제어문




[ FOR문 ] ★★★


for(초기식;조건식;증감식)
     실행구문;

- 초기식 : 반복할 구문을 사용(변수 선언)
- 초기식이 int=1 이면 C++언어

for(초기식(int=1);조건식;증감식)
     실행구문;

- C언어 : for문 밖에서 먼저 반복할 변수를 선언

int=1 
for(초기식(i=1);조건식;증감식)
     실행구문;


1) C++ 유형

System.out.println("1. For문의 유형 (c++유형)");
                for(int i=1;i<=5;i++)
                        System.out.println("반복문 연습"+i);
                System.out.println("for문 종료(C++)");


2) C언어 유형

System.out.println("2. For문의 유형 (c언어유형)");
                int k;
                for(k=10;k>5;k--)
                        System.out.println("연습"+k);
                System.out.println("for문 종료(C언어)");


3) 초기식이 생략이 되는 경우

System.out.println("3. 초기식이 생략되는 경우");
                int k=10;
                for(;k>5;k--) // 초기식이 생략
                        System.out.println(k+"테스트");


4) 최소한의 for문 구조(증감식도 생략이 되는 경우)

System.out.println("4. 최소한의 for문 구조(증감식도 생략이 가능)");
                int c=1;
                //c++; //증감식은 생략이 가능하나 for문 밖에 코딩하면 인식이 안됨(무한루프)
                for(;c<=20;) {
                        System.out.println("20번 반목"+c);
                        c++;
                }

-> 증감식은 for문 내부에 사용해야 한다.



*출력할 때 \t을 쓰면 탭키를 누른만큼 이동


5) 합계과 곱 구하기

System.out.println("5. 합계, 곱을 동시에 구하기");
//1부터 4까지 구하기 : 1+2+3+4,,,,+100=?
// 변수, 변수의 개수를 따져야 함 => 합계를 기억할 변수, 반복할 횟수 (2개)
int sum=0; //반복할 횟수 i => for문
int gap=1; //곱을 저장할 변수
     for(int i=1;i<=4;i++) {
          sum +=i; //대입연산자, sum=sum+i
          gap*=i; // gop=gop*i
     }
System.out.println("최종합계(sum)="+sum);
System.out.println("최종곱(gop)="+gap);        




'JAVA > Basic' 카테고리의 다른 글

제어문 2  (0) 2017.06.16
객체지향언어  (0) 2017.06.16
이클립스 설치 및 환경설정  (0) 2017.06.16
자바의 특징, 변수  (0) 2017.06.16
환경설정 2  (0) 2017.06.16
Comments