随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)
一、.&&和&的区别
1、&&是逻辑运算符,操作数必须为boolean类型;&是位运算符,操作数可以是boolean类型,也可以是数字。
2、&&是短路运算符,当第一个条件为假时,那么第二个条件不作判断;&是非短路运算符,无论第一个条件是否为假,第二个条件都要判断。
二、使用switch()要的注意的几点
1、括号内为表达式,表达式的计算结果为整型相关型,即表达式结果只能为byte,short,int,char。
2、case后面必须使常量,不能为一个范围。
三、静态变量和成员变量的区别
1、静态变量是共享的,所有的对象都共享静态变量一个变量。成员变量是属于每个对象的。每个对象都有各自的属性。静态变量一旦更改,会影响所有的对象,但一个对象属性(成员变量)的更改不会影响别的对象。
2、静态变量加载的时机在对象之前,所以静态方法不能直接访问成员变量或成员方法。
3、成员变量必须依赖于对象,随对象产生而产生,随对象销毁而销毁。而静态变量在类加载时就会产生,一直长驻内存。
4、访问成员变量通过( 对象.成员变量 )访问;对静态变量的访问可以使用以下两种方式:①对象.静态变量;②类名.静态变量。所以,静态变量也叫类变量,访问静态变量时,无需产生对象。
四、java运行期间数据存放
①对象存放于堆中;②局部变量存放于栈中;③类变量、常量存放于数据段中;④方法的定义存放于代码段中。
五、关于包
包就是文件夹。使用包有以下两点好处:
1、组织相关的类;
2、可以做到信息的隐藏。
六、其他
1、垃圾回收器,回收的就是没有被变量所指向的对象。
2、如果一个引用类型为null,表示该变量没有指向任何一个对象,一旦对Null调用方法或属性,就会抛出 java.lang.NullPointerException(空指针异常)。