博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java循环结构
阅读量:5798 次
发布时间:2019-06-18

本文共 5193 字,大约阅读时间需要 17 分钟。

Java的循环结构要相对于Java的顺序结构来说明。程序的运行时由上到下的顺序结构,但是有的程序需要特殊的处理,其不止需要执行一次,这样就需要使用到循环结构。

Java循环结构:
Java循环结构包括三种:for循环 while循环及do...while循环
for循环及增强否for循环:
for循环的语法格式如下:
for(初始化;布尔表达式;更新运算){

//代码语句}

for循环的工作原理是这样的:

首先执行初始化步骤,初始化是为了得到一个判定条件的值,用于后面的布尔表达式
接着使用前面初始化的值在布尔表达式里面进行比较,如果布尔表达式的结果是真,那么就执行代码语句,代码语句执行完成后,执行更新运算,这里更新的是前面初始化的那个值,然后在进行布尔表达式的运算,如此循环,直到布尔表达式运算结果为假,则跳出循环.

class circilationToFor {   public static void main(String[] args) {       int i;//声明一个int变量 当然你也可以在for()里面进行声明和初始化       for (i = 0; i < 10; i++) {           System.out.println("是否 "+i+" <10 ? :"  + (i < 10) + "  本次循环的i值为: " + i);       }       System.out.println("是否 "+i+" <10 ? :" + (i < 10) +"  跳出循环的i值为: " + i);   }}

输出:

是否 0 <10 ? :true 本次循环的i值为: 0
是否 1 <10 ? :true 本次循环的i值为: 1
是否 2 <10 ? :true 本次循环的i值为: 2
是否 3 <10 ? :true 本次循环的i值为: 3
是否 4 <10 ? :true 本次循环的i值为: 4
是否 5 <10 ? :true 本次循环的i值为: 5
是否 6 <10 ? :true 本次循环的i值为: 6
是否 7 <10 ? :true 本次循环的i值为: 7
是否 8 <10 ? :true 本次循环的i值为: 8
是否 9 <10 ? :true 本次循环的i值为: 9
是否 10 <10 ? :false 跳出循环的i值为: 10

说道for循环就不得不提一下增强for循环:

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

class CircilationToEnhanceFor {    public static void main(String[] args) {        int[] i = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 0};        //增强for循环的写法        for (int value : i) {            System.out.println("增强for循环遍历的i数组本次值为: "+value);        }        System.out.println("===================我是分割线===================");        //一般for循环的写法        for(int a = 0;a

输出:

增强for循环遍历的i数组本次值为: 1
增强for循环遍历的i数组本次值为: 2
增强for循环遍历的i数组本次值为: 3
增强for循环遍历的i数组本次值为: 4
增强for循环遍历的i数组本次值为: 5
增强for循环遍历的i数组本次值为: 6
增强for循环遍历的i数组本次值为: 7
增强for循环遍历的i数组本次值为: 8
增强for循环遍历的i数组本次值为: 9
增强for循环遍历的i数组本次值为: 0
===================我是分割线===================
普通for循环遍历的i数组本次值为: 1
普通for循环遍历的i数组本次值为: 2
普通for循环遍历的i数组本次值为: 3
普通for循环遍历的i数组本次值为: 4
普通for循环遍历的i数组本次值为: 5
普通for循环遍历的i数组本次值为: 6
普通for循环遍历的i数组本次值为: 7
普通for循环遍历的i数组本次值为: 8
普通for循环遍历的i数组本次值为: 9
普通for循环遍历的i数组本次值为: 0

其结果是一样的,但是对于foreach来说更加的方便.

while循环:

while是一种很简单的循环结构:
while( 布尔表达式 ) {
//循环内容
}
只要布尔表达式的计算结果为真,则会进入循环内容,循环内容结束后继续检查布尔表达式,如此重复,知道布尔表达式输出假.

class CircilationToWhile {    public static void main(String[] args) {        byte i = 0;        while(i<10) {            System.out.println("(i<10) ? "+(i<10)+ "   while循环内容为: " +i);            i++;        }        //当(i<10)为fals时跳出循环.        System.out.println("(i<10) ? "+(i<10)+ "   i=  " +i);    }}

输出:

(i<10) ? true while循环内容为: 1
(i<10) ? true while循环内容为: 2
(i<10) ? true while循环内容为: 3
(i<10) ? true while循环内容为: 4
(i<10) ? true while循环内容为: 5
(i<10) ? true while循环内容为: 6
(i<10) ? true while循环内容为: 7
(i<10) ? true while循环内容为: 8
(i<10) ? true while循环内容为: 9
(i<10) ? false i= 10

do…while 循环

do…while 循环循环与while循环唯一不同的地方在于,无论如何do…while 循环都会干一次! 对,无论怎样都会干一次的.干了再说

class CircilationToDoWhile {    public static void main(String[] args) {        byte i = 10;        do {            //无论如何都会干一次的,无论你原本不愿意还是愿意            System.out.println("(i<10) ? " + (i < 10) + "   i= " + i);            i++;        } while (i < 10);        //当(i<10)为fals时跳出循环.        System.out.println("(i<10) ? "+(i<10)+ "   i=  " +i);    }}

输出:

(i<10) ? false i= 10
(i<10) ? false i= 11

循环讲完了我们需要老认识一下控制循环的两个Java关键字

break:
break的作用是跳出循环

class Control {    public static void main(String[] args) {        int i;        //一层for循环        for (i = 0; i < 10; i++) {            System.out.println("还没有执行break,执行到了这里");            break;        }        System.out.println("当输出了↑↑↑以后 ,执行了break,没有进行i++运算,我跳出循环");    }}

输出:

还没有执行break,执行到了这里
当输出了↑↑↑以后 ,执行了break,没有进行i++运算,我跳出循环

class Control1 {    public static void main(String[] args) {        //多层循环        int a;        int c;        for (a = 0; a < 10; a++) {            System.out.println("第" + a + "次外层for循环===========");            for (c = 0; c < 10; c++) {                System.out.println("        第" + c + "次里层for循环 跳出!");                break;//brake语句只是会结束他所在的循环体            }        }    }}

输出:

第0次外层for循环===========

第0次里层for循环 跳出!

第1次外层for循环===========

第0次里层for循环 跳出!

第2次外层for循环===========

第0次里层for循环 跳出!

第3次外层for循环===========

第0次里层for循环 跳出!

第4次外层for循环===========

第0次里层for循环 跳出!

第5次外层for循环===========

第0次里层for循环 跳出!

第6次外层for循环===========

第0次里层for循环 跳出!

第7次外层for循环===========

第0次里层for循环 跳出!

第8次外层for循环===========

第0次里层for循环 跳出!

第9次外层for循环===========

第0次里层for循环 跳出!
class Contro2 {    public static void main(String[] args) {        int d;        int e;        for (d=0;d<10;d++){            System.out.println("第" + d + "次外层for循环===========");            for(e=0;e<10;e++){                System.out.println("        第"+e+"次里层for循环");                break;//brake语句只是会结束他所在的循环体            }            break;        }    }}

输出:

第0次外层for循环===========

第0次里层for循环

continue 关键字

continue 关键字是标识结本次循环,进入下一次循环,

class Contro3{    public static void main(String[] args) {        int i;        for (i=0;i<10;i++){            System.out.println(i+ "  本循环不输出下一个语句.");            continue;        }    }

输出:

0 本循环不输出下一个语句.
1 本循环不输出下一个语句.
2 本循环不输出下一个语句.
3 本循环不输出下一个语句.
4 本循环不输出下一个语句.
5 本循环不输出下一个语句.
6 本循环不输出下一个语句.
7 本循环不输出下一个语句.
8 本循环不输出下一个语句.
9 本循环不输出下一个语句.

在Java中很多地方都用得到循环结构,可以结合使用它们.

循环先这样吧,后面和数组,集合在配合描述.

转载地址:http://ynpfx.baihongyu.com/

你可能感兴趣的文章
Loadrunner脚本编程(4)-数据类型操作和字符串操作
查看>>
STL 算法
查看>>
分享:Backbone.js 样例站点与入门指南
查看>>
图的基本算法
查看>>
HTML基础(一)
查看>>
boost.circular_buffer简介
查看>>
Database Appliance并非Mini版的Exadata-还原真实的Oracle Unbreakable Database Appliance
查看>>
网页图片缩放(js)
查看>>
如何用Fiddler对Android应用进行抓包
查看>>
iOS为所需要的视图添加模糊效果--UIVisualEffectView
查看>>
HDU-1222 Wolf and Rabbit (欧几里得定理)
查看>>
Camera Calibration 相机标定:原理简介(五)
查看>>
ehcache实例
查看>>
python 匿名函数
查看>>
javascript实现-------------选择排序
查看>>
centOS中VMware Tools 安装
查看>>
oracle中以dba_、user_、v$_、all_、session_、index_开头的常...
查看>>
leetcode 116- Populating Next Right Pointers in Each Node
查看>>
spring项目启动错误——java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext...
查看>>
iOS开发网络篇—GET请求和POST请求
查看>>