Java基础语法(三)

最后更新于:2022-04-01 09:40:44

继续接着Java基础语法来:[JavaSE入门学习5:Java基础语法(一)](http://blog.csdn.net/erlian1992/article/details/50549806)和[JavaSE入门学习6:Java基础语法(二)](http://blog.csdn.net/erlian1992/article/details/50557265)。 Java常用的3种循环:while,do...while,for。 (5)Java循环语句之while 语法: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55f5bf6d.jpg) 执行过程: 1)判断while后面的条件是否成立(true/false)。 2)当条件成立时,执行循环内的操作代码 ,然后重复执行1),2),直到循环条件不成立为止。 特点:先判断,后执行。 如: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55f69e99.jpg) (6)Java循环语句之do...while do...while循环与while循环语法有些类似,但执行过程差别比较大。 语法: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55f777f8.jpg) 执行过程: 1)先执行一遍循环操作,然后判断循环条件是否成立。 2)如果条件成立,继续执行1),2),直到循环条件不成立为止。 特点: 先执行,后判断。 由此可见,do...while语句保证循环至少被执行一次。这就是和while循环语句的区别。 例如,依然输出 1000 遍“我爱慕课网”,使用do...while的实现代码为: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55f8d55e.jpg) (7)Java循环语句之for Java 的循环结构中除了while和do...while外,还有for循环,三种循环可以相互替换。 语法:  ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55f9f19c.jpg) 执行过程: 1)执行循环变量初始化部分,设置循环的初始状态,此部分在整个循环中只执行一次。 2)进行循环条件的判断,如果条件为true,则执行循环体内代码;如果为false,则直接退出循环。 3)执行循环变量变化部分,改变循环变量的值,以便进行下一次条件判断。 4)依次重新执行2),3),4),直到退出循环 特点:相比 while 和 do...while 语句结构更加简洁易读。 例如,输出 1000 遍“我爱慕课网”,使用 for 的实现代码为: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55fb0414.jpg) 需要留心的几个小细节: 1)for关键字后面括号中的三个表达式必须用";" 隔开,三个表达式都可以省略,但";"不能省略。 a. 省略“循环变量初始化”,可以在 for 语句之前由赋值语句进行变量初始化操作,如: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55fbd2b0.jpg) b. 省略“循环条件”,可能会造成循环将一直执行下去,也就是我们常说的“死循环”现象,如: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55fd339f.jpg) 在编程过程中要避免“死循环”的出现,因此,对于上面的代码可以在循环体中使用break语句强制跳出循环。 c. 省略“循环变量变化”,可以在循环体中进行循环变量的变化,如: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55fe39b8.jpg) 2)for 循环变量初始化和循环变量变化部分,可以是使用 “,” 同时初始化或改变多个循环变量的值,如: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab56001572.jpg) 代码中,初始化变量部分同时对两个变量i和j赋初值,循环变量变化部分也同时对两个变量进行变化,运行结果: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab56012815.jpg) 3)循环条件部分可以使用逻辑运算符组合的表达式,表示复杂判断条件,但一定注意运算的优先级,如: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab56024268.jpg) 代码中,必须同时满足变量i小于10 ,并且i不等于5时才会进行循环,输出变量i的值。 (8)Java循环跳转语句之break语句 生活中,我们经常会因为某些原因中断既定的任务安排。在Java中,我们可以使用 break语句退出指定的循环, 直接执行循环后面的代码。 例如,使用循环输出1--10的数值,其中,如果数值大于2 ,并且为3的倍数则停止输出。 实现代码: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab56033b4d.jpg) 运行结果: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab56047742.jpg) (9)Java循环跳转语句之continue语句 continue语句的作用是跳过循环体中剩余的语句执行下一次循环。 例如,打印1--10之间所有的偶数,使用continue语句实现代码为: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab56056c24.jpg) 运行结果: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab5606720b.jpg) (10)Java循环语句之多重循环 循环体中包含循环语句的结构称为多重循环。三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重 循环。在二重循环中,外层循环每执行一次,内层循环要执行一圈。 如下所示: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab56077bad.jpg) 例如:使用*打印长方形: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab5608bb2d.jpg) 实现代码为: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab5609dafa.jpg) 执行流程:当i = 1时,外层循环条件成立,进入内层循环,开始打印第一行内容。此时,j从1开始,循环8次,内 层循环结束后换行,实现第一行 8个 * 的输出。接下来返回外层循环i变为2,准备打印下一行,依此类推,直到完成 长方形的打印。 那我们再来做一个直角三角形的输出,如: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab560b4427.jpg) 实现代码: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab560c99db.jpg) 最后再来补充一下基本数据类型之间的转换: 基本数据类型转换 1)boolean类型不参与转换,因为不可以以0或非0的整数代替false和true。这一点和其他的高级程序设计语言不 同,一定要注意。 2)整型,字符型,浮点型的数据类型在混合运算中相互转换,转换时遵循以下的规则: A默认转换 容量小的类型自动转换为容量大的数据类型,数据类型按容量大小排序为: byte,short,char -- int -- long -- float -- double byte,short,char之间不相互转换,在计算时首先直接转成int类型参与运算。 B强制转换 容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精确度降低或溢出,使用时一定要注意。 C有多种类型的数据混合运算时,系统首选自动的将所有的数据转成容量大的那一种数据类型,再进行计算。 实例的话参考[JavaSE入门学习5:Java基础语法(一)](http://blog.csdn.net/erlian1992/article/details/50549806)中最后面的面试题和思考题。
';