Java_Day_3学习笔记
控制结构
顺序控制
分支控制
循环控制
break
continue
return
顺序控制
程序从上到下逐行执行,中间没有任何判断和跳转
- 前向引用
1 | public class Order{ |
分支控制
单分支
- 基本语法
1 | if(条件表达式){ |
条件表达式为true就执行{}里面的东西,否则就直接跳过该代码块
双分支
- 基本语句
1 | if (条件表达式) { |
多分支
- 基本语句
1 | if(条件表达式1){ |
多分支的后面可以没有else语句。
嵌套分支
嵌套最多不要超过3层(只是建议,因为太多的话,容易乱);
嵌套分支就是在利用if-elseif-else时在该模块中又加入一层if-else。
测试题
某一歌唱比赛分为男生组和女生组,首先判断该参赛选手被分到的小组,现在是初赛选拔,当选手得分达到80即可晋级(满分是100)。请你设计程序,判断该成员是哪个小组的,是否能晋级。
分析:
- 判断男女
- 判断分数是否合规
- 判断是否晋级
1 | System.out.print("请输入性别:"); |
Switch分支
- 基本语法
1 | switch(表达式){ |
switch后边的表达式会得到一个常量
判断该常量与下面哪个case一致
- 进入相应的case,并执行该case的代码块
- 向下一直走,直到遇到break跳出switch,如果该case没有break,则继续向下一个case走,直到有break,或者全部执行完。
- 进入相应的case,并执行该case的代码块
如果没有相应的case,则进入default模块
==注意:==
- switch后面的表达式返回的值必须跟case后的数据类型一致,或者可以互相转换
- switch只允许使用(byte, int, char, short, enum, String)
- case后必须是常量
- default不是必须的
作业:
输入学生的成绩,满分100,如果大于等于60,则及格;否则,不及格
1 | Scanner scan = new Scanner(System.in); |
循环控制
for循环
- 基本语法
1 | for (循环变量初始化;循环条件;循环变量迭代) { |
- 步骤原理
- 循环变量初始化
- 对循环条件进行判断
- 如果符合条件,则执行{}里的循环操作;否则,跳出循环
- 执行循环变量迭代
- 循环2、3、4直达退出循环
作业小结
- 找出1-100之间所有的9的倍数的整数,统计个数 及 总和
- 完成输出倒三角
1 | 0102030405 |
1 | //HomeWork_for.java |
当然这只是我鄙薄的方法,有更好的思路方法,欢迎大家留言。
while循环
- 基本框架
1 | while (循环条件) { |
感觉while循环与for循环差不多,当for循环为“for(;循环条件;)”时,就与while一样了。
==注意:==一定要动手实践
还是上面的倒三角
1 | public class HomeWork_while{ |
do..while循环
- 基本语法
1 | do{ |
与while差不多,只是这个结构是先循环再判断,所以它至少循环一次,而while甚至可以不进入循环体。
break与continue
1 | for (int i = 0; i < 10; i++) { |
break
用于完全退出循环。continue
用于跳过当前循环迭代的剩余部分,进入下一次迭代。
编程思想
- 化繁为简:将复杂问题拆解为简单问题,逐步完成
- 先常后变:先考虑常量值,然后利用灵活变化的变量来替换常量
作业
- 输出10 - 50之间所有偶数的和
- 判断一个整数是否是水仙花数,(水仙花数是指一个三位数满足各个数位上的数字的立方相加等于其本身,例如153 = 1 * 1 * 1 + 3 * 3 * 3 + 5 * 5 * 5)
- 自己实操输出倒三角
小结
控制结构的东西不多,而且与C/C++基本一致,多练两道题,控制结构的知识就能掌握的七七八八了。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.