歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java基礎從數組到集合之間關鍵字的區別

Java基礎從數組到集合之間關鍵字的區別

日期:2017/3/1 9:08:50   编辑:Linux編程

Java基礎從數組到集合之間關鍵字的區別

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.局部變量:局部變量是沒有初始值的,必須初始化才能使用。

Copyright © Linux教程網 All Rights Reserved