精華筆記:
1. 變數:存數的
- 宣告:---------------在銀行開了個帳戶 - 初始化:--------------給帳戶存錢 - 使用:---------------使用的是帳戶里面的錢 - 對變數的使用就是對它所存的那個數的使用 - 變數在使用之前必須宣告并初始化 - 命名: - 只能包含字母、數字、_和$符,并且不能以數字開頭 - 嚴格區分大小寫 - 不能使用關鍵字 - 允許中文命名,但不建議,建議"英文的見名知意"、"小駝峰命名法"
2. 八種基本資料型別:byte、short、int、long、float、double、boolean、char
- int:整型,4個位元組,-21個多億到21個多億
- 整數直接量默認為int型別,但不能超出范圍,若超范圍則發生編譯錯誤 - 兩個整數相除,結果還是整數,小數位無條件舍棄(不會四舍五入) - 運算時若超范圍會發生溢位,溢位不是錯誤,但需要避免
- long:長整型,8個位元組,很大很大很大
- 長整型直接量需要數字后加L或l - 運算時若有可能溢位,建議在第1個數字后加L
- double:浮點型,8個位元組,很大很大很大
- 浮點數直接量默認為double型,若想表示float則需在數字后加F或f - double或float型資料運算時,有可能會發生舍入誤差,精確場合不能使用
- boolean:布爾型,1個位元組
- 只能取值為true或false
- char:字符型,2個位元組
- 采用Unicode編碼格式,一個字符對應一個碼
表現的形式是字符char,但本質上是碼int(0到65535之間)
ASCII碼:'a'---97 'A'---65 '0'---48
- 字符直接量必須放在單引號中,只能裝1個
- 特殊符號需要通過\來轉義
3. 型別間的轉換:
> 資料型別由小到大依次為:byte,short,int,long,float,double > > ? char
- 兩種方式:
- 自動/隱式型別轉換:小型別到大型別
- 強制型別轉換:大型別到小型別
> 語法:(要轉換成為的資料型別)變數 > > 注意:強轉有可能溢位或丟失精度
- 兩點規則:
- 整數直接量可以直接給byte,short,char賦值,但不能超范圍 - byte,short,char型資料參與運算時,系統會自動將其統一轉換為int再運算
## 筆記:
1. 變數:存數的
- 宣告:---------------在銀行開了個帳戶
```java int a; //宣告一個整型的變數,名為a int b,c,d; //宣告三個整型的變數,名為b,c,d //int a; //編譯錯誤,變數不能同名 ```
- 初始化:--------------給帳戶存錢
```java int a = 250; //宣告整型變數a并賦值為250------開戶的同時存了個250 int b; //宣告整型變數b b = 250; //給變數b賦值為250---------先開戶再存了個250 b = 360; //修改變數b的值為360 ```
- 使用:---------------使用的是帳戶里面的錢
- 對變數的使用就是對它所存的那個數的使用
```java int a = 5; int b = a+10; //取出a的值5,加10后,再賦值給整型變數b System.out.println(b); //輸出變數b的值15 System.out.println("b"); //輸出b,雙引號中的原樣輸出 a = a+10; //在a本身基礎之上增10 System.out.println(a); //15 ```
- 變數在使用之前必須宣告并初始化
```java System.out.println(i); //編譯錯誤,變數i未宣告 int i; System.out.println(i); //編譯錯誤,變數i未初始化 ```
- 命名:
- 只能包含字母、數字、_和$符,并且不能以數字開頭
- 嚴格區分大小寫
- 不能使用關鍵字
- 允許中文命名,但不建議,建議"英文的見名知意"、"小駝峰命名法"
```java int a1,a_5$,_3c,$_5; //int a*b; //編譯錯誤,不能包含*號等特殊符號 //int 1a; //編譯錯誤,不能以數字開頭 int aa = 5; //System.out.println(aA); //編譯錯誤,嚴格區分大小寫 //int class; //編譯錯誤,不能使用關鍵字 //int j; //不直觀,不建議 //int 年齡; //允許中文,但不建議 //int nianLing; //必須杜絕,既不直觀也不專業,不建議 int age; //建議"英文的見名知意" int score,myScore,myJavaScore; //建議"小駝峰命名法" ```
2. 八種基本資料型別:byte、short、int、long、float、double、boolean、char
- int:整型,4個位元組,-21個多億到21個多億
- 整數直接量默認為int型別,但不能超出范圍,若超范圍則發生編譯錯誤
```java int a = 25; //25為整數直接量,默認為int型別 //int b = 10000000000; //編譯錯誤,100億默認為int型別,但超出范圍了 //int c = 25.678; //編譯錯誤,資料型別不匹配 ```
- 兩個整數相除,結果還是整數,小數位無條件舍棄(不會四舍五入)
```java System.out.println(5/2); //2 System.out.println(2/5); //0 System.out.println(5/2.0); //2.5 ```
- 運算時若超范圍會發生溢位,溢位不是錯誤,但需要避免
```java int c = 2147483647; //int的最大值 c = c+1; System.out.println(c); //-2147483648(int的最小值),發生溢位了 ```
- long:長整型,8個位元組,很大很大很大
- 長整型直接量需要數字后加L或l
```java long a = 25L; //25L為長整型直接量 //long b = 10000000000; //編譯錯誤,100億默認為int型,但超出int范圍了 long c = 10000000000L; //100億L為長整型 ```
- 運算時若有可能溢位,建議在第1個數字后加L
```java long d = 1000000000*2*10L; System.out.println(d); //200億 long e = 1000000000*3*10L; System.out.println(e); //不是300億 long f = 1000000000L*3*10; System.out.println(f); //300億 ```
- double:浮點型,8個位元組,很大很大很大
- 浮點數直接量默認為double型,若想表示float則需在數字后加F或f
```java double a = 25.678; //25.678為浮點數直接量,默認double型 float b = 25.678F; //25.678F為float型 ```
- double或float型資料運算時,有可能會發生舍入誤差,精確場合不能使用
```java double c=3.0,d=2.9; System.out.println(c-d); //0.10000000000000009,有可能發生舍入誤差 ```
- boolean:布爾型,1個位元組
- 只能取值為true或false
```java boolean a = true; //true為布爾型直接量 boolean b = false; //false為布爾型直接量 //boolean c = 250; //編譯錯誤,資料型別不匹配 ```
- char:字符型,2個位元組
- 采用Unicode編碼格式,一個字符對應一個碼
表現的形式是字符char,但本質上是碼int(0到65535之間)
ASCII碼:'a'---97 'A'---65 '0'---48
- 字符直接量必須放在單引號中,只能裝1個
```java char c1 = '女'; //字符女 char c2 = 'f'; //字符f char c3 = '6'; //字符6 char c4 = ' '; //空格符 //char c5 = 女; //編譯錯誤,字符直接量必須放在單引號中 //char c6 = ''; //編譯錯誤,必須有字符 //char c7 = '女性'; //編譯錯誤,只能有1個位元組 char c8 = 97; //0到65535之間 //println()時會依據c8的資料型別來輸出資料 System.out.println(c8); //A,c8為char型別,所以會以字符的格式來輸出 ```
- 特殊符號需要通過\來轉義
```java char c9 = '\\'; //\為轉義符 System.out.println(c9); //\ ```
3. 型別間的轉換:
> 資料型別由小到大依次為:byte,short,int,long,float,double > char
- 兩種方式:
- 自動/隱式型別轉換:小型別到大型別
- 強制型別轉換:大型別到小型別
> 語法:(要轉換成為的資料型別)變數 > > 注意:強轉有可能溢位或丟失精度
```java int a = 5; long b = a; //自動型別轉換 int c = (int)b; //強制型別轉換 long d = 5; //自動型別轉換 double e = 5; //自動型別轉換 //練習-----------4:41繼續 long f = 10000000000L; int g = (int)f; System.out.println(g); //1410065408,強轉有可能發生溢位 double h = 25.987; int i = (int)h; System.out.println(i); //25,強轉有可能丟失精度 ```
- 兩點規則:
- 整數直接量可以直接給byte,short,char賦值,但不能超范圍
- byte,short,char型資料參與運算時,系統會自動將其統一轉換為int再運算
```java byte b1 = 5; byte b2 = 6; byte b3 = (byte)(b1+b2); System.out.println(2+2); //4 System.out.println(2+'2'); //52,2加上'2'的碼50 System.out.println('2'+'2'); //100,'2'的碼50,加上,'2'的碼50 System.out.println('2'); //2,只有運算時才會轉換為int型別 ```
## 補充:
1. 識別符號命名法:
- 小駝峰命名法:第1個單詞首字母小寫,其余單詞首字母大寫
```java score,myScore,myJavaScore------------變數 ```
- 大駝峰命名法/帕斯卡命名法:所有單詞首字母大寫
```java Score,MyScore,MyJavaScore-------------類 ```
2. 資料型別分類:基本資料型別和參考資料型別
3. 記憶體單位換算:
```java 1G=1024M(兆) 1M=1024KB(千位元組) 1KB=1024B(位元組) 1B=8bit(位) ```
4. Unicode:萬國碼、統一碼、通用碼,世界級通用的定長(固定16位)字符集
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/500629.html
標籤:Java
