postgresql自動建立分割槽
常用的運算子
1. 型別轉換
在 Java 中存在自動資料型別轉換和強制資料型別轉換。
-
自動資料型別轉換:取值範圍小的型別可以自動轉換為取值範圍大的型別
double num = 10;
-
強制資料型別轉換:取值範圍大的型別無法直接轉換為取值範圍小的型別
- 可以幫助我們實現取整的效果
int num = (int)10.5
型別轉換也不是萬能的,Java 前期可以轉換的就是 byte、short、int、long、float、double、char這些。
自動轉換例如:
byte b = 10;
int num = b;
強制轉換例如:
int num = 10;
byte b = num;
字元的祕密
// 自動型別轉換
char alpha = 'a';
int num = alpha;
System.out.println("num:" + num); // 97
// 強制型別轉換
int num1 = 99;
char alpha1 = (char) num1;
System.out.println("alpha1:" + alpha1); // c
它們的轉換遵循了相應的碼錶,例如:ASCII碼錶。a是97、A是65…
2. 賦值運算子
=
號在各種程式語言中,不再表示相等,而是表示賦值。
只有極個別的語言,=號又表示賦值,又表示相等。
// 讀法:將數字10賦值給變數num
// 將等號右側的賦值給等號左側的
int num = 10;
// 變數和變數之間的賦值
// 將num的值賦值給變數num2
int num2 = num;
3. 算術運算子
+ 加法
- 減法
* 乘法
/ 除法
% 取餘數
++ 自增
-- 自減
四則運算
int num1 = 11;
int num2 = 2;
System.out.println(num1 / num2); // 5
在 Java 中進行數學計算時,有時候會出現與傳統數學觀念不符的情況,例如: 11 / 2
應該等於 5.5,但結果為 5。
是由於 11 和 2 都是整數,那麼在計算的時候,對於結果的型別也是採用整數。(在計算的時候,計算結果的型別是由計算的值中取值範圍最大的型別)
如果真的想得到 5.5,需要如下做:
int num1 = 11;
int num2 = 2;
System.out.println(num1 * 1.0 / num2); // 5.5
自增和自減
++ 自增1
– 自減1
int num1 = 10;
// ++ num1;
// num1 ++; 抽象理解為: num1 = num1 + 1
// num1 --;
-- num1; // 抽象理解為:num1 = num1 - 1
// System.out.println(num1); // 11
System.out.println(num1); // 9
當 ++ 和 – 在單獨使用時,效果上沒有任何區別。
但是當 ++ 和 – 在被使用或參與計算時,效果上有不同。
- 前
++
:在使用時會先對變數自增1,然後再使用變數 - 後
++
:在使用時會先使用變數,然後再對變數自增1
int num1 = 10;
// int num2 = num1 ++ - 2;
// System.out.println(num1 ++); // 10
// System.out.println(num1); // 11
System.out.println(++ num1); // 11
System.out.println(num1); // 11
字元的祕密
字元是可以和數值轉換的。
char alpha1 = 'a';
alpha1 ++; // 理解為:alpha1 = alpha1 + 1
System.out.println(alpha1); // b
char alpha2 = 'b';
// 在計算時,結果的型別是取值範圍大的型別
System.out.println(alpha2 + 1); // 99
4. 複合賦值運算子
+=
-=
*=
/=
%=
int num1 = 10;
num1 += 2; // 理解為: num1 = num1 + 2
System.out.println(num1); // 12
int num2 = 12;
num2 -= 3; // 理解為:num2 = num2 - 3
System.out.println(num2); // 9
以後可以利用 += 和 -= 做累加運算。
例如:求1到10的和。
int num = 1;
num += 2; // num = num1 + 2
num += 3; //
num += 4;
…
5. 關係運算符
比較運算子,可以用來做判斷,比較運算子的計算結果是 布林型別 值。
true(真) 和 false(假)
- >
<
>=
<=
==
相等!=
不相等
=號代表賦值,==才代表相等。
6. 邏輯運算子
&&
短路與,並且||
短路或,或者!
非,取反
// System.out.println(!true);
// System.out.println(!false);
double javaScore = 59;
// 判斷是否>=60
System.out.println(javaScore >= 60);
// 判斷是否<60
System.out.println(javaScore < 60);
System.out.println(!(javaScore >= 60));
短路
// 將數字7賦值給變數num1
int num1 = 7;
// 右邊在做邏輯運算
// false && true
boolean flag2 = false && (++ num1 == 8);
System.out.println(flag2); // false
System.out.println(num1); // 7
短路與和短路或,代表的是如果前面的條件能夠得到最終結果,那麼後面的條件就不再進行了!
false && true
只要有一個為false,結果就為false- 面試要求你學歷本科,經驗5年以上
true || false
只要有一個為true,結果就為true
還有一個 & 和 | 也可以表示邏輯關係,但是一般不用,因為它們無論是否能從前面條件得到最終結果,都要對所有條件進行計算。
所以 && 和 || 可以優化程式執行效能。
7. 三元運算子
Scanner scan = new Scanner(System.in);
System.out.print("請輸入您的年齡:");
int age = scan.nextInt();
String result = (age >= 18) ? "快來玩啊!" : "小屁孩給爺爪巴!";
System.out.println(result);