순환 조건의 코드에서 나는 면접에서 프로그래머가 고급인지 아닌지를 선별할 수 있다

2714 단어
일반적으로 업무 경험이 3이 되면 프로그래머는 고급 프로그래머의 연한 요구에 도달하지만 능력에 도달할 수 있습니까?또 어떻게 면접에서 30분 만에 프로그래머가 고급 프로그래머의 수준에 도달했는지 검증합니까?나는 모두가 반드시 사용했던 순환문구를 면접문제로 삼을 것이다.
우리는if...else 문장을 통해 순서의 지점 구조를 제어할 수 있고,while,do...while와 for를 통해 순환 문장을 작성할 수 있으며, 어쨌든 절차를 제어할 수 있다.여기서 우리는 절차를 통제할 때 자주 사용하는 기교를 공유한다.
윤년이 들었는지 아닌지를 판단하는 LeapYear를 통해java 예에서 if...else 문장의 일반적인 쓰기 방법을 보십시오.윤년을 판단하는 조건은 다음과 같다. 첫째는 4로 정제될 수 있으나 100으로 정제되지 않을 수 없다. 만약 그렇다면 윤년이고, 둘째는 400으로 정제될 수 있는지, 그렇다면 윤년이다.
이 수요는 극도로 간단하지만 작은 부분에서 큰 것을 볼 수 있다. 다음은 예시 코드를 제시한다.    
1    public class LeapYear {
2        public static void main(String args[]) 
3        {
4                int year = 2016; 
5                if ((year % 4 == 0 && year % 100 != 0) || 
6                      (year % 400 == 0)){
7                      System.out.println(year + " is a leap year.");
8                }
9                 else{
10                    System.out.println(year + " is not a leap year.");
11                }
12               }
13    }

위의 5, 6행 코드에서if문구를 통해 윤년인지 아닌지를 판단하고, 그렇지 않으면 10행의else분지문구를 걷는다.
이 예에서 5, 6행의 조건문에는 &&&&&|가 사용되어 and와 or 조작을 하는 것을 보았습니다. 이것과 |를 혼동하지 않도록 주의하세요. 하나는 &와 하나는 |는 비트 조작이고 두 개는 &&와 두 개는 ||||는 블로 조작입니다.
두 번째 주의점은if(그리고 뒤의while,do...while와for)의 조건표현식에 &&&와|| 등의 조작을 너무 많이 넣지 마세요.왜냐하면 우리가 코드 테스트를 할 때 조건 표현식의 각종 상황을 완전히 덮어써야 하기 때문이다. 예를 들어 윤년을 판단하는 예에서 우리가 사용한 테스트 사례는 다음과 같다.
1은 4로 나누어질 수 있지만 100으로 나누어질 수 없는 해이다. 예를 들어 2016년이다.
2 4로 나누어질 수 없는 연도, 예를 들어 2015.
3 4와 100을 동시에 제거할 수 있지만 400을 제거할 수 없는 해, 예를 들어 1900.
4 400으로 나누어질 수 있는 연도, 예를 들어 2000.
그 중에서 알 수 있듯이 조건 표현식에 여러 개의 &&&또는|| 기호가 나타나면 사용된 테스트 사례는 지수배로 상승한다.따라서 프로그래머가 아래와 비슷한 문법을 쓰면 감점될 수 있다.
만약 (조건 1 & & 조건 2 &... 조건 n)
만약 업무 수요가 정말 그렇게 복잡하다면, 우리는 차라리 다음과 같은 코드로 분해하는 것이 낫다.
if(조건 1)
if(조건 2) {}...
    }
    else
    {}

좋은 웹페이지 즐겨찾기