Java Web 學習筆記 第三章 java基礎(一)

來源:互聯網
上載者:User

標籤:相容   參考   極客   unicode   基礎資料型別 (Elementary Data Type)   list   最小   小數   補碼   

第三章   java基礎一、 電腦進位轉換:二進位、八進位、十進位、十六進位互轉

電腦系統數制概述

    • 數制是一組固定的符號和統一的規劃來表示數值的方法;
    • 電腦底層使用的數制是二進位;
    • 用Java編程實用的是十進位。Java底層仍使用二進位;
    • 電腦常用的數制還有八進位和十六進位;

十進位的基本數字0~9,逢十進位。

10稱做“基數”,10^n(10的n次冪)被稱作“權”。

二進位的基本數字是0、1,逢2進位。

二進位的基數為2,權為2^n(2的n次方)。

十六進位基本數字:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,逢十六進位

十六進位是二進位的簡寫,方便專業人員書寫位元據。

16進位的基數是16,權為16^n(16的n次方)

在Java代碼中十六進位用0X或0x做首碼(0是數字,不是字母)。

樣本:5E十六進位=5*16^1+14*16^0 = 80+14 =94;

二進位轉換成十六進位 規則: 四位位元相當於一位十六進位數。

十進位數轉換二進位:規則:不斷除以2,保留餘數,商為0時不再除2.

十進位數轉換十六進位:規則: 不斷除以16,保留餘數,商為0時不再除16.

二、變數與資料類型1、概述

Java 定義了基礎資料型別 (Elementary Data Type)、引用資料類型和自訂資料類型;

2、棧空間
    • 棧空間存取資料的效率高;
    • 棧中的資料按“先進後出”的方式管理;
    • 棧空間儲存空間較小,不能存放大量的資料;
    • JMV將基礎資料類型的資料存放在棧空間;

3、堆空間
    • 堆空間存取資料的效率最低;
    • 資料存放的位置隨機分配;
    • 堆空間儲存資料的空間大,能存放大容量的資料;

 

三、變數的定義和變數使用的原因

變數:可變的量;

常量:不可變的量;

字面量:Java的變數和常量中存放的具體資料成為字面量;

電腦的進階語言普遍使用變數來管理記憶體中儲存的資料。

變數管理參考型別的資料:

四、變數的命名、定義和初始化1、變數的命名
    • 首字母是英文字母、$或底線,由字母、數字、底線組成;
    • 變數的命名遵循見名知義的原則。
    • Java變數名建議不用中文。
    • 變數名首字母不用大寫字母。
    • 用駝峰命名法命名多個單片語成的變數名。eg:sumScore
    • 變數名不要使用Java關鍵字。
2、變數的定義

定義變數:每個變數必需屬於一種類型。

類型  變數名1,變數2,…,變數n;

e.g: byte score; //儲存單科分數

short age; //儲存年齡

int sumScore; //儲存總分

3、變數的初始化

賦值 = 

e.g:  age = 18;

score = 60;

sumScore = 600;

五、變數的範圍

1、java用一對大括弧作為語句塊的範圍,稱為範圍。

2、範圍中的變數不能重複定義。

3、離開範圍,變數所分配的記憶體空間將為JVM回收。

六、基礎資料類型的封裝類

Java為基礎資料類型提供了對應的類,這些類稱作封裝類,如

1、封裝類中封裝了一些很實用的方法和常量。例如:Byte.MIN_VALUE是Byte類中的一個常量,存放了byte類型資料的最小值。

2、封裝類在集合中用來自訂集合元素的類型。

3、使用封裝類

Integer.MIN_VALUE: int類型的最小值:-2^31

Integer.MAX_VALUE: int類型的最大值:2^31-1

int Integer.parseInt(String sInteger);

作用:將字串類型的整數轉換為int類型的資料。

String Integer.toBinaryString(int value);

作用:將十進位數轉化為二進位,返回結果String類型。

String Integer.toHexString(int value);

作用:將十進位數轉換為十六進位,返回結果String類型。

七、二進位補碼1、概述

電腦系統的內部一二進位形式儲存資料。

在Java程式中輸入的十進位的資料都會被自動轉換為二進位,Java內部也以二進位來進行數值運算,但返回的結果是是進位。

2、補碼規則
    • 在電腦系統中,數值一律用二進位的補碼來儲存。
    • 二進位的最高位是符號位,0表示正數,1表示負數。
    • 正數的值是其本身,負數的值是最高位(符號位)不變,其它位逐位取反,再加1.  
    • 兩數相加,若最高位(符號位)有進位,則進位被捨棄。
3、為什麼使用補碼
    • 可以將符號位和其他位統一處理。
    • 最高位不再表示數值,而是作為符號位,正好將數值折半,即一半是0至正數,一半是負數。eg :4位 位元共有16個數,用補碼錶示,則一半是0~7,一半是-1~-8. 8位 位元共有256個數,用補碼錶示,則一半是0~127,一半是-1~-128.
    • 減法也可按加法來處理。
4、補碼運算的特徵
    • 電腦中正數和負數的關係是取反加一。
    • 補碼運算是封閉的:運算結果保留在補碼範圍之內,超範圍就溢出。
    • 4位二進位補碼最多能表示2^4(16)個數,數的範圍是-8~7.
    • 8位二進位補碼最多能表示2^8(256)個數,數的範圍是-128~127.
    • 16位二進位補碼最多能表示2^16(65536)個數,數的範圍是-32768~32767.
    • 32位二進位補碼最多能表示2^32個數,數的範圍是-2^31~2^31-1.
5、補碼運算的原理

正數+負數 = 模

模:某種類型資料的總數,例如:

4位二進位的模是2^4=16

因此,負數=模-正數,這就是逐位取反加1的原因。

八、整數、浮點、字元類型1、整數類型
    • Java有四種整數類型:byte、short、int、long。
    • Java預設整數計算的結果是int類型。
    • 整數的字面量是int類型。
    • 若字面量超過int類型的最大值,則字面量是long類型,那麼後面要用L(或l)表示該值是long類型。eg: long longValue = 300000000L  
2、浮點類型
    • 浮點類型用於表示小數的資料類型。
    • 浮點數原理:也就是二進位科學計數法。
    • Java的浮點類型有float和double兩種。
    • Java預設浮點類型計算的結果是double類型,字面量也是double類型。若要給float類型的變數賦字面量的值,則要在字面量後面加F(或f)。eg : float f=5.3;將會出現編譯錯誤,正確的賦值是:float f=5.3f;

浮點數科學計演算法:

    • 十進位浮點數科學計數法:219345=2.19345*(10^5)
    • 二進位浮點數科學計數法:10111=1.0111*(2^100)

float類型:

    • float類型共32位,1位為符號位,指數8位,為數32位。
    • float的精度是23位(即能精確表示23位的數,超過就被截取了)。小數是以尾數長度來表示精確度的,比如pi=3.1415的精度是4位。
    • float儲存資料的範圍大於int類型,但精度比int要小,因為int的精度是31位。

double類型

    • double類型,1位符號位,11位指數,52位尾數。
    • double範圍遠遠大於long,但double精度不如long(long儲存資料的位元是63位)。

浮點運算的特點:

浮點運算就是實數運算,由於電腦智能儲存整數,所以實數都是約數,這樣浮點運算是很慢的而且會有誤差。

3、字元類型
    • char類型的字面量可以是一個英文字母、字元或者一個漢字,並且由單引號包括。eg:’A’.
    • Java底層使用一個16位的整數來處理字元類型,該數值是一個字元的unicode編碼值。

unicode編碼:

    • unicode編碼是全球範圍內的編碼方法。
    • unicode編碼的英文部分與ASCII碼相容(ASCII表示範圍0~128),同時英文字元和數字是連續編碼的。
    • Java在處理char類型的資料時,在底層是按unicode碼來處理的。

編碼:

電腦硬體系統智能用0和1表示數,我們人為地做了規定,某個數還可以表示一個字元。eg:65表示A。

 

 

參考:極客學院課程 http://ke.jikexueyuan.com/zhiye/javaweb/

Java Web 學習筆記 第三章 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.