暴走漫画网站建设目的,找项目去哪个网站,做安卓app用什么软件,网站开发 -(广告)我们在进行Java开发的时候#xff0c;经常会用到循环结构#xff0c;但是有几个关于循环的“冷门”知识点#xff0c;不知道你是不是都已经掌握了呢#xff1f;我们一起来看看一、大括号可以不写吗#xff1f;我们都知道#xff0c;如果每次循环过程中要执行的语句只有一…我们在进行Java开发的时候经常会用到循环结构但是有几个关于循环的“冷门”知识点不知道你是不是都已经掌握了呢我们一起来看看一、大括号可以不写吗我们都知道如果每次循环过程中要执行的语句只有一条那么就可以不用写大括号。但事实真的如此吗请看下面的代码大家可以看到在循环中只有一条语句但是并不能通过语法编译。这是为什么呢因为Java语言规定循环语句中重复执行的语句不能是一条单独的局部变量定义语句。这里所说的“定义局部变量语句”也可以指创建对象的语句例如以下代码也不能通过编译同时这个规律还可以延伸到条件语句也就是说if语句中也不能只有一条单独的局部变量定义语句例如以下代码如果我们在以上三段代码中给循环或条件语句都添加了大括号语法错误自然就消失了二、如何定义多个循环变量我们平时定义的循环往往只有一个循环变量例如在这个循环中变量i就是一个循环变量。但是如果开发过程中需要我们在一个循环中定义并操作多个循环变量该怎么办呢这时候我们可以把多个循环变量的定义语句用逗号隔开并且对循环变量的操作语句也用逗号隔开就可以了。我们以定义并操作两个循环变量为例作为示范请看以下代码需要说明的是for循环结构只能有两个分号(;)并且明确规定第一个分号前面的部分是用来定义并初始化循环变量的。我们知道一个分号其实就表示一条语句的结束。所以说第一个分号前面定义并初始化循环变量的语句只能有一条。既然只能有一条语句来定义循环变量那么如果需要定义多个循环变量的话这些循环变量只能同属一种类型因为多种类型的循环变量必须要用多条语句来定义。如果实在需要定义多个类型不相同的循环变量我们可以干脆在循环语句之前就把这些变量都定义好。三、能否以浮点数作为循环变量我们通常都会把循环变量定义为整数类型如果把循环变量定义为浮点数可以吗我们来做个实验请看以下代码这段代码想必大家都能看懂那么这段代码能否正常执行呢答案是没问题它的执行效果如下很多人通过这个实验就下定结论认为以浮点数作为循环变量没有什么问题但是我们必须清楚当一个浮点数大到一定程度的时候就会导致精度的丢失从而出现一些奇怪的错误。比如我们把上面代码中start变量的初始值改成999999999在这种情况下重新运行程序你会发现程序没有任何输出。为什么没有任何输出呢变量f的初始值是start而浮点数大到一定程度的时候因为丢失了精度会导致虚拟机错误的以为”f”与”start5”的值是相同的所以”f但是如果我们把循环条件从” f我们通过这个例子想告诉大家如果没有十分的必要不要使用浮点数作为循环变量即使非要用浮点数充当循环变量也一定要注意数值范围不能太大否则会因为精度丢失而出现一些奇怪的现象。四、内层循环如何控制外层循环我们都知道在Java语言中有两个能够控制循环执行的关键字分别是break和continue。通常情况下这两个关键字所控制的都是本层循环的执行并不能控制到外层循环。但如果我们希望通过这两个关键字控制外层循环的执行可以先给外层循环添加一个“标签”通过在break或者是continue后面加标签达到控制外层循环的目的。我们来看如下代码在这段代码中我们给内外两层循环都加上了标签分别叫做inner和outer。我们在内层循环中当”j4”的情况下执行continue语句并且在continue的后面加上外层循环的标签outer就能控制外层循环结束本次循环直接进入下一次循环因此循环代码执行过程中不会在控制台上打印出”test”。其执行结果如下同理我们如果把代码中才”continue”换成”break”也能够在内层循环中直接跳出外层循环。虽然从技术角度来说Java语言能够实现在内层循环中控制外层循环但是从程序设计的角度来讲并不提倡这么做因为我们更希望每一层循环“各司其职”完成好自己的工作如果需要从内层循环中直接中止外层循环的执行可以设置一个局部变量内层循环修改局部变量而外层循环通过判断局部变量的值来决定是否结束本层循环这样代码的结构性和可读性都会更好。如想系统学习Java编程欢迎观看我在本站的视频课程。