Java代码的三根顶梁柱:循环结构

 更新时间:2021年08月06日 09:33:22   作者:rampant boy  
这篇文章主要介绍了JAVA 循环结构的相关资料,文中讲解的非常细致,示例代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下

顺序结构

顺序结构是指按照代码一行一行的读取。 例如:

System.out.println("abc");
System.out.println("def");
System.out.println("ghi");

结果为:

image-20210803165028913

如果调整代码的书写顺序,例如:

System.out.println("ghi");
System.out.println("def");
System.out.println("abc");

那么结果为:

image-20210803165146860

分支结构

if语句

语法1

if(布尔表达式) {
    //条件满足时执行代码
}

语法2

if(布尔表达式) {
    //条件满足时执行代码
} else {
    //条件不满足时执行代码
}

语法3

if(布尔表达式) {
    //条件满足时执行代码
} else if(布尔表达式) {
    //条件满足时执行代码
} else {
    //条件都不满足时执行代码
}

代码示例

int n = 5;//判断n的奇偶性
if((n % 2) == 0) {
    System.out.println("偶数");
} else {
    System.out.println("奇数");
}

结果为:

image-20210803172816147

悬垂else

else只与最近的未匹配的if进行匹配。 例如:

int x = 10;
int y = 0;
if (x == 10)
    if (y == 10)
        System.out.println("aaa");
else
    System.out.println("bbb");

else与if(y == 10) 匹配,所以结果为:

image-20210804154550288

switch语句

基本语法

switch(整数|枚举|字符|字符串){
     case 内容1 : {
         //内容满足时执行语句;
         break;
     }
     case 内容2 : {
         //内容满足时执行语句;
         break;
     }
     ...
     default:{
         //内容都不满足时执行语句;
         break;
     } 
}

注意:long类型,float类型,double类型和boolean类型不能做switch的参数。

根据 switch 中值的不同, 会执行对应的 case 语句. 遇到 break 就会结束该 case 语句。如果 switch 中的值没有匹配的 case, 就会执行 default 中的语句。

代码示例

int day = 1;
switch(day) {
    case 1:
        System.out.println("星期一");
        break;
    case 2:
        System.out.println("星期二");
        break;
    case 3:
        System.out.println("星期三");
        break;
    case 4:
        System.out.println("星期四");
        break;
    case 5:
        System.out.println("星期五");
        break;
    case 6:
        System.out.println("星期六");
        break;
    case 7:
        System.out.println("星期天");
        break;
    default:
        System.out.println("输入错误");
        break;
}

结果为:

image-20210804164233295

注意事项

如果上述没有break:

int day = 1;
switch(day) {
    case 1:
        System.out.println("星期一");
    case 2:
        System.out.println("星期二");
    case 3:
        System.out.println("星期三");
    case 4:
        System.out.println("星期四");
    case 5:
        System.out.println("星期五");
    case 6:
        System.out.println("星期六");
    case 7:
        System.out.println("星期天");
    default:
        System.out.println("输入错误");
        break;
}

那么结果为:

image-20210804164441434

因此,如果没有break,那么case语句会依次向下执行,,从而失去了多分支的效果

循环结构

while循环

基本语法

while(循环条件){ 
    //循环语句;
}

循环条件必须为布尔表达式。

循环条件为 true,则执行循环语句;否则结束循环。

代码示例

int n = 1;//打印1——10的数字
while(n <= 10) {
    System.out.println(n);
    n++;
}

结果为:

image-20210804164958498

for循环

基本语法

for(表达式1;表达式2;表达式3){ 
    //循环体;
}
  • 表达式1:用于初始化循环变量
  • 表达式2:循环条件(布尔表达式)
  • 表达式3:更新循环变量

代码示例

int sum = 0;//计算1——100的和
for (int i = 0; i <= 100; i++) {
    sum += i;
}
System.out.println(sum);

结果为:

image-20210804165624731

do while循环

基本语法

do{ 
	//循环语句; 
}while(循环条件);

先执行循环语句, 再判定循环条件。

代码示例

int n = 1;
do {
    System.out.println(n);
    n++;
}while(n <= 10);

结果为:

image-20210804165912019

break

break 的功能是让循环提前结束。

例如:

for (int i = 1; i <= 10; i++) {
    if(i == 3) {
        break;
    }
    System.out.println(i);
}

结果为:

image-20210804171055205

continue

continue 的功能是跳过这次循环, 立即进入下次循环

例如:

int n = 1;//打印1——10的奇数
while(n <= 10) {
    if(n % 2 == 0) {
        n++;
        continue;
    }
    System.out.println(n);
    n++;
}

结果为:

image-20210804171417876

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • Java生成条形码code128(亲测有效)

    Java生成条形码code128(亲测有效)

    这篇文章主要介绍了Java生成条形码code128,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • MyBatis查询、新增、更新与删除操作指南

    MyBatis查询、新增、更新与删除操作指南

    这篇文章主要给大家介绍了关于MyBatis查询、新增、更新与删除操作的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MyBatis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-06-06
  • Springboot配置全局跨域未生效,访问接口报错问题及解决

    Springboot配置全局跨域未生效,访问接口报错问题及解决

    这篇文章主要介绍了Springboot配置全局跨域未生效,访问接口报错问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 老生常谈Log4j和Log4j2的区别(推荐)

    老生常谈Log4j和Log4j2的区别(推荐)

    下面小编就为大家带来老生常谈Log4j和Log4j2的区别(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Java的HashSet源码详解

    Java的HashSet源码详解

    这篇文章主要介绍了Java的HashSet源码详解,HashSet底层封装的是HashMap,所以元素添加会放到HashMap的key中,value值使用new Object对象作为value,所以HashSet和HashMap的所具有的特点是类似的,需要的朋友可以参考下
    2023-09-09
  • Spring自定义参数解析器代码实例

    Spring自定义参数解析器代码实例

    这篇文章主要介绍了Spring自定义参数解析器代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • 学好Java MyBatis拦截器,提高工作效率

    学好Java MyBatis拦截器,提高工作效率

    这篇文章主要介绍了Java中的 MyBatis拦截器,  Mybatis拦截器设计的初衷就是为了供用户在某些时候可以实现自己的逻辑而不必去动Mybatis固有的逻辑。详细内容需要的小伙伴可以参考下面文章内容,希望对你有所帮助
    2022-02-02
  • Java实现将txt/word/pdf转成图片并在线预览的功能

    Java实现将txt/word/pdf转成图片并在线预览的功能

    本文将基于aspose-words(用于txt、word转图片),pdfbox(用于pdf转图片),封装成一个工具类来实现txt、word、pdf等文件转图片的需求并实现在线预览功能,需要的可以参考一下
    2023-05-05
  • Spring boot中@Conditional和spring boot的自动配置实例详解

    Spring boot中@Conditional和spring boot的自动配置实例详解

    本文通过实例给大家介绍了Spring boot中@Conditional和spring boot的自动配置,需要的朋友可以参考下
    2018-05-05
  • Java实现简单的飞机大战游戏(控制主飞机篇)

    Java实现简单的飞机大战游戏(控制主飞机篇)

    这篇文章主要为大家详细介绍了Java实现简单的飞机大战游戏,控制主飞机,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05

最新评论