栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java 控制语句

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 控制语句

控制语句可以让我们的代码具有逻辑性,条理性。

控制语句的种类

        选择语句:if /switch

        循环语句:for /while /do..while

        转向语句:break /continue /return


选择语句

if  
if(布尔表达式){
    java语句;
    java语句;
}

一个大括号{}叫做一个分支

if翻译为“如果”,叫做条件语句。

执行原理:如果布尔表达式判断为 true ,则执行大括号中的程序,否则不执行。

        语法:2

if(布尔表达式){
    java语句;        分支1
}else{
    java语句;        分支2      
}

执行原理:如果布尔表达式的结果为 true ,则执行分支1;分支2不执行

                  如果布尔表达式的结果为 false ,则执行分支2;分支1不执行

         语法:3            

if(布尔表达式1){
    Java语句;             分支1
}else if(布尔表达式2){    分支2
    Java语句;
}else if(布尔表达式3){    分支3
    Java语句;
}else if(布尔表达式4){    分支4
    Java语句;
}else{
    Java语句;
}

执行原理:判断布尔表达式1,结果为 true 执行分支1 ,语句结束; 结果为false,

                 判断布尔表达式2,布尔表达式2结果为true,执行分支2;结果为false,

                判断布尔表达式3,布尔表达式3结果为true,执行分支3;以此类推。

                如果布尔表达式结果都为 false ,执行 else 的分支语句;

注意:对于if 语句来说,只能有一个分支执行,并且在执行完后这个 if 语句就结束了。

        if 语句的嵌套

控制语句和控制语句之间是可以嵌套的

分析外面的 if 语句,里面嵌套的控制语句在没有执行的时候就看做普通的Java代码(语句)             

if (布尔表达式){
    if(布尔表达式){
        if(布尔表达式){
            Java语句;
        }
    }
}else{

}

switch

         语法格式

switch(值){

case 值1:
    java 语句;
    java 语句;
    break;
case 值2:
    java 语句;
    java 语句;
    break;
case 值3:
    java 语句;
    java 语句;
    break;
default:
    java 语句;
}

以上是一个完整的 switch 语句。其中 break;语句 default分支都不是必须的

执行原理:拿 “值”与“值1”进行比较,如果相同,则执行该分支;然后执行"break;"语句,结束。

如果不相同,与“值2”进行比较,如果相同,则执行该分支;然后执行"break;"语句,结束。

如果没有"break;",会发生 case击穿现象。


循环语句

循环语句是由循环体和循环终止组成,在实际写代码的过程中会有许多重复执行的语句。

这时候就可以用更好的方法:循环语句来实现。

比如下一段代码就可以用循环语句来使它更简洁,方便:

public static void main(String[] args) {
    System.out.println("WDNMD");
    System.out.println("WDNMD");
    System.out.println("WDNMD");
    System.out.println("WDNMD");
    System.out.println("WDNMD");
    System.out.println("WDNMD");
    System.out.println("WDNMD");
    System.out.println("WDNMD");
    System.out.println("WDNMD");
}

要输出这么多的“WDNMD”一行一行敲很麻烦,如果更多的话就更麻烦,所以我们可以用

for  while  do...while 循环来实现。

for
for (int i = 0; i < 10; i++) {
    循环体;
}

int i = 0  为初始表达式        初始化表达式在循环中最先执行,且执行一次。

i < 10     为布尔表达式        结果为 true 执行循环体,结果为 false 循环结束。

i++         为更新表达式        为了更新变量的值,更新过后重新判断。

for循环的执行顺序是 1、初始表达式

                                  2、布尔表达式

                                  3、循环体

                                  4、更新表达式

死循环

对于for循环来说,初始表达式,布尔表达式,更新表达式都不是必须的,当布尔表达式缺失的时候会形成死循环

for (  ; ; ) {
    System.out.println("wdnmd");
}

这个循环语句就是死循环,会一直输出“wdnmd”

常见的for循环

for (int i = 0; i <= 10; i++) {
    System.out.println(i);
}

输出结果为

0
1
2
3
4
5
6
7
8
9
10

来看这个循环,首先执行初始表达式:int i = 0;

                         然后判断 i <= 10 结果是否为 true (真)

                         结果为 true 执行循环体 打印 i = 0

                         再执行更新表达式,执行布尔表达式。如此循环执行

                        直到布尔表达式判断结果为 false 循环结束。

作用域                  

循环的作用域只在当前循环中有效(大括号内),在for 循环外是无法访问该变量。

public static void main(String[] args) {
    int i = 0
    for (; i <= 10; i++) {
    }
    System.out.println(i);
}

我们可以把  i  拿出来放到 main 方法里,这样就可以访问了。

while
语法:
while (布尔表达式){
    循环体;    
}

while 的结构非常简单:先判断布尔表达式的结果,为 true

                                      执行循环体,再判断布尔表达式的结果,为 true

                                      执行循环体,如此循环。直到布尔表达式结果为 false 循环结束

do..while

        do{

        循环体;   1

}while(布尔表达式)  2

执行顺序: 1——2(true)——1——2(true)——1——2(false)——循环结束

break

break; 在Java中是单独的一条Java语句,它可以用在 switch 中,用来终止 switch 的语句。

它重点是用在循环语句中用来跳出循环。

break 只能让终止距离它最近的当次循环

for(int j = 1; j <= 2; j++){
    for(int i = 1; i <= 10 ; i++){
        if(i == 5){
           break;
        }
    System.out.println("i = " + i);
    }
}

  当 i == 5 时循环终止,所以5 不会输出;

i = 1
i = 2
i = 3
i = 4
i = 1
i = 2
i = 3
i = 4

continue

continue 和break 都是差不多,但break是终止循环。 continue是结束本次循环直接进入下次循环

for(int i = 1; i <= 10; i++){
    if(i == 5){
        continue;
    }
    System.out.println( i);
}
1
2
3
4
6
7
8
9
10

当 i ==5 时,直接跳过。所以输出结果没有5。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/301353.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号