自動轉換
1、特點:**不需要進行特殊處理,自動進行
2、規則:從【資料範圍小的】轉為【資料範圍大的】
byte、short、char ‐‐> int ‐‐> long ‐‐> float ‐‐> double
public class datetype
}
強制轉換
1. 特點:**需要特殊處理,不能自動進行;
2. 規則:從【資料範圍大的】轉為【資料範圍小的】
3.注意:進行強轉時,可能會造成資料損失精度和資料溢位
int a = 2.5; // 錯誤,右邊為double型別大於int型別,所以會報錯
int a = (int) 2.5; //進行強制轉換為int型別,結果輸出為2,小數點丟失即損失精度。
int a = (int) 1000000000000l; //結果輸出為1705032704,超出int範圍,資料溢位。
ascii編碼表
char zifu = 'a';
system.out.println(zifu + 0); // 列印65
int a = 1;
system.out.println(zifu + 1); // 列印66
int num = zifu;
system.out.println(num); // 列印65
char zifu2 = '中'
system.out.println(zifu2 + 0); // 列印20013
算數運算子
-加 +
-減 -
-乘 *
-除 / (整型除法只取商,且商只能是整型,棄掉餘數)
-取模 % (只對整型除法有用,只取餘數,即取模)
-自增/自減運算子 ++變數、變數++、–變數、變數-- (變數自己+1/-1)
-1、單獨使用自增自減運算子時,放在變數前還是後無區別
-2、如果是和列印或者賦值語句混合使用,則:
-a、++變數時,變數先加上1再對變數結果進行使用。即先加後用
-b、變數++時,先對變數本來的值進行使用,再+1。即先用後加
//字串相加表示字串的拼接
string str1 = "hello";
string str2 = "world";
system.out.println(str1 + str2); // helloworld
//優先順序
system.out.println(str1 + 50); // hello50
system.out.println(str1 + 50 + 10); // hello5010
system.out.println(str1 + (50 + 10)); // hello60
//自增自減運算子
int a = 10;
system.out.println(a); // 10
++a;
system.out.println(a); // 11
a++;
system.out.println(a); // 12
int b = 20;
system.out.println(++b); // 21
system.out.println(b); // 21
int b = 20;
system.out.println(b++); // 20
system.out.println(b); // 21
int x = 10;
int y = 20;
int result = ++x + y--
system.out.println(result); // 31
system.out.println(x); // 11
system.out.println(y); // 19
復合賦值運算子
-=、+=、*=、/=、%=
//賦值運算自帶強制轉換型別
short a += 1; // short a = (short) (a + 1)
比較運算子
>、<、>=、<=、==、!=
//不能進行連續比較
1 < x < 3 //這種是錯誤的
邏輯運算子
與 && :遇false則false
或 || :遇true則true
非 ! :遇true則false,遇false則true
-短路邏輯:
-與左邊若是false,則右邊不計算
-或左邊若是true,則右邊不計算
int a = 10;
system.out.println(4 < 3 && ++a); // false
system.out.println(a); // 10 與運算的短路,右邊++a不計算
int b = 10;
system.out.println(3 < 4 || ++b); // true
system.out.println(b); // 10 或運算的短路,右邊++b不計算
三元運算子
資料型別 變數名 = 條件判斷 ? 表示式a : 表示式b
-若條件成立則為true,將a賦值給變數
-若條件不成立則為false,將b賦值給變數
int a = 10;
int b = 20;
int max = a > b ? a : b;
//若a > b為true,則將a賦值給max,max == 10,否則將b賦值給max,max == 20.
// 右側表示式資料型別必須和左側變數的資料型別一致
格式
修飾符 返回值型別 方法名(引數列表)
public static void 方法名()
//返回值型別是void,多以大括號內不用寫return
呼叫
方法名()
呼叫練習
public class demo
public static void practice()
}/* 結果列印為
20011
*/
注意事項:
1、 方法必須定義在乙個類中
2、方法不能定義在另乙個方法中
Java 基礎學習02 資料型別轉換
上述規則用幾個例子來解釋 int a 1 short sh1 1 short sh1 sh1 1 錯誤 int c a sh1 正確 short sh2 a sh1 錯誤 long l1 111111111111l long l2 111111111111l long l3 l1 l2 正確大容器承...
java基礎 02資料型別
string的雜湊計算公式為 s 0 31 n 1 s 1 31 n 2 s n 1 取31為權 主要是因為31是乙個奇質數,所以31 i 32 i i i 5 i,這種位移與減法結合的計算相比一般的運算快很多。宣告陣列 string arrstr 推薦這種宣告方式 型別 變數 string arr...
Java資料型別轉換
1字串to整型 string num 111 int integer.parseint num 確保num 只有數字字元 1.1byte and string publicclasstestmain publicstaticbytestring2byte string input byte2stri...