ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java-23] 자바 조건문, 반복문
    Java 2020. 12. 4. 17:26

    Java 조건문과 반복문

    조건문


    If 문


    if문은 java든, 아니든 코드를 작성하면서, java가 이 코드를 실행을 할지 안할지 결정할 수 있게 해주는,
    프로그래밍 언어에서는 필 수적은 조건문 이라고 할 수 있다.

    간단한 예를 들어보자

    if(true){ 
      //실행 되는 코드 
    }
    if(str == null) {
      str = "helloWorld";
    }

    다음과 같은 코드에서 str 변수가 정말로 null값을 가지고 있다면,
    실제로 { } 안에 있는 문법이 실행이 되는 것이다. 이런 간단한 if문은 다시

    if(str == null)
        str = "HelloWorld";

    이런식으로 { }을 작성해주지 않아도 알아서 잘 작성하는 걸 볼수 있다.


    else 문


    if문 에서는 else 라는 keyword를 지원한다. else 문을 사용하면,
    즉 if문을 통과하지 못했을때 의 상태에서 실행이 된다는 뜻이다. 예를들어보자

    int x = 3; 
    if(x == 3){
        System.out.println("x 의 값은 3입니다. ");
    }else{
        System.out.println("x 의 값은 3이 아닙니다. ");
    }

    x의 값이 3이면 if문을 정상적으로 통과할 것이다. 하지만 3이 아니라면 else문의 { } 을 실행한다.


    else if 문


    if문에서는 한가지의 조건만 걸 수 있는 것이 아니라 ,
    다중 조건도 걸 수 있다. elseif 를 사용하면 된다.

            if(x == 5){
                System.out.println("x = 5");
            }else if(x == 3) {
                System.out.println("x = 3");
            }else{
                System.out.println("I dont know");

    switch 문


    if문 은 간단하게 사용할 수 있지만 만약, 브렌치 (여러가지 조건이 걸려서 if문이 나뭇가지 처럼 이어지는 상황) 은, 코드입장에서 항상 좋은 결과각 될 수 없다.

            int x = 3;
            int y = x;
            if(x == 5){
                System.out.println("x = 5");
                if(x == 0){
                    System.out.println(x);
                    if(x == y){
                        System.out.println("x is y");
                    }
                }
            }else if(x == 3) {
                System.out.println("x = 3");
            }else{
                System.out.println("I dont know");
            }

    이런코드는 가독성 면에서, 유지보수 측면에서도 좋은 효과를 가져올 수 없다.


    case 사용법


            switch (x){
                case 3:
                    System.out.println(x); //x 가 3일 때 실행
                    break;
                case 6:
                    System.out.println(x); //x 가 6일 때 실행
                    break;
                case 7:
                    System.out.println(x); //x 가 7일 때 실행
                    break;
                default:
                    System.out.println(x); //x 가 모든 조건에 만족 하지 않음
                    break;
            }

    간단하게 이런식으로 사용할 수 있다. case 문 안에서는 조건을 걸어주고 그 밑에 실행하고 싶은
    코드를 작성해주면 그만이다.

    case 조건
    break 종료
    default 모든조건을 만족시키지 못했을 떄 실행

            switch (x) {
                case 3 -> System.out.println(x); //x 가 3일 때 실행
                case 6 -> System.out.println(x); //x 가 6일 때 실행
                case 7 -> System.out.println(x); //x 가 7일 때 실행
                default -> System.out.println(x); //x 가 모든 조건에 만족 하지 않음
           }

    java13 이 후 부터는 다음과 같이 람다 형태로도 사용할 수 있는데,
    이는 switch문이 아니라 switch Operator 이란걸 알아 둬야 한다.

    반복문


    반복문은 말 그대로 일정한 기간동안 계속해서 작성한 코드를 실행시키는 문법이다.
    그 종류에는 대표적으로 for, while, dowile, forEach 같은 여러가지 방법이 있는데, 오늘
    다뤄볼 문법은 for 와 while, dowhile 에 대해서 다뤄보도록 하겠다.


    for 반복문


    만약 우리가 C언어 를 배웠다면, 아주쉽게 작성할 수 있을 것이다. 간단한 예를 한번 들어보고 분석해보도록 하자

            for(int i = 0; i< 10; i++){
                System.out.println(i);
                }

    이런 문법이 있다고 하자, i = 0 으로 먼저 선언을 진행을 해주고, 이 i가 10보다 작을 때 까지만 진행을 하겠다.
    라는 뜻이다. 이러면 i 라는 variable 9가 될 때 까지 실행 한다. 출력문을 보면

    결과 console
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9


    이중 for문 도 가능하게 된다.

            for(int i = 0; i< 10; i++){
                System.out.println("i = " + i);
                for(int j =0; j<8; j++){
                    System.out.println(j);
                }
            }
    

    이런식으로 작성이 가능하게 된다. for문이 쓰기 귀찮다면 선장님께서 알려준 개꿀팁을 사용해볼 수 있도록 하자.

    itar

    이클립스에서도 될지 모르겠지만 만약 소스코드를 작성하다가 itar를 한번 적어보자 그러면, IDE 가
    자동으로 for 문을 작성해준다.


    while 문


    while 문 또한 코드를 반복적으로 작동시키기 위한 정말 기본적인 문법 중 하나이다. 사용하는 법은 간단하다.

        while(연산식){
            //실행시키고 싶은 코드 
        }

    이를 for문처럼 사용하기 위해서는 어떻게 작성하는게 좋을 까? 방금 작성한 for문을 통해 i를 9까지 작성하는 코드를 while 문을 통해 작성해보도록 하자.

            int i = 0;
            while( i < 10){
                System.out.println(i);
                i++;
            }

    이런식으로 작성할 수 있다. 나느 개인적으로 while 문 보다는 for문을 많이 작성하고는 하는데, while문을 보면 좀 더 깔끔해 보이긴 한다. 이런 간단한 연산식에선 말이다.


    do while 문

    do while 문의 특징은, do 라는 글자에서도 알 수 있듯이, 무조건 한번은 실행을 해야한다는 뜻이다.
    예를 들어보다

            int i = 0;
            while( i > 10){
                System.out.println(i);
                i++;
            }

    다음과 같은 문장이 있다고 하자 과연 i 출력 이 실행 될까? 절대 실행되지 않는다. >
    while( expression) 에서 expression의 조건이 충족되지 않기 때문에 당연하자 하지만,

                    int i =0;
            do{
                System.out.println(i);
                i++;
            }while (i>10);

    이러면 단 한번은 출력이 된다느 것이다.

    결과 console
    0

    오늘은 코드위주로 조건문과 반복문에 대해서 알아보도록 했다.

    댓글

Designed by Tistory.