1.&& 和 &区别和联系:
相同点 : 结果是一样的。
不同点 :如果使用双&号判断,如果说条件一为false,不会判断条件二,但是单&号会继续判断。
2.|| 和 |区别和联系:
相同点 : 结果一样。
不同点 : 如果使用||号判断,如果说条件一为true,不会判断条件二,但是单|号会继续判断。
3.==和equals()的区别:
==:比较的是地址(引用数据类型)。
equals:比较的是字符串的值。
4.异常和错误的区别:
异常:在Java程序中出现程序不正常的情况。
错误:错误一般是Java虚拟机或者是硬件导致的问题如果程序出现不正常的情况,信息的结尾是以Error就是错误,其他的都是异常。
5.构造函数和一般函数的区别?
结构上:
1.构造函数是没有返回值,方法名就是类名。
2.构造函数是由jvm来调用的,自己是无法手动调用,只会被调用一次。
作用:
1.初始化的时候给属性赋值。
2.描述对象的某种行为。
6.equals与equalsIgnoreCase的区别:
equals不忽略大小写。
equalsIgnoreCase忽略大小写。
7.StringBuffer和StringBulider的区别:
相同点:
(1).都是字符串缓冲类
(2).两个雷的方法一样
不同点:
(1).StringBuffer线程更安全,操作效率低,StringBulider线程不安全,效率高。
(2).StringBuffer是jdk1.0就有的,StringBulider1.5才有。
8.List、Map、Set三个接口,存取元素时,各有什么特点?
List接口,可以有重复的元素,是个有序集合。
Map接口,双列集合,存储数据以键和值的方式,键不允许重复,值是允许重复的。
Set接口,不可以有重复的元素,是个无序的集合。
9.Vector 和 ArrayList的区别:
相同点: Vector和ArrayList 底层都是通过Objec数组来实现的。
不同点 :
1.ArrayList 是线程不同步,操作效率高。
Vector 线程是同步的,操作效率低。
2.ArrayList 是在jdk1.2出现的,Vector 是在jdk1.0就有了。
10.LinkedList与ArrayList有什么区别?
LinkedList:添加元素比较快,删除,查找比较慢,元素在内存中是无序的 。
ArrayList:是存在一个数组(Object[]),添加删除元素很慢,查找很快,元素在内存中是有序的,默认容量为10,如果默认的不够就增加为
原来的1.5倍。
11.数组(Array)和列表集合(ArrayList)有什么区别:
数组:可以包含基本数据类型和对象类型,它的空间是固定,空间不够时不能再次添加,需要时提前设置调试好空间大小。
ArrayList:只能包含对象类型,它的空间是动态增长的,如果空间不够的时候,它会创建一个比原来大一倍的新数组。
12.成员变量和局部变量额区别:
定义的位置 :
1.定义在类中,方法外。
2.局部变量是定义在方法中。
作用上:
1.成员变量是用来描述同一类事物(对象)的公共属性。
2.局部变量就是提供一个变量给方法使用
生命周期 :
1.成员变量随着对象的创建而创建,随着对象的消失而消失。
2.局部变量随着方法调用而创建,出了方法的作用域就消失。
初始值来区分:
1.成员变量,如果你没有赋值,它是有默认值的。
int 默认是0
float 默认是0.0f
double 默认是 0.0
boolean 默认 false
char 默认 ' '
String (引用类型)null;
2.局部变量:局部变量是没有初始值的,必须初始化才能使用。