Java基礎文法(第一章變數)

來源:互聯網
上載者:User

標籤:而不是   表示   硬碟   image   通過   blog   指派   存放裝置   而且   

今日內容介紹

1、變數

2、 運算子

                                                                                             變數

 

1.1、變數概述

前面我們已經學習了常量,接下來我們要學習變數。在Java中變數的應用比常量的應用要多很多。所以變數也是尤為重要的知識點!

什麼是變數?變數是一個記憶體中的小盒子(小容器),容器是什嗎?生活中也有很多容器,例如水杯是容器,用來裝載水;你家裡的大衣櫃是容器,用來裝載衣褲;飯盒是容器,用來裝載飯菜。那麼變數是裝載什麼的呢?答案是資料!

結論:變數是記憶體中裝載資料的小盒子,你只能用它來存資料和取資料。

 

1.2 電腦儲存單元

變數是記憶體中的小容器,用來儲存資料。那麼電腦記憶體是怎麼儲存資料的呢?無論是記憶體還是硬碟,電腦存放裝置的最小資訊單元叫“位(bit)”,我們又稱之為“位元位”,通常用小寫字母b表示。而電腦最小的儲存單元叫“位元組(byte)”,通常用大寫字母B表示,位元組是由連續的8個位組成。

當程式需要使用儲存空間時,作業系統最小會指派給程式1個位元組,而不是1個位。你可能會說,如果程式只需要1個位的空間,系統指派不能只指派1個位嗎?答案是不能!這就像你只需要1支煙,你到商店去買煙,商店指派的最小單元是1盒(20支),他不可能賣給你1支煙。

你可能會想,1個位元組(8位)可以儲存很大的數值了,1位最大是9那麼8位最大值為99999999。你錯了,因為電腦是採用二進行儲存的,而不是我們生活中常用的十進位。所以1個位元組儲存的最大資料是11111111的位元。

除了位元組外還有一些常用的儲存單位,大家可能比較熟悉,我們一起來看看:

1B(位元組) = 8bit

1KB = 1024B

1MB = 1024KB

1GB = 1024MB

1TB = 1024GB

1PB = 1024TB

 

1.3  基本類型之4類8種

 

大衣櫃不能用來裝載水,水杯也不能用來裝載衣褲。這說明不同的容器裝載不同的物品。變數也是如此,在建立變數時需要指定變數的資料類型,例如整型變數、浮點型變數等等。

結論:變數必須要有明確的類型,什麼類型的變數裝載什麼類型的資料。

 

水杯是用來裝水的,那麼水杯能裝多少水呢?一噸?我們知道水杯在建立時不只確定了要裝載的是水(資料類型),而且還確定了能裝多少水(資料類型的具體種類)。變數也是如此,需要指定變數能裝載什麼類型的資料,同時也要指定變數能裝載多大的資料。

 

Java中基本類型一共4類,把這4類展開後共8種基本類型。我們今後編寫程式時使用的是這8種基本類型而不是4類,這8種基本類型指定了範圍。

 

 

1.4 常量與類型

前面我們說過100是整數常量,但它是byte、short、int、long中的哪一種呢?下面我們來聊聊這一常量類型的問題。

整數常量可以根據所在範圍來確定類型,例如100在-128~127之間,所以他是byte類型;500在-32768~32767之間,所以它是short類型;100000在-2147483648~2147483648之間,所以它是int類型。java中預設的整數類型是int類型

你可能會認為12345678901在-263~263-1之間,所以它是long類型。注意了,這是錯誤的!!!在Java中整數常量如果不在-2147483648~2147483648之間就必須添加“L”尾碼(小寫也可以,但建議使用大寫),在-2147483648~2147483648之間的也可以添加“L”尾碼。也就是說12345678901不在-2147483648~2147483648之間,所以它在Java中是錯誤的常量,你必須這樣寫:12345678901L,這才是正確的常量。所以添加了“L”尾碼的整數常量都是long類型的,例如:100L、12345678901L都是long類型的常量。

 

浮點類型的常量也可使用尾碼,在Java中所有沒有尾碼以及使用“D”尾碼(小寫也可以,但建議使用大寫)的小數都是double類型;float類型常量必須添加“F”尾碼(小寫也可以,但建議使用大寫)java中預設的浮點類型是double類型

3.14沒有尾碼,所以它是double類型;

5.28D為double類型;

1.26F為float類型。

 

1.5  定義變數(建立變數)

定義變數的文法格式:

資料類型  變數名  =  資料值;int         a    =  100;

其中int是資料類型,指定了變數只能儲存整數,而且指定了儲存範圍為-2147483648~2147483648。

其中a表示變數名,變數名是標識符,這說明只要是合法的標識符都可以用來做變數名。在程式中可以通過變數名來操作變數(記憶體中的小盒子)。

其中“=100”是給變數賦值,即向a變數中寫入100(變數是個小盒子,現在小盒子中儲存的是100)。注意,給變數賦的值一定要與類型符合,也就是說int類型只能儲存整數,而且必須是在-2147483648~2147483648範圍內的整數。100滿足了這兩個條件,所以是正確的。

 

練習:

Variabe.java

/*變數定義格式:資料類型  變數名  =  變數值;*/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);    }}
1.6  變數使用的注意事項

我們使用變數的時候需要注意,要滿足變數的使用規則才可以使用的,我們來看看都有哪些注意事項。

l 變數使用的注意事項

l 變數定義後可以不賦值,使用時再賦值。不賦值不能使用。

public static void main(String[] args) {int x;x = 20; //為x賦值20System.out.println(x);//讀取x變數中的值,再列印}

l 變數使用時有範圍的限制。

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變數}

l 變數不可以重複定義。

public static void main(String[] args){      int x = 10;      double x = 5.5;//編譯失敗,變數重複定義}
1.7  資料類型轉換

 不同類型的變數是否可以在一起運算呢?答案是可以的,但要先進行類型轉換再運算。下面我們來學習一下類型轉換

其實,我們所學習的資料,它的表示方式是可以靈活多變的,比如把小數轉換成整數的操作

轉換的過程中,資料遵循一個原則:

範圍小的資料類型值(如byte),可以直接轉換為範圍大的資料類型值(如int);

範圍大的資料類型值(如int),不可以直接轉換為範圍小的資料類型值(如byte)

 

那麼,大家還記得每種類型表示資料的範圍嗎?忘記了不要緊,我來告訴大家,將各種資料類型按照資料範圍從小到大依次列出:

byte -> short -> int -> long -> float -> double

關於資料類型轉換有兩種方式,我們來學習一下:

l 自動類型轉換

表示範圍小的資料類型轉換成範圍大的資料類型,這種方式稱為自動類型轉換

自動類型轉換格式:

範圍大的資料類型 變數 = 範圍小的資料類型值;

如:

        double d = 1000;    或        int i = 100;        double d2 = i;

l 強制類型轉換

表示範圍大的資料類型轉換成範圍小的資料類型,這種方式稱為強制類型轉換

強制類型轉換格式:

範圍小的資料類型  變數 = (範圍小的資料類型) 範圍大的資料類型值;

如:

int  i = (int)6.718;   //i的值為6或double  d = 3.14;int  i2 = (int)d;     //i2的值為3 

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.