学习记录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关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。

posted @ 2022-09-12 23:16  BattleTrumpet  阅读(22)  评论(0)    收藏  举报