變量和數據類型

1、標識符

1.1作用

 給變量、類和方法命名

1.2Java標識符命名規則

  • 標識符必須以字母、下劃線、美元符$開頭
  • 標識符其他部分可以是字母、下劃線、美元符和數字的任意組合。
  • Java語言對字母大小寫有嚴格要求,必須區分大小寫
  • 標識符長度無限制,命名最好反應其作用
  • 標識符不可以是Java關鍵字

1.3Java標識符命名方法 

變量: 首字母小寫和駝峯原則:run() ,runRun()  ,age ageNew  

常量: 大寫字母和下劃線:MAX_VALUE 

類名: 首字母大寫和駝峯原則:Man GoodMan

注:

  1. Java採用的是Unicode字符集,所以這裏的“字母”可以是 漢字(不建議使用)
  2. Unicode字符集用兩個字節(一個字節是八位)標示一個字符2^16=65536

2、字符集

  • ISO8859-1:西歐字符集                                                                                              
  • BIG5:臺灣的大五碼,表示繁體漢字
  • GB2312:大陸使用最早、最廣的簡體中文字符集
  • GBK:GB2312的擴展,可以表示繁體中文
  • GB18030:最新GBK擴展,中國所有非手持、嵌入式計算機系統的強制實施標準,可以表示漢字、維吾爾文、藏文等中華民族字符
  • Unicode:國際通用字符集

                                                                    

 

                        

 

3、Java數據類型

  

 3.1整數類型

       byte    1字節  -128——127 如果數據的大小未超過其表述範圍,則可自動轉型。
       short   2字節  
       int     4字節  在整形常量中,默認爲int
              定義16進制的時候可以寫成      int i=0X**;
              定義8進制輸的的時候可以寫成    int i=0**;
              定義2進制數的時候可以寫成     int i=0b***; 
       long    8字節  聲明時需要在後邊加個L進行轉型(建議用大寫)
       BigInteger是表述大整數的類 進制之間轉換的類
       Integer.toBinaryString(轉成八進制)
       Integer.toHexString(轉成十六進制)

3.2浮點型 

浮點數具有舍入誤差(BigDecimal 沒有誤差)使用時避免使用浮點數進行比較 
float  4字節  聲明時需要在後邊加個F進行轉型 
double 8字節  浮點數默認爲double  

3.3字符型 

採用的是Unicode字符集
char 的範圍在0----65533內,運算時可以直接按照整數來運算 
把整數轉換成char類型時可是使用強制類型轉換(循環打印的實現)  

3.4字符串 

Java中把字符串定義成了String類 

3.5布爾類型

 boolean不是一個字節,只佔一位 
 boolean類型只有兩個值true和false

4、類型轉換

   4.1 自動類型轉換 

  容量小的類型可以自動轉換成容量大的數據類型 整形類型可以直接付給byte short char(在範圍之內的) 

   4.2 強制類型轉換 

  • 轉換方式是在類型前加一個------(要轉換的類型) 
  • 強制類型轉換的時候可能損失精度 轉換時超過範圍時,會轉換成一個完全不同的值(無意義的值)
  • 運算時所有的二元運算符都會有類型提升的問題,向大的類型提升. 類型提升時整個表達式都會提升 
  • 強制類型轉換的時候,只取整數部分,小數部分直接省略 

  4.3 本類型轉換的時候常出現的錯誤 

  當轉換時數值溢出的時候會得到一個錯誤的值,需要先進行轉型再運算

   4.4自動類型轉換圖解

 

 

  

 

 5、變量

Java是一種強類型語言,每個變量都必須聲明其類型. 變量的聲明和初始化不一定要在同時,一行可以聲明多個變量. 
命名規則,首字母小寫和駝峯原則(首單詞小寫,後邊的首字母大寫)。

5.1局部變量

在方法內部或語句塊內部的變量 
使用前必須聲明並且初始化

5.2實例變量

實例變量又稱爲成員變量或屬性 

5.3常量

關鍵字:final
只能初始化(賦值)一次,一般情況,常量使用大寫來區分,單詞之間使用下劃線來區分

6、運算符

6.1算數運算符 

算數運算符包括:+ , - , * , / , % , ++ , --  

%取餘:小數也可以取餘

++自增

a++:先運算再自增 

++a:先自增後運算 

int a = 3;-->3 

int b = a++;-->3 

int c = ++a;-->4 

--自減:

a--:先運算再自減 

--a:先自減後運算 

6.2 賦值運算符

賦值運算符:=

6.3關係運算符 

> , < , >= , <= , == , != , instanceof(判斷類型是否一致

6.3邏輯運算符 

操作的是布爾變量 ,包括&& , || , ! 

邏輯與:&& 

有一個爲false結果便爲false,所以設計成短路運算(第一個爲false時第二個便不再運算

邏輯或:|| 

有一個爲true則結果爲true,此次也設計成了短路運算(第一個爲true時第二個便不再運算

邏輯非:! ,取與其相反的值

6.4位運算符 

位運算符包括:& , | , ^ , ~ , >> , << , >>> 

取反:~,2進制中第一位代表符號 

按位與:& 11,00,  boolean運算也可以使用位運算 

按位或:| 0, 1

按位異或:^相同爲0,相異爲1  

左移位:<<相當於乘以

帶符號右移位:>>相當於除以2,  

無符號右移位:>>>相當於除以2, 最高位補

6.5條件運算符 

條件運算符:? , :  

三目運算符:x?y:z 

其中xboolean類型的表達式,xtrue,則整個三目運算符結果爲y,否則結果爲

6.6擴展賦值運算符 

擴展賦值運算符包括:+= , -= , *= , /= 

賦值運算符相當於先運算再賦值 
例如:a=a+5; <==> a+=5; 

6.7字符串連接符 

如果+兩邊有一個是字符串,則不再是運算符,而變成字符串連接符.  

6.8運算符的優先級

 

 

 

 

 

 

 

                                                                                                                                        


 























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