今日內容介紹
一、變量
二、運算符java
* A: 什麼是變量? * a: 變量是一個內存中的小盒子(小容器),容器是什麼?生活中也有不少容器,例如水杯是容器,用來裝載水;你家裏的大衣櫃是容器,用來裝載衣褲;飯盒是容器,用來裝載飯菜。那麼變量是裝載什麼的呢?答案是數據!結論:變量是內存中裝載數據的小盒子,你只能用它來存數據和取數據。
* A: 計算機中儲存和運算的最小單位是? * a: 一個字節,也就是一個byte. * win+r--cmd--回車 * b: 經常使用儲存單位 *1B(字節) = 8bit *1KB = 1024B *1MB = 1024KB *1GB = 1024MB *1TB = 1024GB *1PB = 1024TB
* A: 數據類型四類八種 *四類 八種 字節數 數據表示範圍 *整型 byte 1 -128~127 short 2 -32768~32767 int 4 -2147483648~2147483648 long 8 -263~263-1 *浮點型 float 4 -3.403E38~3.403E38 double 8 -1.798E308~1.798E308 *字符型 char 2 表示一個字符,如('a','A','0','家') *布爾型 boolean 1 只有兩個值true與false
* A:常量的定義 * a: 整形常量默認是int類型 * b: 小數常量默認是double類型 * c: 定義長整形數據若是值超過int取值範圍後面要+"L" * d: 定義float類型的數據後面要+"f" 不然默認是double
* A: 定義變量的語法格式: 數據類型 變量名 = 變量值; * int a = 100; * B:代碼: public class Variable { public static void main(String[] args) { int a = 10; double b = 3.14; char c = 'z'; String s = "i love java"; a = 20; System.out.println(a); } }
* A: 案例演示 * a: 八種基本類型數據的建立
* A:案例演示 * 建立字符串數據類型變量 * String 是引用數據類型
* A:變量使用的注意事項 * a: 變量定義後能夠不賦值,使用時再賦值。不賦值不能使用。 public static void main(String[] args) { int x; x = 20; //爲x賦值20 System.out.println(x);//讀取x變量中的值,再打印 } * c: 變量使用時有做用域的限制。 public static void main(String[] args) { int x = 20; { int y = 20; } System.out.println(x);//讀取x變量中的值,再打印 System.out.println(y);//讀取y變量中的值失敗,失敗緣由,找不到y變量,由於超出了y變量做用範圍,因此不能使用y變量 }
* A: 自動類型轉換 * a:表示範圍小的數據類型轉換成範圍大的數據類型,這種方式稱爲自動類型轉換 自動類型轉換格式: 範圍大的數據類型 變量 = 範圍小的數據類型值; 如: double d = 1000; 或 int i = 100; double d2 = i;
* A: 強制類型轉換 *a: 表示範圍大的數據類型轉換成範圍小的數據類型,這種方式稱爲強制類型轉換 *b: 強制類型轉換格式: 範圍小的數據類型 變量 = (範圍小的數據類型) 範圍大的數據類型值; 如: int i = (int)6.718; //i的值爲6 或 double d = 3.14; int i2 = (int)d; //i2的值爲3
* A: 常見操做 運算符 運算規則 範例 結果 + 正號 +3 3 + 加 2+3 5 + 鏈接字符串 「中」+「國」 「中國」 - 負號 int a=3;-a -3 - 減 3-1 2 * 乘 2*3 6 / 除 5/2 2 % 取模 5/2 1 ++ 自增 int a=1;a++/++a 2 -- 自減 int b=3;a--/--a 2 * B: 注意事項 *a:加法運算符在鏈接字符串時要注意,只有直接與字符串相加纔會轉成字符串。 *b:除法「/」當兩邊爲整數時,取整數部分,舍餘數。當其中一邊爲浮點型時,按正常規則相除。 *c:「%」爲整除取餘符號,小數取餘沒有意義。結果符號與被取餘符號相同。 *d:整數作被除數,0不能作除數,不然報錯。 *e:小數作被除數,整除0結果爲Infinity,對0取模結果爲NaN * C:代碼演示 public class OperatorDemo1 { public static void main(String[] args) { /* * 常量使用算數運算符 */ System.out.println(10+20); /* * 變量使用算數運算符 */ int x = 10; int y = 20; //"+"做爲加法運算使用 int z = x + y; //"+"做爲鏈接字符串使用 System.out.println("x="+x); System.out.println("y="+y); System.out.println("z="+z); }
}code
* A:算數運算符++、--的使用 * a: ++運算符,會在原有值的基礎上自增1 * b: --運算符,會在原有值的基礎上自減1。 * B:++ -- 位置的使用 * a:++,--運算符後置時,先使用變量a原有值參與運算操做,運算操做完成後,變量a的值自增1或者自減1; * b:++,--運算符前置時,先將變量a的值自增1或者自減1,而後使用更新後的新值參與運算操做。
* A: 賦值運算符的使用 運算符 運算規則 範例 結果 = 賦值 int a=2 2 += 加後賦值 int a=2,a+=2 4 -= 減後賦值 int a=2,a-=2 0 *= 乘後賦值 int a=2,a*=2 4 /= 整除後賦值 int a=2,a/=2 1 %= 取模後賦值 int a=2,a%=2 0 * B:案例演示 * 賦值運算符 * +=, -=, *=, /=, %= : * 上面的運算符做用:將等號左右兩邊計算,會將結果自動強轉成等號左邊的數據類型,再賦值給等號左邊的 * 注意:賦值運算符左邊必須是變量 public class OperatorDemo2 { public static void main(String[] args) { byte x = 10; x += 20;// 至關於 x = (byte)(x+20); #無須使用強轉 System.out.println(x); } }
* A:比較運算符的使用 運算符 運算規則 範例 結果 == 相等於 4==3 False != 不等於 4!=3 True < 小於 4<3 False > 大於 4> 3 True <= 小於等於 4<=3 False >= 大於等於 4>=3 True
* A: 邏輯運算符的使用 運算符 運算規則 範例 結果 & 與 false&true False | 或 false|true True ^ 異或 true^flase True ! 非 !true Flase && 短路與 false&&true False || 短路或 false||true True 規律小結: 短路與&&:參與運算的兩邊數據,有false,則運算結果爲false; 短路或||:參與運算的兩邊數據,有true,則運算結果爲true; 邏輯非! : 參與運算的數據,原先是true則變成false,原先是false則變成true。 ^亦或:兩邊條件同樣那麼爲false,兩邊條件不一樣爲ture; #通常此種運算符號只用三種:段路與,短路或和非
* A: 格式: (條件表達式)?表達式1:表達式2; * B: 代碼案例 方式一: System.out.println( 3>2 ? 「正確」 : 「錯誤」 ); // 三元運算符運算後的結果爲true,運算結果爲表達式1的值「正確」,而後將結果「正確」,在控制檯輸出打印 方式二: int a = 3; int b = 4; String result = (a==b) ? 「相等」 : 「不相等」; //三元運算符運算後的結果爲false,運算結果爲表達式2的值「不相等」,而後將結果賦值給了變量result 方式三: int n = (3>2 && 4>6) ? 100 : 200; //三元運算符運算後的結果爲false,運算結果爲表達式2的值200,而後將結果200賦值給了變量n
優先級 描述 運算符 1 括號 ()、[] 2 正負號 +、- 3 自增自減,非 ++、--、! 4 乘除,取餘 *、/、% 5 加減 +、- 6 移位運算 <<、>>、>>> 7 大小關係 >、>=、<、<= 8 相等關係 ==、!= 9 按位與 & 10 按位異或 ^ 11 按位或 | 12 邏輯與 && 13 邏輯或 || 14 條件運算 ?: 15 賦值運算 =、+=、-=、*=、/=、%= 16 位賦值運算 &=、|=、<<=、>>=、>>>=
如今咱們來作一個複雜點的案例——商場庫存清單案例,這個案例最終會在控制檯輸出以下結果:
blog
A: 案例分析. * a:觀察清單後,可將清單分解爲三個部分(清單頂部、清單中部、清單底部) * b:清單頂部爲固定的數據,直接打印便可 * c:清單中部爲商品,爲變化的數據,須要記錄商品信息後,打印 通過觀察,咱們肯定一項商品應該有以下幾個屬性: 品牌型號: 即商品名稱,String型 尺寸:物品大小,double型 價格:物品單價,double型 配置:這一項爲每種商品的配置信息,String型 庫存數:這一項爲每種商品的庫存個數,int型 * d:清單底部包含了統計操做,需通過計算後,打印 咱們發現兩個單獨的可變化量 總庫存數:全部商品總個數,int型 庫存商品總金額:全部商品金額,double型 B: 案例代碼實現 //步驟一: 建立Demo01庫存清單.java文件,編寫main主方法 public class Demo01庫存清單 { public static void main(String[] args) { } } //步驟二: 記錄每種庫存商品信息 //蘋果筆記本電腦 String macBrand = "MacBookAir"; double macSize = 13.3; double macPrice = 6988.88; int macCount = 5; //聯想Thinkpad筆記本電腦 String thinkpadBrand = "ThinkpadT450"; double thinkpadSize = 14.0; double thinkpadPrice = 5999.99; int thinkpadCount = 10; //華碩ASUS筆記本電腦 String ASUSBrand = "ASUS-FL5800"; double ASUSSize = 15.6; double ASUSPrice = 4999.50; int ASUSCount = 18; //步驟三: 統計庫存總個數、庫存總金額 int totalCount = macCount + thinkpadCount + ASUSCount; double totalMoney = (macCount * macPrice) + (thinkpadCount * thinkpadPrice) + (ASUSCount * ASUSPrice); //步驟四: 列表頂部 System.out.println("------------------------------商城庫存清單-----------------------------"); System.out.println("品牌型號 尺寸 價格 庫存數"); 步驟四:打印庫存清單中部信息 //列表中部 System.out.println(macBrand+" "+macSize+" "+macPrice+" "+macCount); System.out.println(thinkpadBrand+" "+thinkpadSize+" "+thinkpadPrice+" "+thinkpadCount); System.out.println(ASUSBrand+" "+ASUSSize+" "+ASUSPrice+" "ASUSCount); 打印庫存清單底部信息 //列表底部 System.out.println("-----------------------------------------------------------------------"); System.out.println("總庫存數:"+totalCount); System.out.println("庫存商品總金額:"+totalMoney);