java基础知识总结(4)

程序流程控制

(1)定义:程序流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。
(2)分为三种基本流程结构:顺序结构、分支结构和循环结构。

顺序结构
顺序结构没什么可以总结的,就是我们的程序从上到下的执行。
分支结构
1.if-else
(1)if-else有三种情况,分别为:
①if(条件){
执行语句;
}
这种情况,如果小括号里为真,则执行大括号里的执行语句,否则不执行。
②if(条件){
执行语句;
}else{
执行语句;
}
这种情况,如果第一个小括号里为真,则执行if大括号里的执行语句。否则,执行else大括号里的执行语句。
③if(条件){
执行语句;
}else if{
执行语句;
}
……
else{
执行语句;
}
这种情况下,先判断前面的成立不成立,都不成立的话,就执行else里面的执行语句。这里的else不是必须的,可以视情况而定去掉。

注意:
(1)第三种情况下,如果多个表达式之间是“互斥”的关系(或没有交集),哪个判断和执行语句在上面还是下面,无所谓。
(2)第三种情况下,如果多个表达式之间有交集,我们需要根据实际情况,考虑清楚哪个结构声明在上面。
(3)第三种情况下,如果多个表达式之间有包含关系,我们通常情况下将范围小的声明在范围大的上面。因为范围大的声明在范围小的上面,范围小的判断就无法执行了,写它就没有意义了。
(4)if-else可以嵌套,但是不建议嵌套太多,会影响程序的可读性。
(5)如果if-else里面的执行语句只有一行,我们可以把大括号去掉,但是不建议去掉,有时候会因为去掉大括号回来修改时遇到bug。当if去掉大括号后,如果是嵌套结构,else会以就近原则匹配离他近的if语句。
(6)拓展:if中判断字符串是否相等用.equals()比较。
2.switch-case
(1)语句结构:
switch(表达式){
case 常量1:
语句1;
//break;
case 常量2:
语句2;
//break;
……
default:
语句;
//break;
}
(2)说明:
①根据switch表达式中的去匹配各个case中常量的值,一但匹配成功,就会进入case,执行相应的语句。当执行完这个case中的语句时,如果没有break关键字,就会进入下一个case继续执行下一个case以此依次执行,知道遇到break关键字或到达switch-case结构的末尾。
②break关键字可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构。但是break关键字不是必须有的,可以不写。不写就执行下一case语句。
③switch-case结构中的表达式职能制以下六种类型之一:byte、short、int、枚举类型、char、String。
④case后面只能声明一个常量,不能是一个范围。
⑤default相当于if-else中的else表示上面都没有匹配到就执行它。defalut是可选的,位置也灵活,放在哪个位置都可以,但是基本都放到最后面。
⑥如果switch-casr结构中多个case的执行语句相同,我们可以合并。
如果switch括号后面的表达式太大,需要太多的case来判断,那我们可以将里面的数除以一个数来缩小范围,减少case的数量。
⑦case结构里面也可以写if-else语句。
⑧凡是可以使用switch-case的结构的,都可以转换为if-else,反之不成立。
⑨当我们写分支结构式发现既可以使用if-else结构表示又可以用switch-case表示(当然,前提是case结构不能太多),我们优先选择switch-case语句。原因:switch-case语句的执行效率稍高。

循环语句
(1)定义:在某些条件满足的情况下,需要反复执行特定代码的功能。
(2)分类:for循环。while循环。do-while循环。
(3)循环结构包括的四部分:
①初始化部分
②循环条件部分(boolean类型)
③循环体部分
④迭代部分
for循环
(1)for循环的结构:
for(初始化部分;循环条件部分;迭代部分){
循环体部分;
}
(2)顺序:①–>②(true)–>③–>④–>②–>③–>④……–>②(false)–>结束
通常情况下,循环结束都是因为循环条件返回为false。
whilt循环
(1)while循环的结构:
初始化部分
while(循环条件部分){
循环体;
迭代部分;
}
(2)顺序:①–>②(true)–>③–>④–>②–>③–>④……–>②(false)–>结束
通常情况下,循环结束都是因为循环条件返回为false。

说明:
(1)whilt循环一般不能丢了迭代部分,一旦丢了迭代部分就可能会导致死循环。
(2)我们写程序时要避免死循环。
(3)for循环和while循环可以相互转换。
(4)for循环的初始化一般在for循环结构中,如果出了fot循环一般不能调用。while循环的初始化在while结构外,所以出了循环体外一般还可以调用。
do-while循环
(1)do-while循环结构:
初始化部分;
do{
循环体;
迭代部分;
}while(循环条件部分);
(2)顺序:①–>③–>②(true)–>④–>②–>③–>④……–>②(false)–>结束
通常情况下,循环结束都是因为循环条件返回为false。

说明:
(1)do-while循环至少会执行一次。
(2)执行多次循环时,三种循环没有区别,但是当前两种循环都不执行的时候,do-while循环会执行一次。
(3)开发使用前两种多,较少使用do-while。
总体说明:
(1)不在循环条件部分限制次数的结构:for(;😉、while(true),在循环体内写break关键字退出循环。
(2)结束循环的方式:
①循环条件部分返回false。
②在循环体中执行break关键字。
嵌套循环(通常不超过三层层,三层很少)
(1)结构:将一个循环结构A声明在另一个循环结构B的循环体中,就构成了嵌套循环。
(2)
外层循环:循环结构B。
内层循环:循环结构A。

说明:
①内层循环遍历结束一次,相当于外层循环执行了一次。
②如果外层循环执行m次,内层循环执行n次,那么循环结束后,内层循环一共执行了m*n次。

小技巧:外层循环控制行数,内层循环控制列数。

拓展:
Scanner
(1)这个方法类是从控制台输入数据给变量接收。
(2)具体实现步骤。
①导包:import java.unitl.Scanner;
②Scanner实例化
③调用Scanner类中的相关方法来获取制定类型的变量,
④对于char类型的获取,Scanner没有提供相关的方法,只能获取一个字符串。
注意:需要根据相应的方法,来输入制定类型的值,如果输入的数据类型与要求的数据类型不匹配时,会报异常(InputMisMatchException)导致程序终止。
随机数
(1)Math.random()得到的是一个double类型的变量。范围是[0.0,1.0)
(2)如果想要范围为[10,100),需要:Math.random() * 90 + 10
(3)可以强转成int。(int)(Math.random() * 90 + 10)
(4)如何变为闭区间[a,b]:(int)(Math.random) * (b - a + 1) + a )

特殊关键字break和coutinue

(1)使用范围:
①break:使用在switch-case条件分支结构和循环结构中。
②coutinue:只能使用在循环结构中。
(2)使用的作用:
①break:直接跳出循环体。
②coutinue:结束当前循环,执行下一循环。
(3)相同点:break和coutinue后面都不能加执行语句。
(4)break和coutinue都是作用于离他们最近的循环结构。
(5)嵌套循环时,只需要在外层循环加个标签就可以用break和coutinue跳出了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值