JAVA_DAY04知识重点整理(流程控制与数组)

1.swich语句中,如果没有在case语句后加break,将会有case穿透现象,也就是说,程序于第一个case匹配后,会一直执行到default,不再于之后的case进行条件匹配
2.if...else if语句中,else if中的条件有个隐式条件,就是非(if中的条件,以及之前else if的条件),else同理
3.在for循环中,除了两个分号外(;)其余都是可以省略的,还有就是,初始化可以定义多个值,但是for循环中初始化语句中只能有一条语句,所以这些值必须是同一个类型
    例:
        for(int a = 0,b = 1,c = 2;.....;.....){}
4.for循环也可以模拟while循环
    例:
        int i = 0
        for(;i<5;){}   ==   while(i<5){}
5.把初始化变量定义在for循环之外的一个好处就是可以扩大这个变量的作用域,因为for循环中定义的初始化变量只作用于当前的for语句,语句块之外的代码访问不到这个变量
6.continue跳过当前循环,执行下一次循环,break结束当前循环,return结束整个方法
7.break结束外层循环,需要在外循环贴一个标签(语法就是在循环体之前设置一个...:的形式),continue也同样适用
    例:
        outer:
        for(..;..;..){
            for(..;..;..){
                .........
                if(...){
                    break outer;
                }
            }
        }
8.数组等定义方式有两种:
    1.静态方式:int[] int_arr = new int[]{1,2,3,4,5}或者int[] int_arr = {1,2,3,4,5}
        这种是给数组直接赋值,由系统来确定数组的长度
    2.动态方式:int[] int_arr = new int[5]
        这种事给数组指定长度,由系统来位元素赋值(byte,short,int,long=0,float,double=0.0,char=\u0000,boolean=false,引用=null)
    3.切记不要即为数组赋值又为数组指定长度
9.数组的长度是不可变的,数组的引用变量指向别的数组,给人以数组可变的假象
10.引用变量是存放于方法栈的,而实际的对象是存放于堆中的,就算方法执行完毕,方法栈被销毁,但不一定他指向的对象被销毁,因为这个对象可能会被别的变量引用(这才参数传递时十分常见)
11.基本类型的数组,数组元素保存的是实际的数据,引用类型的数组,数组元素保存的只是指向实际对象的变量
    例:
        Person p = new Person();
        p.age = 18;
        Person[] arr_p = new Person[1]
        arr_p[0] = p
        System.out.println(arr_p[0].age)  //18
        p.age = 20
        System.out.println(arr_p[0].age)  //20
    因为p与arr_p[0]都是指向堆内存中同一块区域,所以使用p引用来修改对象的age变量,必然会影响到arr_p
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值