美文网首页
第二篇-流程控制与数组

第二篇-流程控制与数组

作者: 爱吃板栗的小女孩 | 来源:发表于2018-10-17 21:21 被阅读59次
    1.switch条件判断类型:

    byte,short ,int,char,String,枚举

    2.while 与 do while

    while:先判断条件,然后执行方法体
    do while是先执行方法体,然后在while判断条件 do while至少执行一次

    do{
      xxxxx
    }
    while(条件);
    
    3.break,continue,return

    (1)break:强行终止循环,而不等循环条件为false
    a.break也可用在结束外层循环,此标签必须是在break所在的外层循环之前定义才有实际意义

           outer:
           for (int i = 0; i < 10; i++) {
               for (int j = 0; j < 2; j++) {
                   Log.e("test", j + "");
                   if(j==2){
                       break outer;
                   }
               }
           }
     //这样当j=2,即可直接跳出最外层循环(i那层)
    

    (2)continue:忽略本次循环剩下的语句
    continue只是忽略本次循环剩下语句,接着开始下一次循环,并不会终止循环。而break则是完全终止循环本身

            outer:
            for (int i = 0; i < 10; i++) {
                for (int j = 0; j < 2; j++) {
                    Log.e("sssss", "i=" + i + "j=" + j);
                    if (j == 1) {
                        continue outer;
                    }
                }
            }
     //每当j=1的时候,就会执行continue outer,跳出外层循环之前定义好的outer.
     //故结果j永远无法等于2
    

    (3)return:结束方法,不管return处于多少层方法中

            for (int i = 0; i < 10; i++) {
                Log.e("i=", i + "");
                if (i == 1) {
                    return;
                }
                Log.e("alert:", "ssss之后执行的");
            }
     //输出i=0  ssss之后执行的  i=1没了
    
    4.数组

    a.推荐的定义数组格式:type[] name
    b.如何初始化数组:
    (1)int[] a=new int[]{1,2,3};称为静态初始化
    更简单方式:int[] a={1,2,3}
    (2)int[] a=new int[5];称为动态初始化,刚开始系统会为数组定义初始值
    c.数组索引从0开始
    d.若定义一个字符串数组长度为4,a[0]="你好" a[1]="世界",打印这个数组,会输出:
    你好
    世界
    null
    null
    原因就在于a[2]和a[3]并没有给定初始值,而是使用的系统给定的初始值null
    e.定义并初始化一个数组后,在内存中分配两个空间,一个用于存放数组的引用变量,另一个用于存放数组本身。

        int[] a={5,7,20};
        int[] b=new int[4];
    
    屏幕快照 2018-10-17 下午9.05.14.png

    若此时执行

    b=a;
    
    屏幕快照 2018-10-17 下午9.05.35.png

    系统把a的值赋给了b,因为a和b都是引用类型变量存的是地址,就是让b指向了a的地址。这时b原来所指向的数组0,0,0,0变成了垃圾,等待垃圾回收机制收他,但是长度不会变依然是4,直到他彻底消失。

    相关文章

      网友评论

          本文标题:第二篇-流程控制与数组

          本文链接:https://www.haomeiwen.com/subject/gqjkzftx.html