=========================================================================
Java语言的代码执行顺序分类
分成三种 (1) 顺序结构 (从上到下 从左到右) (2) 分支结构 根据条件不同指定指定的代码 (3) 循环结构 根据条件重复的指定某一段代码
=========================================================================
Java语言的代码执行-分支结构-if
if的格式(1) if(条件表达式){代码体;} 执行流程:判断条件表达式的值,如果是true,就指定{}中的内容,如果是false就直接结束。
if的格式(2) if(条件表达式){代码体;}else{代码体;} 执行流程:判断条件表达式的值,如果是true,就指定if{}中的内容,如果是false就执行else{}中的内容。
if的格式(3) if(条件表达式){代码体;}else if(条件表达式){代码体;}...else{} 执行流程:依次判断每一个条件表达式的值,如果是true,就执行对应{}中的内容,结束if,如果是false,就向后继续判断。
如果每一个if的判断都是false,则有else执行else,没有则结束。
实际使用要灵活。 注意(1)如果{}中的代码只有一行,则{}可以省略(作为新手不要省略) 注意(2)if()与{}之间没有; 写了不报错,但是就没有判断的意义了。
=========================================================================
Java语言的代码执行-分支结构-switch
switch的格式:
switch(表达式【值】){
case 值1:
代码;
break;
case 值2:
代码;
break;
case 值3:
代码;
break;
default:
代码;
break;
}
执行流程:先计算()中表达式的结果,然后和每一个case后面的值进行对比,如果相同,则执行case对应的代码,如果和每一个case都不匹配,则执行default。
switch仅适用于判断值是否相同的情况,能够满足的应用场景没有if多,功能没有if强大。
switch()中的内容的数据类型:byte/short/int/char/枚举/String 其他的都不可以!
switch中case后面的值必须是字面量,不能是变量。
switch中case代码编写完后要写break,不写则会出现case穿透(的确可以在某些情况下简化代码,并不推荐)
=========================================================================
Java语言的代码执行-循环结构-for
for的语法结构:
for(初始化表达式;条件判断表达式;迭代语句){
循环体;
}
执行的流程:先执行一次初始化表达式,然后再执行条件判断表达式,如果结果是true,则执行一次循环体,然后执行迭代语句,继续执行条件判断表达式。
当条件判断表达式的结果是false的时候循环停止!
控制(1):可以控制循环的次数 => 让初始化表达式从0/1开始,让条件判断的式子</<=想要循环的次数,每次让值++。
控制(2):可以控制循环的变量 => 初始化表达式的值,在for循环是可以访问的,可以借助i一致改变的特点灵活的在循环体中进行使用。
求和思想:在循环外声明一个变量sum,在循环体中当本次的值满足要求,则和sum累加。 / 计数思想:在循环外声明一个变量,在循环体中当本次的值满足要求,变量++。
=========================================================================
Java语言的代码执行-循环结构-while
while的语法结构(简化):
while(条件判断表达式){
循环体;
}
执行的流程:先执行条件判断表达式如果是true,则执行循环体,再继续判断,如果是false,则循环停止。
总结:★for和while是完全可以等价互换的 => 明确循环次数用for,不明确循环次数但明确循环的条件用while。
=========================================================================
Java语言的代码执行-循环结构-do...while
do..while的语法格式:
do {
循环体;
} while(条件判断表达式);
执行的流程:先执行一次循环体,再进行条件判断。 无论如何即便条件判断最开始就不成立,也会执行一次循环体。
=========================================================================
Java语言的代码执行-循环结构-死循环
死循环:条件判断表达式的结果永远不为false的循环。--> 是有用的 [服务端]
for(;;){} / while(true)
如果系统认为这是一个真死循环,那么死循环的后面不允许编写任何的代码,如果系统认为这是一个假死循环,可以编写代码(也没有意义)
=========================================================================
Java语言的代码执行-循环结构-循环控制
循环控制:break / continue
break:可以在switch和循环中使用,不管在哪里用,执行到break;就表示整体结束了。可以用于控制死循环。
continue:只可以在循环中使用,使用了之后,continue后面的代码不会执行,跳过本次循环的剩余部分,继续执行迭代语句,进行下次循环。
=========================================================================
Java中的随机数生成
随机数类:Random
使用的方式:(1)导包import java.util.Random; (2)创建对象 Random r = new Random(); (3)生成随机数int number = r.nextInt(上限);
默认上限生成的范围就是0到上限-1。
想要生成指定范围的随机数 int number = r.nextInt(上限-下限+1) + 下限; 线性同余公式(生成的随机数是平均分布)