在java中,它們的區別?

2021-06-26 22:27:36 字數 2265 閱讀 9069

&與&&的區別:

1)&和&&都可以用作邏輯與的運算子

,表示邏輯與(and),當運算子兩邊的表示式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。 2)

&&還具有短路的功能

,即如果第乙個表示式為false,則不再計算第二個表示式,例如,對於if(str!=null&&!str.equals(「」))表示式,當str為null時,後面的表示式不會執行,所以不會出現nullpointerexception如果將&&改為&,則會丟擲nullpointerexception異常。 3)

&還可以用作位運算子

,當&操作符兩邊的表示式不是boolean型別時,&表示按位與操作。

「==」和equals方法的區別:

int a=10; int b=10; 則a==b將是true。 但不好理解的地方是: string a=new string( "foo "); string b=new string( "foo "); 則a==b將返回false。 

物件變數其實是乙個引用,它們的值是指向物件所在的記憶體位址,而不是物件本身。a和b都使用了new操作符,意味著將在記憶體中產生兩個內容為 "foo "的字串,既然是「兩個」,它們自然位於不同的記憶體位址。a和b的值其實是兩個不同的記憶體位址的值,所以使用 "== "操作符,結果會是false。誠然,a和b所指的物件,它們的內容都是 "foo ",應該是「相等」,但是==操作符並不涉及到物件內容的比較。 物件內容的比較,正是equals方法做的事。 看一下object物件的equals方法是如何實現的: boolean equals(object o) object物件預設使用了==操作符。所以如果你自創的類沒有覆蓋equals方法,那你的類使用equals和使用==會得到同樣的結果。同樣也可以看出,object的equals方法沒有達到equals方法應該達到的目標:比較兩個物件內容是否相等。因為答案應該由類的建立者決定,所以object把這個任務留給了類的建立者。

i++和++i的區別:

int a=6,b=7;

int s=(a++ + ++b)-(++a -4);---->s=(6+7)-(7-4)

i++ 表示i的值作為表示式的值,然後i自加1.而 a = ++i,相當於 i=i+1; a = i; ++i 表示i先自加1再作為表示式的值,

而 a = i++,相當於 a = i; i=i+1;

while 和do while的區別:
while(表示式)
dowhile(表示式)
在語句塊中就可知道它們的區別:while是先會進行條件判斷,當條件為ture的時候執行迴圈體,直到條件為false跳出迴圈體
do..while是先會執行迴圈體,再去判斷條件是否為true,要注意的是不管條件是否為true,do..while至少會執行一次迴圈體。
break和continue的區別:

程式進入迴圈體後在下次迴圈判斷之前執行迴圈體裡的所有語句,break和continue語句可以終止迴圈或忽略某些迴圈。

//列印三角形

//for(int i=0;i<6;i++)

"");

//break;//程式直接跳出迴圈,執行迴圈外的程式

//}

break:此語句導致程式終止包含它的迴圈,並進行程式的下一階段(整個迴圈後面的語句),即,不是跳到下乙個迴圈週期而是退出迴圈。如果break語句包含在巢狀迴圈裡,它只跳出最裡面的迴圈。

switch和if的區別:

scanner g=new scanner(system.in);

"請輸入你的成績:");

//int number=g.nextint();

//if(gread>=90)else if(gread>=80)else if(gread>=60)

//else

switch (gread)

個人覺得switch和if用法上和功能都是差不多,不過從這兩塊**中可以看出想要以範圍的形勢去得到乙個結果,最好是用if語句更好一些,因為case的只能是乙個規定的格式(只能用int char string型別),當以乙個值或者字元去得到乙個結果是時,使用switch更簡潔方便些。

類,物件,以及它們的區別

1 類的概念 1.1類是對具有相似屬性和行為的一組物件的統一描述 1.2類是把各種不同型別的資料和對資料的操作組織在一起形成的使用者自定義的資料型別 如下 選單型別 一 建立乙個類固定寫法 public class 類名稱 規範 定義類的名稱時 1.類名稱由乙個或者多個英文單詞組成,每個單詞的首字母...

TCP和UDP及它們的區別

tcp和udp是osi模型中的運輸層中的協議。tcp提供可靠的通訊傳輸,而udp則常被用於廣播和細節控制交給應用的通訊傳輸 udp user datagram protocol udp不提供複雜的控制機制,利用ip提供面向無連線的通訊服務。並且它是將應用程式發來的資料在收到的那一刻,立刻按照原樣傳送...

This在java中的運用

1 當有成員變數和區域性變數重名時。用this來表示成員變數。public class thisdemo public static void main string args 2 返回類自身的引用 public class thiszisheng private void print public...