第四天-2017-05-05

xiaoxiao2021-02-28  115

第四天

今日内容

循环

forwhiledo......whilebreakcontinue

for循环

语法: for(初始表达式;循环条件表达式;循环后操作表达式) { 执行语句; }

break

跳出当前循环。 注意:在多层for循环中使用break跳出的是当前循环,若要跳出当前循环外的循环,要加标签。

continue

跳过末次循环之后,继续下一次循环。 若想跳出上一次循环,也需要使用标签。

while

当……时候 语法: while(条件表达式) { 执行表达式(循环体); }

do......while

直到……什么时候 语法: do { 执行表达式(循环体); } while(条件表达式)

while与do......while区别

while:先判断,只有满足条件,再执行。 do......while:先执行循环体,再进行条件判断,条件满足,继续循环,不满足跳出循环。(do......while无论条件是否满足,循环体至少被循环一次)

使用循环体注意事项

一个需求,如果·有一个具体的范围——for。一个需求,不知道循环多少次,只是知道到达某一点就会推出循环——while。在循环中要避免死循环。一定要明确那些需要循环,哪些不参与循环。while初始化要在语句之外。for语句不写条件表达式会默认为true。

break和continue

俩个个语句应用范围都是循环体。两个语句离开应用范围无意义。两个语句单独存在,下面不可有语句,因为执行不到。若使用标签(标号),标号为外循环,内循环直接跳过。

最简单的死循环

for( ; ; ){  }while(true){ }

关于for循环嵌套(大权套小圈问题)

尖朝上,可改变条件,让条件随外循环变化。尖朝下,可以改变初始值,让初始值随外循环变化。

循环的特殊表现形式

class Demo { public static void main(String[] args) { int i = 2; for(;i < 10;) { System.out.println("hehe"); i++; } } }注意:使用上述的特殊形式一般的是由于后面的代码寻妖循环的变量。 class Demo { public static void main(String[] args) { for(System.out.println("hello");;) { } } } 上述语句会直接打印hello。

退出运行的程序

正常结束程序:System.exit(1)当程序发生宜异常,会结束程序。补充:System.exit(0)是将你的整个虚拟机里的内容都停掉了 ,而dispose()只是关闭这个窗口,但是并没有停止整个application exit() 。无论如何,内存都释放了!也就是说连JVM都关闭了,内存里根本不可能还有什么东西。System.exit(0)是正常退出程序,而System.exit(1)或者说非0表示非正常退出程序。System.exit(status)不管status为何值都会退出程序。和return 相比有以下不同点:   return是回到上一层,而System.exit(status)是回到最上层。System.exit(0)不是很常见,做过swing开发的可能用过这方法,一般用于Swing窗体关闭按钮。(重写windowClosing方法时调用System.exit(0)来终止程序,Window类的dispose()方法只是关闭窗口,并不会让程序退出)。System.exit(1):非常少见,一般在Catch块中会使用(例如使用Apache的FTPClient类时,源码中推荐使用System.exit(1)告知连接失败),当程序会被脚本调用、父进程调用发生异常时需要通过System.exit(1)来告知操作失败,默认程序最终返回的值返是0,即然发生异常默认还是返回0,因此在这种情况下需要手工指定返回非零。

自己补充

if......else语句不写大括号,执行语句只是里if,else最近的一条执行语句。If…..else……语句若if下不加大括号,且有两条语句,jvm识别不出If…..else……结构,并报错。使用临时变量一定给个初始值。Int 初始值一般给- 1  , char初始值一般给’\u0000’   ,boolean初始值一般给false。
转载请注明原文地址: https://www.6miu.com/read-46529.html

最新回复(0)