学习记录6流程控制
顺序结构
Java的基本结构就是顺序结构,除非特别指明,否则就按顺序一句一句执行。语句与语句之间,框与框之间,按照从上向下的顺序进行的,他是由若干个依次执行的处理步骤,是任何算法都离不开的基本算法

选择结构
if单选择结构
if(布尔表达式){
//如果布尔表达式为ture,执行该作用域内的语句
}
第十行,equals("")用于判断字符串是否相等

if双选择结构
if(布尔表达式){
//若果表达式值为true
}
else{
//布尔表达式值为false
}

if多选择结构
if(布尔表达式1){
//如果布尔表达式1为true执行代码
}
else if(布尔表达式2){
//如果布尔表达式2为true执行代码
}
else if(布尔表达式3){
//如果布尔表达式3为true执行代码
}
else{
//如果以上布尔表达式都不为true执行代码
}

嵌套的if结构
if(布尔表达式1){
//如果布尔表达式1为true执行代码
if(布尔表达式2){
//如果布尔表达式2为true执行代码
if(布尔表达式3){
//如果布尔表达式3为true执行代码
}
}
}
switch case多选择结构
switch case语句判断一个变量与一系列列表中某个值是否相等,每个值称为一个分支,前面已设定的值,或设定输入的值,一个一个与之匹配,匹配成功便开始执行(注意:break穿透现象)
switch语句中的变量类型可以是:byte、shout、int、char

也支持String类型,Case必须为字符串常量或字面量

支持String类型是在JDK7以后,这个实现的过程是通过反编译 java---class(字节码文件)---反编译(idea),查找过程
在Project Structure(工程结构)找到Project中的Project compller output(项目编译输出路径),在文件中找到,从文件夹的层面把class文件考至java文件中去
下面就是对应的字节码

在第15行可以看到,“hashCode()”方法,每一个字符、字符串对应数字
while()循环结构
while(布尔表达式){
//循环内容
}
只要布尔表达式为 true,循环就会一直执行下去
我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环
少部分情况需要循环一直执行,比如服务器的请求响应监听等
循环条件一直为true就会造成无限循环【死循环】,我们正常的业务编程中应该尽量避免死循
环。会影响程序性能或者造成程序卡死奔溃
思考:计算1+2+3+...+100=?

do……while循环结构
对于while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足也至少执行一次。
do...while 循环和while 循环相似,不同的是,do……while 循环至少会执行一次。
While和do……While的区别:
while先判断后执行。do……while是先执行后判断!
Do...while总是保证循环体会被至少执行一次!这是他们的主要差别。
do{
//代码语句
}whlie(布尔表达式);

for循环结构
for循环结构是支持迭代的一种通用结构,是最有效、最灵活的循环结构
for循环执行的次数是在执行前就确定的,语法
for(初始化;布尔表达式;更新){
//代码语句
}
"println"输出完会换行,"print"输出完不会换行,"\t"代表空字符,System.out.print(i+"\t");
从0~100之间的奇数和偶数的和

用for语句循环输出1~1000之间能被5整除的数,并且每行输出三个

九九乘法表

增强for循环
for(声明语句:表达式){
//代码句子
}
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配其作用域限定在循
环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

breack和continue
break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)
continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

结果

关于goto关键字(带标签的continue)
goto关键字很早就在程序设计语言中出现。尽管goto仍是Java的一个保留字,但并未在语言中得到正式使用;Java没有goto。然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子---带标签的break和continue
“标签”是指后面跟一个冒号的标识符,例如:outer:
对Java来说唯一用到标签的地方是在循环语句之前。而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。


浙公网安备 33010602011771号