개발의 시작과 끝

2020.02.27 / Day - 14 조건문, 논리연산자, 반복문 본문

생활코딩 자바

2020.02.27 / Day - 14 조건문, 논리연산자, 반복문

개발지혜 2020. 2. 27. 16:39

생활코딩 10 - 조건문

 

조건문

 

if ( ) { }

조건문은 if로 시작한다. if 뒤의 괄호 if 절이라고 부르며, 중괄호가 감싸고 있는 구간 then절이라고 부른다.

if 절의 값이 true 일 때 then 절이 실행된다. 반대로 if 절이 false 이면 then 절은 실행되지 않는다.

 

else { }

if만으로는 좀 더 복잡한 상황을 처리하는데 부족하다. 이때 else를 쓰는데 iffalse일때 else실행된다.

ex)

true인 경우 :  if ( true ) → { }

false인 경우 : if ( false ) {} → else { }

 

else if ( ) { } 

else if 절을 이용하면 조건문의 흐름을 좀 더 자유롭게 제어할 수 있다.

if 절의 값이 ture라면 then 절이 실행되고 false라면 else if 절이 실행된다.

여기서 else if 절 또한 false라면 else로 넘어가는 구조이다. else절은 else if 절보다 먼저 등장할 수 없다.

ex)

true인 경우 : if ( false ) { } else if ( true ) → { }

false인 경우 : if ( false ) { } else if ( false ) { } → else { }

 

switch문

조건문의 대표적인 문법은 if문이다. 사용빈도는 적지만 조건이 많다면 switch문이 로직을 보다 명료하게 줄여줄 수 있다.

예제

class Main {
  public static void main(String[] args) {
    System.out.println("switch(1)");
    switch(1) {
    clase 1: 
         System.out.println("one");
         break;
    clase 2: 
         System.out.println("two");
         break;
    clase 3: 
         System.out.println("three");
         break;
    clase default:  // default : 기본값 
         System.out.println("default");
         break;
  }
}

출력 : switch (1) one

switch( )에 어떤숫자를 넣냐에 따라 값이 달라지는 구조이다.

 

 

변수와 비교연산자, 조건문

 

예제 1 - 연산자와 조건문

class Main {
  public static void main(String[] args) {
  
    String id = args[0];
    if (id.equals("egoing")) {
         System.out.println("right");
    } else {
         System.out.println("wrong");
    }

  }
}

id 입력값 : egoing
출력 : right

로그인 창을 예제로 사용자가 입력한 데이터가 egoing과 같은지 비교할 때는 id.equals("egoing")과 같은 구문을 쓴다.사용자가 입력한 id 가 "egoing"인지를 확인하는 것이다. 결과가 ture라면 right가 출력되고, flase라면 wrong 이 출력 된다.

여기서 args [ 0 ];은 사용자가 입력하는 입력 값이다.

 

예제 2 - 조건문의 중첩

class Main {
  public static void main(String[] args) {
  
    String id = agrs[0];
    String password = agrs[1];
    if (id.equals("egoing")) {
        if (password.equals("1111")) {
            System.out.println("right");
        } else {
            System.out.println("worong");
        }
        
  }
}

id 입력값 : egoing
▼
password 입력값 : 1111

출력 : right

위의 예제와 비슷한 문제로 중첩을 사용하게 되면 처음 if문에서 id를 물었을 때 입력 값이 egoing이면

다음 password if문으로 넘어가게 된다 여기서 1111을 입력하면 right가 나오고 그 외의 문자들을 입력하면

worong이 나오게 된다.

 

 

생활코딩 11 - 논리 연산자

 

논리 연산자

  • and : 양쪽이 참일 때 실행
  • or : 둘 중 하나가 참일 때 실행
  • not(!) : boolean의 값을 역전 시키는 역할

 

 

생활코딩 12 -  반복문

 

반복문 제어

 

break

반복작업을 중간에 중단시키고 싶을 때 break를 사용한다.

 

continue

명령이 나타나는 이후의 로직을 실행하지 않도록 한다.

 

예제

class Main {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            if (i == 5) {
                //i가 5일 때 반복문을 중단시킨다.
                break;
              
                //i가 5일 때 실행을 중단하고 반복문은 계속 실행된다.
                  즉 12345 중에서 5를 제외한 숫자들은 모두 실행된다.
                  1~10까지 있다고 가정했을 때 5만 사라진 1234678910이 실행되는 것이다.
                //continue;
            }
            System.out.println("Coding Everybody " + i);
        }
    }
}

출력
Coding Everybody 0
Coding Everybody 1
Coding Everybody 2
Coding Everybody 3
Coding Everybody 4