1. 程式人生 > >2018-12-25 課堂筆記&面試題

2018-12-25 課堂筆記&面試題

面試題一、Java中,八大基本資料型別有哪些?
答:數值型:整型(byte、short、int、long)浮點型(float、double)
非數值型:布林型別(boolean)字元型(char)。
注意:字串String不屬於八大資料型別。

面試題二、==和equals的區別
答:==通常做數值的關係比較,
equals通常做引用型數值型別的相等比較。
==比較的是變數的地址是否同一地址,
equals比較的是變數指向的值是否相同的。

注意:==比較的是地址,equals是比較值。

面試題三、如何已最快的方式求出2的3次方?
答:System.out.print(2<<2);

解析:將2往左移動兩位。

面試題四、6&7=? 6|7=?
   110 110
 &111 |111
   110 111
答:6二進位制110 7二進位制111

面試題五、&和&&的區別?

1、&表示邏輯且,無論第一個運算元是否位true,第二個操作都執行。
&&表示短路且,第一個運算元false,後面操作都不執行,結果返回false。
2、&還可以用作位運算子,&&只能做邏輯運算子。

 

賦值運算子 =
變數 變數型別 變數名 = 變數值;
常量 final 常量型別 常量名 = 常量值;

變數名規範: name 45asd aaa a_aa loginName
name2 _asda $asda admin asd

 

算術運算子 + - * / % ++ -- += -= *= /=
int a = 1;
int sum = (a++) + (++a) + (a--) + (++a) + (--a) + (a++) + (++a);
18     1 3 3 3 2 2 4

int a = 1;
int b = 2;
b += a; b = b+a;

int c = 2;

int d = 4;

D += c; D= D+c;

 

int a = 1;

double aa = a;
自動型別轉換:1、型別可以相容 2、目標型別大於源型別
double b = 2.1;
int bb = (int)b;
強制型別轉換:1、型別可以相容 2、目標型別小於源型別


關係運算符:==等於 !=不等於 >大於 < 小於 >=大於等於 <=小於等於
== !=可以比較所有型別 > < >= <= 只能比較數值

基本資料型別,在做關係運算時:直接將變數值進行比較運算。
引用型資料型別,在做關係運算時:比較的是地址。


邏輯運算子:&&-且 ||-或 !-非
或:|邏輯或 ||短路或
案例:(1>2)||(2>1)=true;或運算只要符合一個true,全為true。
且:&邏輯且 &&短路且
案例:(1>2)&&(2>1)=true;且運算只要一個false,全為false。

條件運算子:
做我女朋友好嗎?“幸福”:“單身狗”;
2<3?true:false;

位運算子:

& 按位且

 | 按位或

 ^ 按位且或

 ~ 按位非|取反

<< 左移  右側空位補0

>> 右移 

>>>無符號右移