• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • Java教程
    Java標識符與關鍵字
    Java變量
    Java數據類型
    Java運算符
    Java控制語句
    Java方法
    Java面向對象
    Java對象的創建和使用
    Java封裝
    Java中static和this
    Java繼承
    Java方法覆蓋和多態
    Java super
    Java基礎練習題

    Java的數據類型介紹

     

     

    本章節目標:

     

    理解數據類型的作用。Java中包括哪些數據類型?常見的八種基本數據類型都有哪些?會用八種基本數據類型聲明變量?什么是二進制?原碼反碼補碼是什么?什么是字節?byte類型取值范圍?什么是字符編碼方式?每種數據類型在使用時的注意事項?基本數據類型之間的轉換?

     

     

    知識框架:

     

     

     

    Java的數據類型概述

     

    幾乎所有的編程語言中都會有數據類型,什么是數據類型呢?軟件的存在主要是進行數據的處理,現實生活中的數據會有很多,所以編程語言對其進行了分門別類,然后不同的數據類型的數據會給其分配不同大小的空間進行存儲。換句話說,java中的數據類型作用就是指導java虛擬機在程序運行階段到底應該給該變量分配多大的內存空間。

     

     

    Java中的數據類型包括兩種,分別是:

     

    ● 基本數據類型

     

    ● 引用數據類型

     

     

    Java中的基本數據類型又包括四類8種:

     

    ● 整數型(不帶小數的數字):byte,short,int,long

     

    ● 浮點型(帶小數的數字):float,double

     

    ● 字符型(文字,單個字符):char

     

    ● 布爾型(真和假):boolean

     

    java中除了以上的8種基本數據類型之外,其它的數據類型均屬于引用數據類型,也就是說字符串在java中不屬于基本數據類型,而屬于引用數據類型。請看八種基本數據類型對照表:

     

       數據類型         

    占用bit位

    取值范圍

    缺省默認值

    byte(字節型)

    1

    [-128~127]

    0

    short(短整型)

    2

    [-32768~32767]

    0

    int(整型)

    4

    [-2147483648~2147483647]

    0

    long(長整型)

    8

     

    0L

    float(單精度)

    4

     

    0.0f

    double(雙精度)

    8

     

    0.0

    boolean(布爾型)

    1

    true、false

    false

    char(字符型)

    2

    [0~65535]

    ‘\u0000’

     

    接下來我們普及一下計算機基本知識,計算機在任何情況下都只能識別二進制,因為計算機畢竟是一臺通電的機器,電流只有正極、負極,所以只能表示兩種情況,也就是1和0。什么是二進制呢?滿2進一位,請看對照表

     

    十進制

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    二進制

    0

    1

    10

    11

    100

    101

    110

    111

    1000

    1001

    1010

    1011

     

     

    十進制和二進制之間的轉換規則:

     

    ● 十進制轉換成二進制:比方說十進制數65轉換成二進制代碼,我們可以使用短除法,65對2整除商32余數為1,把1寫在旁邊,接著32對2整除商16余數為0,把0寫在旁邊,用16整除2商0余數為0,把0寫在旁邊,這樣進行下去直至商為0時為止。然后把余數逆序排列就得到了65的二進制代碼。

     

    ● 二進制轉換成十進制:比方說二進制代碼為1000001的十進制數是多少呢?可以采用按權相加的方法,對于二進制代碼1000001首先從右邊第一位起對應2的零次方,第二位對應2的一次方,以此類推,把相應的數位與權值相乘得到的積相加即可,即2^0*1+0*2^1+0*2^2+0*2^3+0*2^4+0*2^5+1*2^6=65

     

    接下來我們來看一下byte類型的取值范圍:首先byte屬于字節型,占用空間大小是1個字節byte,1個byte是8個bit位,二進制位中的一個1或者一個0就是一個bit位,而java中的數字有正負之分,二進制位中最左邊的數字表示符號位,0表示正數,1表示負數,所以byte類型最大值是:01111111,將這個二進制位轉換為十進制是:127。byte類型最小值是-128,也就是說1個字節可以表示256種不同形式。另外還需要給大家普及一下計算機的容量換算單位:

     

    1byte = 8bit

     

    1KB = 1024byte

     

    1MB = 1024KB

     

    1GB = 1024MB

     

    1TB = 1024GB

     

    對于以上的八種基本數據類型來說,其中七種類型byte,short,int,long,float,double,boolean計算機表示起來是很容易的,因為這七種類型底層直接就是數字,十進制的數字和二進制之間有固定的轉換規則,其中boolean類型只有true和false,而true底層實際上是1,false底層實際上是0。除了以上的七種數據類型之外,還有一種類型叫做字符型char,這個對于計算機來說表示起來就不是那么容易了,因為字符畢竟是現實世界當中的文字,計算機是如何表示文字的呢?

     

    起初的計算機實際上只支持數字的,因為計算機起初就是為了科學計算,隨著計算機的發展,為了讓計算機起到更大的作用,因此我們需要讓計算機支持現實世界當中的文字,這個時候某個標準協會就制定了字符編碼(字符集),字符編碼就是一張對照表,在這個對照表上描述了某個文字與二進制之間的轉換關系。

     

    最初的時候美國標準協會制定了ASCII碼,ASCII碼采用1個字節編碼,大家是否還記得1個字節可以表示256種不同的形式,對于美國來說這個足夠了,因為英文單詞就是由26個英文字母拼湊而成,大小寫全部才52個,再加上標點符號也不會超過256個。ASCII碼中規定’a’對應97,’b’對應98,以此類推,’A’對應65,’B’對應66,以此類推,’0’字符對應48,’1’字符對應49,以此類推,這些常見的編碼還是需要大家記住的。

     

    什么是編碼?什么是解碼?我們拿’a’來解釋:

     

    ● ‘a’ ----(以ASCII字符集進行編碼)----> 01100001

     

    ● 01100001----(以ASCII字符集進行解碼)----> ‘a’

     

    大家一定要注意:編碼和解碼要采用同一種字符編碼方式(要采用同一個對照表),不然會出現亂碼。

     

    隨著計算機的不斷發展,為了讓計算機支持更多國家的語言,國際標準組織又制定了ISO-8859-1字符集,又被稱為latin-1,向上兼容ASCII碼,仍不支持中文,主要支持西歐語言。

     

    當計算機發展到亞洲的時候,計算機開始支持簡體中文、繁體中文、日本語、朝鮮語等,其中支持簡體中文的字符集包括:GB2312 < GBK < GB18030,它們的容量大小不同。支持繁體中文的大五碼Big5等。

     

    后來,國際組織制定了一種字符編碼方式,叫做Unicode編碼,這種編碼方式統一了全球所有國家的文字,具體的實現包括:UTF-8,UTF-16,UTF-32等。

     

    java為了國際化,為了支持所有國家的語言,所以java采用的編碼方式為Unicode編碼。例如’中’對應的Unicode碼是’\u4e2d’。在實際開發中幾乎所有的團隊都會使用Unicode編碼方式,因為這種方式更通用,兼容性更好。

     

    全部教程
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏