Ele.me의 필기 시험 문제는 간단해 보이지만 많은 사람들을 당황하게 합니다.

풀어 주다: 2023-08-24 15:29:41
앞으로
1817명이 탐색했습니다.


제목을 읽어주세요

이 코드가 무엇을 출력하는지 적어주세요.

/** * @author 面试专栏 * @date 2021/7/11 13:57 */ public class Test1 { public static void main(String[] args) { //输出什么? test(); } public static void test() { for (int i = 4; i > 0; i--) { int j = 0; do { j++; if (j == 2) { break; } } while (j <= i); System.out.print(j); } } }
로그인 후 복사

이 질문을 보면 많은 사람들이 너무 단순하다고 생각할 것입니다.사실 이 질문은 세 가지 지식 포인트를 테스트합니다.

  • for루프 for循环
  • do...while循环
  • break
do...whileLoop

breakExit저도 많은 분들께 물어봤는데 답변이 다 이상하네요.
  • 第一个: 4321
  • 第二个: 1232
  • 第三个: 2211
  • 第四个: 2222

你觉得是哪个?还是觉得都不是?

注意点

注意点1

do...while循环是while循环的变种,在检查条件是否为真之前,该循环其实已经执行过一次了,然后在检查条件是否为真,如果为true,就重复执行这个循环。注意:只要循环体中执行break后也会结束循环。

注意点2

for(表达式1;表达式2;表达式3){ //循环体 }
로그인 후 복사

这个循环体执行步骤如下:

  • 1단계: 초기화 실행: 표현식 1(한 번만 실행됨)
  • 2단계: 표현식 2를 실행합니다. 표현식 2의 결과가 false이면 루프가 종료되고, 그렇지 않으면 루프 본문이 실행됩니다. 표현식 3을 실행합니다.
  • 3단계: 루프 2단계. 표현식 2의 결과가 false라는 것을 알게 되면 루프를 종료하거나 return, break키워드. returnbreak关键字。

本体分析

  • 第一次进入for循环体时,i=4,然后计入do...while循环体,此时j=0,然后这个循环一直执行j++,直到j=2或者j>i的时候退出循环体,显然此时j=2,也就是此时输出的是2。

  • 下一次for循环时,i=3,同理输出还是2,

  • 下一次for循环时,i=2,同理输出依然是2,

  • 下一次for循环时,i=1,同理输出结果是2,此时执行foe循环的i--操作,i=0,不满足i>0的条件了,此时for循环退出。

所以,最后输出结果为:2222

온톨로지 분석

처음 for 루프 본문에 들어갈 때 i=4이고 이후 do...while 루프 본문에 포함되어 이때 j=0이 되며 이 루프가 계속 실행됩니다. j=2까지 j++ 또는 j>i일 때 루프 본문을 종료합니다. 이때 분명히 j=2, 즉 이때 출력은 2입니다.

다음번에는 for 루프 i=3이면 마찬가지로 출력은 여전히 2입니다.

다음 for 루프, i=2, 동일한 출력은 여전히 2입니다.

다음에 for 루프가 실행되면 i=1이 되고 마찬가지로 출력 결과는 2가 됩니다. 이때 i는 -- foe 루프의 연산이 실행되고, i =0이며, i>0 조건이 더 이상 충족되지 않으며, 이때 for 루프가 종료됩니다. 따라서 최종 출력 결과는 다음과 같습니다.2222. Postscript 많은 회사의 필기 시험 문제에는 과소평가하지 마세요. 함정이 있고, 우연히 빠질 수도 있습니다. 이런 주기에 관한 필기시험 문제를 접하게 된다면 차분하게 생각하고 차근차근 풀어나가시길 권합니다. 필기 시험에서는 코드가 단순해 보일수록 가볍게 여겨서는 안 됩니다.

위 내용은 Ele.me의 필기 시험 문제는 간단해 보이지만 많은 사람들을 당황하게 합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:Java后端技术全栈
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!