JAVA의 조건문

프로그래밍 기능을 훨씬 강하게 하는 것은 조건문이다.이것은 값에 따라 변수를 테스트하는 능력으로 변수가 조건을 만족시키면 한 방식으로, 조건을 만족시키지 못하면 다른 방식으로 집행한다.그것들은 통상적으로if문장이라고도 부른다.
조건문, 조건표현식과 조건구조는 프로그래밍 언어의 특징으로 서로 다른 계산이나 조작을 수행하는데 구체적으로는 프로그래머가 지정한 브리 조건의 계산 결과가 진짜인지 가짜인지에 달려 있다.

쓰기 조건에 대한 논리 연산자


Java는 수학에서 흔히 볼 수 있는 논리적 조건을 지원합니다.
  • 미만: a < b
  • 작거나 같음: a <= b
  • a > b
  • 보다 크거나 같음: a >= b
  • a == b과 같다
  • a != b과 같지 않습니다.
  • 이러한 주장은 true 또는 false 값을 제공합니다.
    Java에는 다음과 같은 조건문이 있습니다.

    서로 다른 유형의 조건문


  • 만약 지정한 조건이 진짜라면, if을 사용하여 실행할 코드 블록을 지정합니다
    if (boolean expression true/false) {
    // block of code to be executed if the condition is true
    }
    code...
    ...
    ...
    
    조건이 true이면 코드 블록 내의 코드를 실행하고 그렇지 않으면 이 코드 블록을 건너뛰며 프로그램은 if-block 이후의 명령을 계속 실행합니다.
    예를 들어 우리는 서로 다른 직원의 임금에 따라 그들의 보너스를 결정한 다음에 보너스를 그들의 임금에 추가하여 그 직원에게 지급되는 최종 금액을 얻으려고 한다.
  • if (salary > 20000) {
        salary = salary + 2000
    }
    System.out.println(salary)
    
    1) salary = 5000
    output: 5000
    
    2) salary = 20000
    output: 20000
    
    3) salary = 21000
    output: 21000 + 2000 = 23000
    

  • 만약 같은 조건이false라면 else을 사용하여 실행할 코드 블록을 지정합니다
    if (boolean expression true/false) {
    // block of code to be executed if the condition is true
    }
    else {
    // block of code to be executed if the condition is false
    }
    code ...
    .....
    
    조건이 true이면 if-block내 코드를 실행하고, 그렇지 않으면 else-block내 코드를 실행한다.
    앞의 예에서 우리는 임금이 20000루피 이하인 직원을 위해 1000루피의 보너스를 늘리기를 희망할 수 있다
  • if (salary > 20000) {
        salary = salary + 2000
    }
    else {
        salary = salary + 1000
    }
    System.out.println(salary)
    
    1) salary=5000
    output: 5000 + 1000 = 6000
    
    2) salary=20000
    output: 20000 + 1000 =  21000
    
    3) salary=21000
    output: 21000+2000=23000
    
    이 두 블록 중 하나만 실행됩니다. 즉, if 또는 else 블록입니다.이 두 블록은 영원히 동시에 집행되지 않을 것이다.
  • else if을 사용하여 첫 번째 조건이 가짜인지 확인하는 새로운 조건을 지정합니다
    if (condition_1) {
    // block of code to be executed if the condition_1 is true
    }
    else if (condition_2) {
    // block of code to be executed if condition_1 is false and condition_2 is true
    }
    else if (condition_3) {
    // block of code to be executed if condition_2 is false and  condition_3 is true
    }
    else {
    // block of code to be executed if all the above conditions are false
    }
    code...
    ...
    ...
    
    너는 아마도 if-else-if개의 문장의 작업 원리를 이미 알아맞혔을 것이다.프로그램은 첫 번째 if 문장부터 시작하여 조건이 진실이면 해당하는 블록을 실행한다. 그렇지 않으면 프로그램 계수기가 다음 if 문장으로 넘어간다.마지막으로 true의 조건이 없으면 마지막 else-block을 실행한다.
    앞의 예에서 우리는 5000루피의 보너스를 늘리기를 희망할 수 있는데, 그 임금이 40000루피보다 높거나 같을 수도 있다
  • if (salary >= 40000) {
        salary += 5000        // same as salary = salary + 5000
    }
    else if (salary > 20000) {
        salary += 2000        // same as salary = salary + 2000
    }
    else {
        salary += 1000        // same as salary = salary + 1000
    }
    System.out.println(salary)
    
    1) salary = 45000
    output: 45000 + 5000 = 50000
    
    2) salary = 40000
    output: 40000 + 5000 = 45000
    
    3) salary = 21000
    output: 21000 + 2000 = 23000
    
    4) salary = 20000
    output: 20000 + 1000 = 21000
    
    5) salary = 10000
    output: 10000 + 1000 = 11000
    
    if-else 코드처럼 if-else-if 코드에서는 한 번에 하나의 코드 블록만 실행됩니다.i, 예를 들어 주어진 예시에서 네 개(세 개 if-block과 한 개 else-block) 코드 블록 중 하나만 실행될 것이다.

    중첩된 if-else 문


    때때로, 우리는 여러 조건을 검사하기 위해 if문장을 끼워 넣기를 희망할 수도 있다.
    중첩 if...기타 상황은 다음과 같다.−
    if(Boolean_expression 1) {
       // Executes when the Boolean expression 1 is true
       if(Boolean_expression 2) {
          // Executes when the Boolean expression 2 is true
       }
    }
    
    앞의 예에서 우리는 우리 회사에서 5년 이상 일한 직원을 위해 3000루피의 보너스를 늘리기를 희망할 수 있다.우리는 이렇게 할 수 있다
    if (salary >= 40000) {
        salary += 5000        // same as salary = salary + 5000
        if (working_tenure > 5) {
            salary += 3000
        }
    }
    else if (salary > 20000) {
        salary += 2000        // same as salary = salary + 2000
        if (working_tenure > 5) {
            salary += 3000
        }
    }
    else {
        salary += 1000        // same as salary = salary + 1000
        if (working_tenure > 5) {
            salary += 3000
        }
    }
    System.out.println(salary)
    
    여기에, 우리는 이전의 모든if조건에 끼워 넣은if조건을 추가하여 검사조건에 사용하고,true를 만족시키면 3000루피를 보너스로 합니다.
    저희가if문장을 삽입하는 것과 유사한 방식으로 else if...else을 삽입할 수 있습니다.

    안전에 주의하다


    사람들이 조건문을 쓸 때 자주 범하는 실수들을 살펴봅시다.
  • 에서 조건을 지정할 때 순서가 잘못되었습니다.
  • if (salary >= 20000) {
        salary += 2000        // same as salary = salary + 2000
    }
    else if (salary > 40000) {
        salary += 5000        // same as salary = salary + 5000
    }
    else {
        salary += 1000        // same as salary = salary + 1000
    }
    System.out.println(salary)
    
    위에 코드 좀 봐.코드는 처음에는 좋은 것 같았다.지금 5만 루피의 월급으로 운행 코드를 입력해 보세요.출력은 if-else-if입니다.하지만 의미가 없다.50000은 40000보다 크므로 최종 금액은 55000이어야 한다.무엇이 우리에게 잘못된 출력을 주었습니까?
    우리가 50000 + 2000 = 52000의 작업 원리를 토론할 때 말한 것을 기억하십니까

    The next condition is checked ONLY AND ONLY if the previous condition is wrong.


    50000루피는 40000루피보다 크지만 20000루피보다 크다.이것은 우리의 첫 번째 조건이 if-else-if이라는 것을 의미하기 때문에 프로그램은 더 이상의 조건을 검사하고 건너뛰는 데 신경을 쓰지 않을 것이다.그래서 우리는 잘못된 출력을 얻었다.우리 문제 진술이 정확하다 코드는
    if (salary >= 40000) {
        salary += 5000        // same as salary = salary + 5000
    }
    else if (salary > 20000) {
        salary += 2000        // same as salary = salary + 2000
    }
    else {
        salary += 1000        // same as salary = salary + 1000
    }
    System.out.println(salary)
    
    true 문을 작성할 때 모든 조건은 내림차순/오름차순으로 배열되어야 하기 때문에 어떠한 조건도 건너뛰지 않는다는 것을 이해해 주십시오.
  • 조건 작성 시 경계 무시
    조건을 작성할 때, 우리는 시종 국경 상황을 고려해야 한다.국경 상황은 우리의 조건이 if-else-if 또는 true의 극치를 만족시키는 것이다.
  • 예를 들어 아래 코드 단원에서
    if (salary > 20000) {
        salary += 5000        // same as salary = salary + 5000
    }
    else if (salary < 20000) {
        salary += 2000        // same as salary = salary + 2000
    }
    
    국경 사례는 104만5천679만1천410명을 뜻한다.이 코드를 작성할 때, 우리는 false을 고려하는 사람을 완전히 잊어버렸다.이에 따라 최종적으로 salary = 20000명이 5000루피의 상금을 받게 된다.salary = 20000을 가진 사람은 2000루피, salary > 20000을 가진 사람은 상금을 받지 못한다. 매니저로서 어리석은 일이다.그래서 논리적으로 정확한 코드는
    if (salary >= 20000) {
        salary += 5000        // same as salary = salary + 5000
    }
    else if (salary < 20000) {
        salary += 2000        // same as salary = salary + 2000
    }
    
    조건문을 쓸 때는 논리적 오류를 최대한 피해야 한다.
    이게 다야.조건문의 요점과 그것을 어떻게 사용하는지 파악하셨으면 좋겠습니다.나의 환매 협의를 통해 조건부 절차를 밟는다.

    라제 판주리아 / java dsa



    소셜 네트워크를 통해 자유롭게 연락할 수 있다
    GitHub

    좋은 웹페이지 즐겨찾기