循环

来源:互联网 发布:智能电视哪个网络品牌 编辑:程序博客网 时间:2024/05/18 01:14
循环 有(for    while    do...while     foreach)
这3个循环方法运行速度相差无几  例子在循环例子中


for
for 循环的次数一定要给他赋值,就是for循环的次数是固定的,只有在循环的次数在已知的情况下才能使用
for( int i=0; i<10; i++ ){
}


while
while  循环的次数是不确定的  只要满足条件就进入循环,直至循环条件不正确时,不满足条件时不要你进入
while(循环条件){
         循环体;
}


do...while
do...while  循环的次数也是不确定的,满足条件就进,不满足就退出,唯一和while的区别是会先执行一次do...while中的代码
do...while就是先执行代码再进行判断,至少执行1次循环体中的代码,如果满足不了条件就退出
do...while就好像钥匙一样,不管你是不是这扇门的钥匙,都要你试一次,不然无法从外表判断是不是匹配,不匹配就打不开,匹配才让你进入
循环条件必须是boolean   while的括号后面一定要写分号  ;  。
do{
        循环体;
}while(循环条件);


foreach
foreach主要用于遍历数组和集合       foreach只循环这个数组或者集合1遍 
foreach只用于读取,不能进行赋值
for( 类型   item   :   变量名  ){
}


结束循环的语句   break  ,continue ,return,goto,exit()
break 结束整个循环   当循环是多重循环时只跳出本身这个循环 对外面的循环没有任何影响                 
continue结束本次循环,进入下次循环
return 结束当前的函数 进入上一个函数中
exit()会直接终止程序,进入最顶层         exit(0)表示程序正常, exit(1)和exit(-1)表示程序异常退出,exit(2)表示系统找不到指定的文件


http://blog.csdn.net/youngyoungla/article/details/52446632       下面的5条从这里查询
  1. return返回函数值,是关键字;exit是一个函数。


  2. return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。
  3. return是函数的退出(返回);exit是进程的退出。


  4. return是C语言提供的,exit是操作系统提供的(或者函数库中给出的)。


  5. return用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给OS,这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出,非0 为非正常退出。


goto   声明一个标价符后面加:然后再循环中return 或者continue后面抛出这个标识符,就会跳转到这个标识符那一行代码然后再执行goto例子在循环例子中

/**测试foreach*/public static void testForeach(){int [] num = { 1,2,3,4,5,6,7,8,9 } ;for (int i : num) {i++;System.out.println(i); //2 3 4 5 6 7 8 9 10}for (int i = 0; i < num.length; i++) {System.out.println(num[i]);//1 2 3 4 5 6 7 8 9}}/**测试return和exit()*/public static void test(){testReturn();System.out.println("aaa");   当结束符是return时这句话打印  System.exit(0)时不打印}/**测试return和exit()*/public static void testReturn(){int [] num = {1,2,3,4,5,6};for (int i = 0; i < num.length; i++) {if(num[i]==3){// return;System.exit(0);}}}测试for 和while 和do_while的运行速度  public static void testFor(){long time=System.currentTimeMillis();String str="a";for (int i = 0; i < 10000; i++) {str+=i;}System.out.println(System.currentTimeMillis()-time); 运行2次得结果  137  138}public static void testWhile(){long time=System.currentTimeMillis();String str="a";int index=0;while (index<10000){str+=index;index++;}System.out.println(System.currentTimeMillis()-time); //134  136}public static void testDoWhile(){long time=System.currentTimeMillis();String str="a";int index=0;do {str+=index;index++;} while (index<10000);System.out.println(System.currentTimeMillis()-time);  140}//gotopublic static void test() {one:for (int i = 0; i < 5; i++) {if(i==2){continue one;}System.out.println(i);for (int j = 0; j < 4; j++) {if(j==1){continue one;}System.out.println(j);}}}

原创粉丝点击