请看题目
请写出写明这段代码输出什么?
/** * @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...while
循环🎜🎜break
退出🎜🎜🎜🎜千万别小看,我也询问过很多人,答案千奇百怪的,出现最多的答案有四个:🎜第一个: 4321
第二个: 1232
第三个: 2211
第四个: 2222
你觉得是哪个?还是觉得都不是?
注意点
注意点1
do...while循环是while循环的变种,在检查条件是否为真之前,该循环其实已经执行过一次了,然后在检查条件是否为真,如果为true,就重复执行这个循环。注意:只要循环体中执行break
后也会结束循环。
注意点2
for(表达式1;表达式2;表达式3){ //循环体 }
这个循环体执行步骤如下:
第一步:执行初始化:表达式1(只会执行一次) 第二步:执行表达式2,如果表达式2的结果为false,则循环结束,否则执行循环体,然后再执行表达式3. 第三步:循环第二步,知道表达式2结果为false时,退出循环,或者遇到 return
、break
关键字。return
、break
关键字。
本体分析
第一次进入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++,直到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
。🎜🎜🎜后记🎜🎜 🎜🎜🎜在很多公司的笔试题中,千万别小看,都是有坑的,一不小心自己就掉进去了。遇到这种关于循环的笔试题,建议,自己冷静思考,一步一步来。🎜🎜🎜🎜🎜在笔试中,代码这块,越是看起来简单的题目,越不能掉以轻心。🎜
以上是饿了么笔试题,看似简单,难倒一批人的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

Dreamweaver Mac版
视觉化网页开发工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境