JAVA入門之變量與類型

本篇博客主要是包括如下幾個部分。

  1. 關鍵字
  2. 標識符
  3. 變量
  4. 數據類型
  5. 類型轉換

1、關鍵字

1.1關鍵字的理解
我理解的關鍵字,被JAVA語言賦予了特殊含義,用作專門用途的單詞。換句話說, 我們在定義一個變量的時候是不允許使用這些關鍵字的,否則程序運行起來會出錯。
舉個直觀的例子,查看以下對話:
壞人:“你叫啊,你叫破喉嚨也沒有人來救你的。”
受害者:“破喉嚨!破喉嚨!”
沒有人:“何人在求救,我來救你啦”
何人:“我沒有在求救啊!”
……
這就是關鍵字被作爲變量名稱的反例,“破喉嚨”,“沒有人”,“何人”就是關鍵字,如果有人就叫這樣的名字的話,就會在對話中產生歧義。寫代碼也是一樣的道理。

1.2 java中有哪些關鍵字
用來定義數據類型的關鍵字
class,interface,enum,byte,short,int,long,float,double,char,boolean,void,true,flase,null
用來定義流程控制的關鍵字
if,else,switch,case,default,while,do,for,break,continue,return
用來定義訪問權限修飾符的關鍵字
private,protected,public
用於定義類,函數,變量修飾符的關鍵字
abstract,final,static,synchronized
用於定義 類與類之間關係的關鍵字
extends,implements
用於定義建立實例及引用實例判斷實例的關鍵字
new,this,super,instanceof
用於異常處理的關鍵字
try,catch,finally,throw,throws
用於包的關鍵字
package,import
其他修飾符關鍵字
native,strictfp,transient,volatile,assert,goto,const
建議不要強行記憶這些關鍵字,隨着學習的深入自然會掌握的。

2、 標識符

2.1、定義:JAVA對各種變量、方法、和類等要素命名時使用的字符序列稱爲標識符。
定義晦澀難懂,我的理解是凡是需要自己起名的地方就叫標識符

2.2、定義合法的標識符需要遵循以下規則:
1)由26個英文字母大小寫,數字0-9,_或$組成
2)數字不可以做開頭 不可以使用關鍵字和保留字,但能包含關鍵字和保留字
3)JAVA中嚴格區分大小寫,長度無限制
4)標識符不能包含空格
5)中文也可以用作標識符,不過不建議使用中文,建議使用英文單詞,不建議使用拼音
6)在起名字的時候爲了提高閱讀性,要儘量有意義,最好做到顧名思義。

2.3、標識符合法非法舉例
合法的:a、a1、month、a9b、y_,$23,_int
非法的:3a(數字開頭),this(關鍵字) ,a2#3(包含了特殊符號)

2.4、Java中的名稱命名規範:

  • 包名:多單詞組成時所有字母都小寫:concurrent
  • 類名接口名:多單詞組成時,所有單詞的首字母大寫:ConcurrentHashMap
  • 變量名和函數名:多單詞組成時,第一個單詞首字母小寫,第二個單詞開始每個單詞 - 首字母大寫:teacherAndStudent
  • 常量名:所有字母都大寫。多單詞時每個單詞用下劃線連接:YEAR_MONTH_DAY

3、變量

3.1變量的概念

  • 內存中的一個存儲區域
  • 該區域有自己的名稱(變量名)和類型(數據類型)
  • Java是強類型語言,每個變量必須先聲明類型,後使用.
  • 該區域的數據可以在同一類型範圍內不斷變化
  • 變量是通過使用變量名來訪問這塊區域的
  • 使用變量注意:變量的作用域:一對{ }之間有效

3.2 定義變量的格式 ;
數據類型 變量名 = 初始化值 例如 int number = 200;

3.3變量的分類
按被聲明的位置劃分:

  • 成員變量:方法外部、類的內部定義的變量
  • 局部變量:方法或語句塊內部定義的變量

按所屬的數據類型劃分:

  • 基本數據類型變量
  • 引用數據類型變量
    數據類型

4、數據類型

數據類型介紹。
主要介紹一下基本數據類型,包括整數型,浮點型,字符型,布爾型
4.1整數型
整數類型:byte、short、int、long
Java各整數類型有固定的表數範圍和字段長度,不受具體操作系統的影響,以保證 java 程序的可移植性。
Java 的整型常量默認爲 int 型,聲明 long 型常量須後加 ‘l’ 或 ‘L’ ,如 long a = 12L;

4.2浮點類型

  • 與整數類型類似,Java 浮點類型也有固定的表數範圍和字段長度,不受具體操作系統的影響。
  • Java 的浮點型常量默認爲 double 型,聲明 float 型常量,須後加 ‘f’ 或 ‘F’。

浮點型常量有兩種表示形式:

  • 十進制數形式:如:5.12 512.0f .512 (必須有小數點)
  • 科學計數法形式:如:5.12e2 512E2 100E-2

4.3字符類型:char
char 型數據用來表示通常意義上"字符"。
字符型常量的三種表現形式:

  1. 字符常量是用單引號(‘ ’)括起來的單個字符,涵蓋世界上所有書面語的字符。例如:char c1 = ‘a’; char c2 = ‘中’; char c3 = ‘9’;
  2. Java中還允許使用轉義字符‘\’來將其後的字符轉變爲特殊字符型常量。例如:char c3 = ‘\n’; – '\n’表示換行符
  3. 直接使用 Unicode 值來表示字符型常量:‘\uXXXX’。其中,XXXX代表一個十六進制整數。如:\u000a 表示 \n。

char 類型是可以進行運算的。因爲它都對應有 Unicode 值。

4.4布爾類型 boolean
boolean 類型適於邏輯運算,一般用於程序流程控制:

  • if條件控制語句;
  • while循環控制語句;
  • do-while循環控制語句;
  • for循環控制語句;

boolean類型數據只允許取值true和false,不可以0或非 0 的整數替代true和false,這點和C語言不同。
數據類型所佔空間及表示範圍
表示範圍是怎麼算的呢?對於整數型來說比較簡單,java中1字節對應計算機中8bit也就是8個格子,每個格子能存儲1或0,這樣排列組合起來,就有2的8次方=256個數,分開正負數來說,就有-128-127了 ,關於爲什麼是-128到127而不是-127到128,底層說起來比較複雜,涉及到源碼反碼補碼的知識,可以單開一個博客進行說明了。同理short有兩個字節,範圍就是2的16次方。分開正負來說就是圖中的樣子了。至於float與double的取值範圍讀者可以參考下面這篇文章

關於float/double的取值範圍和表示,作者:沈子恆

5類型轉換

5.1自動類型轉換:容量小的類型自動轉換爲容量大的數據類型。數據類型按容量大小排序爲:
容量大小

有多種類型的數據混合運算時,系統首先自動將所有數據轉換成容量最大的那種數據類型,然後再進行計算。
byte,short,char之間不會相互轉換,他們三者在計算時首先轉換爲int類型。
當把任何基本類型的值和字符串值進行連接運算時(+),基本類型的值將自動轉化爲字符串類型。
如下面的執行語句:
String a ="hello";
int number = 1234;
System.out.println(a+number);
輸出結果爲:hello1234 //是字符串類型

5.2強制類型轉換

自動類型轉換的逆過程,將容量大的數據類型轉換爲容量小的數據類型。
使用時要加上強制轉換符(()),但可能造成精度降低或溢出,格外要注意。
如:下列執行語句
long number = 432L;
int temp = (int) number ;
將一個長整形的數轉換爲了int類型,如果number數字比較小的話就沒有什麼問題,就怕超出了int的承受範圍,這時候再進行強轉的話就會產生精度丟失,就好比將一個大樓裏的人裝進一個房間,若是下班期間,大樓中只有值班大爺,將他一個人裝進一個屋子裏就沒問題,如果大樓裏坐滿了人,要這些人全部裝進一個屋子裏怎麼可能呢。一般要確保不會出問題的時候才這麼做。
通常,字符串不能直接轉換爲基本類型,但通過基本類型對應的包裝類則可以實現把字符串轉換成基本類型。如: String a = “43”; int i = Integer.parseInt(a);
boolean類型不可以轉換爲其它的數據類型。

如有不準確的地方歡迎在下方留言指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章