變量

變量是個代詞,指代數據,也就是代數。 是存放運算過程當中須要用到的數據
也是指代在內存中開闢的存儲空間。關於存儲,這個是一件很重要的概念,如今暫時不講。
1)聲明: int a;
2)命名:
首先要區分項目名 包名 類名 變量名 這四個名都叫作 Java標識符。
2.1)只能包含數字/字母/_/$/,且不能以數字開頭
2.2)不能佔用Java關鍵字
2.3)可使用漢字,但不建議(這個是特殊規則)
2.4)命名應見名知義  建議駝峯命名法(一個單詞就都小寫,多於一個單詞的變量名,那後面的首字母都要大寫)
帕斯卡命名法 適用於類 項目  而包名默認都是小寫 變量名則適用於駝峯命名法java

3)初始化
3.1)初始化就是第一次賦值
3.2)先聲明再初始化
4)使用git

4.1)對變量的使用就是對它所存的那個數據的使用(必定要清楚,計算機科學中數默認是一個大的範疇,即數據)
4.2)變量在使用以前必須聲明並初始化
4.3)對變量的使用要與變量的數據類型相匹配編碼


Java的8種基本數據類型,分別用於存儲整數/浮點數/字符數據/布爾類型數據;
8種基本數據類型 分爲4類 分別是整型/浮點型/字符型/布爾型
其中整型 整型有四種byte/short/int/long 浮點分爲float/double
常常用的5種,int,long,double,char,boolean
Java規定兩個整數相除,結果仍是整數,小數無條件捨棄
注意運算結果的溢出和精度丟失現象,這兩點都要在設計時避免。設計


literal 整數直接量 在Java中都默認爲int類型  整數直接量 通常會有10/16/8進制,
Java中若求百分比,須要先*100,由於若是後*100,那因爲捨棄小數後面的數字,整個算式結果爲0;code

//基本數據類型之間的轉換
運算時有可能溢出的話,L(long類型標識後綴)應放在前面,即在第一個數字後假L;
若是要表示float直接量,須要加F後綴;
double運算時會出現舍入偏差:
默認的浮點直接量爲double型;整數的直接量的類型默認爲int類型,若是直接寫出的整數超過了int的表達範圍,將會出現編譯錯誤;
二進制中沒法精確的表示1/10,就好像10進制沒法精確的表示1/3同樣,因此,2進製表示10進制會有一些舍入偏差,對於一些要求精確運算的場合會致使代碼的缺陷。e.g:
double money = 3.0;
double price = 2.9;
System.out.println(money - price);   //輸出的結果是: 0.10000000000000009
若是須要精確的運算能夠考慮放棄使用double或float而採用BigDecimal,相似於超出long類型的更大的整數 用BigInteger來實現。關於這一點,將在後續的章節中介紹。內存

boolean 只容許取值trur false
字符本質上是一個無符號整數
字符型變量賦值的3種形式
方式一:
字符直接量:形如‘A’,變量中實際存儲的是該字符的Unicode編碼(無符號整數值),一個char型變量只能存儲一個字符。示例以下:
char c1 = 'A';   
方式二:
整型直接量:範圍在0~65535之間的整數,變量中實際存儲的即該整數值,但表示的是該整數值所對應的Unicode字符。示例以下:
char c2 = 65;    
Unicode形式:形如‘\u0041’,Unicode字符的16進制形式。示例以下:
char c3 = '\u0041';
對於不方便輸出的字符能夠採用轉義字符來表示,轉義字符是\ 開頭,他有不少;ci

記住3個ASCII碼,‘a' --97 'A'---65 '0'--48it

ASCII碼是Unicode字符集編碼的一種表現形式
char c2 = '\u4e2d';   //‘4e2d’爲‘中’所對應的16位Unicode編碼的16進製表示形式,那\ 是表明Unicode格式編譯


基本數據的類型轉換import

自動轉  byte---short---int---long-----float----double
特別指出 char 也會自動轉爲int
強制轉 上述反向轉型則須要強制轉;強制轉可能形成溢出和精度丟失現象,若是在一個表達式中出現了多種數據類型,則運算結果會自動的向較大的類型進行轉化
e.g.
long l = 1024L * 1024 * 1024 * 4;
int j = (int) l;    //會產生溢出
System.out.println(j);  // 結果爲:0
double pi = 3.1415926535897932384;
float f = (float) pi;   //會形成精度的損失,由於單精度的精確度小於double
System.out.println(f);  //結果爲:3.1415927

int直接量能夠直接賦值給byte,short,char(e.g. '2'+'2' =100),但不能超出它們各自的範圍。
byte,short,char型數據參與運算先一概轉化爲int再計算
e.g.
short b1 = 5;
short b2 = 6;
short b3 =  (short)(b1 + b2);//特別須要注意強轉時對運算表達式加括號,以確立運算優先級


如今講Scanner;
給變量賦值的3個方式;
----------賦一個固定的值
----------由用戶輸入(import java.util.Scanner;Scanner 變量名 = new Scanner(System.in))
----------隨機賦值

 


P.S.
這裏我須要理清的概念是8種基本Java類型的存儲空間
byte---------1字節8位
short--------2字節16位
int-----------4字節32位
long---------8字節64位
float--------4字節32位
double-------8字節64位
char---------2字節16位
boolean------1字節8位
字節 Byte 習慣用B表示  位 bit是 二進制碼的英文詞組縮寫即 binary digit
RAM(隨機存取存儲器)和硬盤都使用字節做爲容量單位,文件大小也以字節爲單位顯示。

1 byte = 8 bits 8個二進制位 00000000-11111111 表示 0-255 共2^8 256個狀態 組合數公式 兩個字節有16位,能夠表示2^16種狀態 這個可能有點設計計算機科學的專業基礎知識了,我暫時理解的還不透徹。今天到此爲止吧。 1 MB = 8192 Bits 即8192個二進制位  

相關文章
相關標籤/搜索