Java 基本文法----變數

來源:互聯網
上載者:User

標籤:整數   自動   技術分享   字元類型   成員變數   標示   不能   注意   引用   

變 量

變數的概念

記憶體中的一個儲存地區
該地區有自己的名稱(變數名)和類型(資料類型)
Java中每個變數必須先聲明,後使用
該地區的資料可以在同一類型範圍內不斷變化
定義變數的格式:資料類型 變數名 = 初始化值

 

 1 public class Test{ 2  3     //成員變數 4     int c = 12; 5     public static void main(String [] args){ 6          7         //聲明了一個變數, 局部變數 8         int a = 12; 9         a = 15;10         11         System.out.println(a);12         13         //關於變數的範圍14         {15             int b = 20;16             System.out.println(b);17             System.out.println(a);    18         }19         20         //System.out.println(b);21     }22 }

 

 

變數是通過使用變數名來訪問這塊地區的
Java是強型別語言,每個變數必須先宣告類型,後使用
使用變數注意:
變數的範圍:一對{ }之間有效

 

變數的分類

按被聲明的位置劃分:
成員變數:方法外部、類的內部定義的變數
局部變數:方法或語句塊內部定義的變數
注意:類外面(類對應的大括弧外面)不能有變數的聲明
按所屬的資料類型劃分:
基礎資料型別 (Elementary Data Type)變數
引用資料類型變數


變數的分類-按資料類型

對於每一種資料都定義了明確的具體資料類型,在記憶體中分配了不同大小的記憶體空間。

 

 

整數類型:byte、short、int、long

Java各整數類型有固定的表數範圍和欄位長度,不受具體 OS 的影響,以保證 java 程式的可移植性。
Java 的整型常量預設為 int 型,聲明 long 型常量須後加 ‘l’ 或 ‘L’

//整型byte i1 = 124;short i2 = 3456;int i3 = 3456789;long i4 = 2345L;


 

浮點類型:float、double

與整數類型類似,Java 浮點類型也有固定的表數範圍和欄位長度,不受具體OS的影響。
Java 的浮點型常量預設為 double 型,聲明 float 型常量,須後加 ‘f’ 或 ‘F’。

 

//浮點型//Java 的浮點型常量預設為 double 型,聲明 float 型常量,須後加 ‘f’ 或 ‘F’。float i5 = 12.34F;        //注意: 直接給 byte 類型的變數賦值為一個合法範圍內的數值, 可以通過編譯.//而直接給 float 類型的變數賦值為一個合法範圍內的浮點型, 則不能通過編譯byte i6 = 12;float i7 = 12;        //i6 = 9;//int i8 = 9;//出現編譯錯誤. //i6 = i8;

 

 

 

浮點型常量有兩種表示形式:
十進位數形式:如:5.12 512.0f .512 (必須有小數點)
科學計數法形式:如:5.12e2 512E2 100E-2

 

字元類型:char

char 型資料用來表示通常意義上"字元"。
字元型常量的三種表現形式:
字元常量是用單引號(‘ ’)括起來的單個字元,涵蓋世界上所有書面語的字元。例如:char c1 = ‘a‘; char c2 = ‘中‘; char c3 = ‘9‘;
Java中還允許使用逸出字元‘\’來將其後的字元轉變為特殊字元型常量。例如:char c3 = ‘\n‘; -- ‘\n‘表示分行符號
直接使用 Unicode 值來表示字元型常量:‘\uXXXX’。其中,XXXX代表一個十六進位整數。如:\u000a 表示 \n。

 

//字元型char c1 = ‘尚‘;System.out.print(c1);        //逸出字元char c2 = ‘\n‘;System.out.print(c2);        //System.out.println() 列印後換行, System.out.print() 列印後不換行System.out.println(c1);    //使用 unicode 編碼來標示字元char c3 = ‘\u0061‘;System.out.println(c3); //‘a‘        System.out.println(c3 + 1); //‘b‘//使用強制類型轉換System.out.println((char)(c3 + 1));    //String str = "abcde";

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


布爾類型:boolean

boolean 類型適於邏輯運算,一般用於程式流程式控制制:
if條件控制語句;
while迴圈控制語句;
do-while迴圈控制語句;
for迴圈控制語句;

//boolean 類型boolean b1 = true;b1 = false;        //不可以0或非 0 的整數替代true和false,這點和C語言不同。//b1 = 0;

boolean類型資料只允許取值true和false,不可以0或非 0 的整數替代true和false,這點和C語言不同。

 

基礎資料型別 (Elementary Data Type)轉換

自動類型轉換:容量小的類型自動轉換為容量大的資料類型。資料類型按容量大小排序為:

有多種類型的資料混合運算時,系統首先自動將所有資料轉換成容量最大的那種資料類型,然後再進行計算。

//1. 自動類型轉換int i9 = 123;float i10 = i9;


byte,short,char之間不會相互轉換,他們三者在計算時首先轉換為int類型。
當把任何基本類型的值和字串值進行串連運算時(+),基本類型的值將自動轉化為字串類型。


強制類型轉換

自動類型轉換的逆過程,將容量大的資料類型轉換為容量小的資料類型。使用時要加上強制轉換符(()),但可能造成精度降低或溢出,格外要注意。

//使用時要加上強制轉換符 ()float i11 = 12F;int i12 = (int)i11;


通常,字串不能直接轉換為基本類型,但通過基本類型對應的封裝類則可以實現把字串轉換成基本類型。如: String a = “43”; int i = Integer.parseInt(a);

//注意: 不相容的類型之間不能轉換//1. 字串不能直接轉換為基本類型//2. boolean類型不可以轉換為其它的資料類型        //3. 有多種類型的資料混合運算時,//系統首先自動將所有資料轉換成容量最大的那種資料類型,然後再進行計算//兩個 int 類型相除的結果仍是一個 int 類型. //以下代碼編譯出錯. //int i13 = 12 / 5.0F;//System.out.println(i13);        //4. byte,short,char之間不會相互轉換,他們三者在計算時首先轉換為int類型。byte i14 = 12;byte i15 = 13;        //以下代碼編譯出錯. //byte i16 = i14 + i15;

boolean類型不可以轉換為其它的資料類型。

Java 基本文法----變數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.