JavaSE入门学习7:Java基础语法之语句(下)

时间:2022-05-19 11:23:26

        继续接着Java基础语法来:JavaSE入门学习5:Java基础语法(一)JavaSE入门学习6:Java基础语法(二)

        语句 

       Java经常使用的3种循环:while。do...while,for。

       (5)Java循环语句之while

       语法:

JavaSE入门学习7:Java基础语法之语句(下)

       运行过程:

       1)推断while后面的条件是否成立(true/false)。

       2)当条件成立时,运行循环内的操作代码 ,然后反复运行1),2),直到循环条件不成立为止。

       特点:先推断,后运行。

       如:

JavaSE入门学习7:Java基础语法之语句(下)

       (6)Java循环语句之do...while

       do...while循环与while循环语法有些类似,但运行过程区别比較大。

       语法:

JavaSE入门学习7:Java基础语法之语句(下)

       运行过程:

       1)先运行一遍循环操作,然后推断循环条件是否成立。

       2)假设条件成立,继续运行1),2),直到循环条件不成立为止。

       特点: 先运行,后推断。

       由此可见,do...while 语句保证循环至少被运行一次。

这就是和while循环语句的差别。

       比如,依旧输出 1000 遍“我爱慕课网”,使用do...while的实现代码为:

JavaSE入门学习7:Java基础语法之语句(下)

       (7)Java循环语句之for

       Java 的循环结构中除了while和do...while外。还有for循环。三种循环能够相互替换。

       语法: 

JavaSE入门学习7:Java基础语法之语句(下)

       运行过程:

       1)运行循环变量初始化部分,设置循环的初始状态,此部分在整个循环中仅仅运行一次。

       2)进行循环条件的推断,假设条件为true,则运行循环体内代码;假设为false,则直接退出循环。

       3)运行循环变量变化部分,改变循环变量的值,以便进行下一次条件推断。

       4)依次又一次运行2),3),4),直到退出循环

       特点:相比 while 和 do...while 语句结构更加简洁易读。

       比如,输出 1000 遍“我爱慕课网”。使用 for 的实现代码为:

JavaSE入门学习7:Java基础语法之语句(下)

       须要留心的几个小细节:

       1)forkeyword后面括号里的三个表达式必须用";" 隔开,三个表达式都能够省略,但";"不能省略。

       a. 省略“循环变量初始化”,能够在 for 语句之前由赋值语句进行变量初始化操作,如:

JavaSE入门学习7:Java基础语法之语句(下)

       b. 省略“循环条件”,可能会造成循环将一直运行下去。也就是我们常说的“死循环”现象,如:

JavaSE入门学习7:Java基础语法之语句(下)

       在编程过程中要避免“死循环”的出现。因此,对于上面的代码能够在循环体中使用break语句强制跳出循环。

       c. 省略“循环变量变化”。能够在循环体中进行循环变量的变化,如:

JavaSE入门学习7:Java基础语法之语句(下)

       2)for 循环变量初始化和循环变量变化部分,能够是使用 “,” 同一时候初始化或改变多个循环变量的值,如:

JavaSE入门学习7:Java基础语法之语句(下)

       代码中,初始化变量部分同一时候对两个变量i和j赋初值。循环变量变化部分也同一时候对两个变量进行变化,执行结果:

JavaSE入门学习7:Java基础语法之语句(下)

        3)循环条件部分能够使用逻辑运算符组合的表达式,表示复杂推断条件,但一定注意运算的优先级,如:

JavaSE入门学习7:Java基础语法之语句(下)

       代码中,必须同一时候满足变量i小于10 ,而且i不等于5时才会进行循环,输出变量i的值。

       (8)Java循环跳转语句之break语句

        生活中,我们常常会由于某些原因中断既定的任务安排。在Java中,我们能够使用 break语句退出指定的循环,

直接运行循环后面的代码。

       比如,使用循环输出1--10的数值,当中,假设数值大于2 ,而且为3的倍数则停止输出。

       实现代码:

JavaSE入门学习7:Java基础语法之语句(下)

       执行结果:

JavaSE入门学习7:Java基础语法之语句(下)

       (9)Java循环跳转语句之continue语句

       continue语句的作用是跳过循环体中剩余的语句运行下一次循环。

       比如,打印1--10之间全部的偶数。使用continue语句实现代码为:

JavaSE入门学习7:Java基础语法之语句(下)

       执行结果:

JavaSE入门学习7:Java基础语法之语句(下)

       (10)Java循环语句之多重循环

       循环体中包括循环语句的结构称为多重循环。三种循环语句能够自身嵌套,也能够相互嵌套,最常见的就是二重

循环。在二重循环中,外层循环每运行一次,内层循环要运行一圈。

      例如以下所看到的:

JavaSE入门学习7:Java基础语法之语句(下)

       比如:使用*打印长方形:

JavaSE入门学习7:Java基础语法之语句(下)

       实现代码为:

JavaSE入门学习7:Java基础语法之语句(下)

       运行流程:当i = 1时,外层循环条件成立。进入内层循环,開始打印第一行内容。此时,j从1開始,循环8次,内

层循环结束后换行。实现第一行 8个 * 的输出。接下来返回外层循环i变为2。准备打印下一行。依此类推。直到完毕

长方形的打印。

       那我们再来做一个直角三角形的输出,如:

JavaSE入门学习7:Java基础语法之语句(下)

       实现代码:

JavaSE入门学习7:Java基础语法之语句(下)


       最后再来补充一下基本数据类型之间的转换:

       基本数据类型转换

       1)boolean类型不參与转换。由于不能够以0或非0的整数取代false和true。

这一点和其它的高级程序设计语言不

同,一定要注意。

        2)整型。字符型,浮点型的数据类型在混合运算中相互转换,转换时遵循下面的规则:

        A默认转换

        容量小的类型自己主动转换为容量大的数据类型,数据类型按容量大小排序为:

       byte,short,char -- int -- long -- float -- double

        byte,short,char之间不相互转换。在计算时首先直接转成int类型參与运算。

        B强制转换

        容量大的数据类型转换为容量小的数据类型时。要加上强制转换符,但可能造成准确度减少或溢出。使用时一定要注意。

       C有多种类型的数据混合运算时,系统首选自己主动的将全部的数据转成容量大的那一种数据类型,再进行计算。

       实例的话參考JavaSE入门学习5:Java基础语法(一)中最后面的面试题和思考题。