欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java基本數(shù)據(jù)類(lèi)型與類(lèi)型轉(zhuǎn)換實(shí)例分析

 更新時(shí)間:2020年04月20日 09:10:50   作者:隨風(fēng)行云  
這篇文章主要介紹了Java基本數(shù)據(jù)類(lèi)型與類(lèi)型轉(zhuǎn)換,結(jié)合實(shí)例形式分析了Java基本數(shù)據(jù)類(lèi)型分類(lèi)、用法,類(lèi)型轉(zhuǎn)換及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Java基本數(shù)據(jù)類(lèi)型與類(lèi)型轉(zhuǎn)換。分享給大家供大家參考,具體如下:

相關(guān)內(nèi)容:

  • 基本數(shù)據(jù)類(lèi)型
    • 整型
    • 浮點(diǎn)型
    • 字符型
    • 布爾型
  • 數(shù)據(jù)類(lèi)型轉(zhuǎn)換
  • 數(shù)組

首發(fā)時(shí)間:2017-06-22 21:18

修改時(shí)間:

  1. 2018-03-16 15:40  :修改了一下文字布局和樣式,增加了“相關(guān)內(nèi)容”,修改了標(biāo)題,增加了數(shù)組

數(shù)據(jù)類(lèi)型

Java語(yǔ)言是強(qiáng)類(lèi)型語(yǔ)言,對(duì)于每一種數(shù)據(jù)都定義了明確的具體數(shù)據(jù)類(lèi)型,在內(nèi)存總分配了不同大小的內(nèi)存空間

image_594bbbc5_358b_thumb[1]

image_594bbbc5_3429_thumb 注意:

  • 整數(shù)默認(rèn)類(lèi)型為:int,所以 1 2 3 int型,而非byte
  • 小數(shù)默認(rèn)類(lèi)型為:double
  • 舉個(gè)例子--
  • image_594bbd67_5d2e_thumb[1]

整型:

整型的數(shù)據(jù)類(lèi)型包括: byte,short,int,long

他們的大小范圍如下:

image_thumb[1]

  • byte

    • byte共占8個(gè)bit,表示256個(gè)數(shù)(28)。
    • 最大值為01111111,轉(zhuǎn)成十進(jìn)制為127
    • 最小值為10000000,1是符號(hào)位,表示負(fù)數(shù),轉(zhuǎn)成十進(jìn)制為128。所以最小值為-128
    • 對(duì)byte類(lèi)型進(jìn)行數(shù)學(xué)運(yùn)算時(shí),會(huì)自動(dòng)提升為int類(lèi)型,如果表達(dá)式中有double或者float等類(lèi)型,也是自動(dòng)提升。
      • byte s1 = 100; 
      • byte s2 = 'a'; 
      • byte sum = s1 + s2;//錯(cuò)誤 --》因?yàn)樽兂蒳nt了,不能直接將一個(gè)int賦值給一個(gè)byte
  • short

    • short類(lèi)型參與運(yùn)算的時(shí)候,一樣被提升為int或者更高的類(lèi)型。
  • int

    • 整數(shù)默認(rèn)類(lèi)型為:int
  • long

    • 在表示long類(lèi)型的值時(shí),需要在數(shù)值末尾加上l或L,建議是L,因?yàn)閘難認(rèn)
    • long比int大,有l(wèi)ong則計(jì)算提升為long

浮點(diǎn)型:

浮點(diǎn)型的數(shù)據(jù)類(lèi)型包括:float,double

他們的大小范圍如下:

image_thumb[3]

  • float:

    • 給float賦值要加上f,如float=10.2f;否則會(huì)失敗,因?yàn)槟J(rèn)是double,會(huì)有精度損失
  • double:

    • 浮點(diǎn)數(shù)默認(rèn)類(lèi)型為double

  • 特殊浮點(diǎn)值:

    • POSITIVE_INFINITY:表示正無(wú)窮

    • NEGATIVE_INFINITY:表示負(fù)無(wú)窮

    • NaN:表示非數(shù)值

    • 所有的正無(wú)窮大數(shù)值都是相等的,所有的負(fù)無(wú)窮大數(shù)值都是相等的;而NaN不與任何數(shù)值相等,NaN之間也不相等。

    • 只有浮點(diǎn)數(shù)除以0才可以得到正無(wú)窮或負(fù)無(wú)窮,整數(shù)是除零異常


字符型:

字符類(lèi)型的數(shù)據(jù)類(lèi)型有char

  • char的字符編碼是Unicode編碼,所以char支持中文。 image

布爾型:

布爾類(lèi)型的數(shù)據(jù)類(lèi)型為boolean

boolean只有兩個(gè)值:true,false

注意:

不使用--不出現(xiàn)不初始化,使用--必須初始化,true/false

boolean的值只占一個(gè)字節(jié)。

boolean只有true和false

賦值:boolean b =true


類(lèi)型轉(zhuǎn)換:

運(yùn)算中,不同類(lèi)型的數(shù)據(jù)先轉(zhuǎn)化為同一類(lèi)型,然后進(jìn)行運(yùn)算

有自動(dòng)類(lèi)型轉(zhuǎn)換和強(qiáng)制類(lèi)型轉(zhuǎn)換:

自動(dòng)類(lèi)型轉(zhuǎn)換如byte+long的結(jié)果自動(dòng)是long

強(qiáng)制類(lèi)型轉(zhuǎn)換是把其他類(lèi)型的結(jié)果轉(zhuǎn)換成目標(biāo)類(lèi)型如byte b=(byte)600;

轉(zhuǎn)換規(guī)則:

 

1.即使是同類(lèi)型計(jì)算,在運(yùn)算中byte ,short,char也要先轉(zhuǎn)化為int型

byte b1=3,b2=4,b;

b=b1+b2;

b=3+4;

哪句是編譯失敗的呢?為什么呢?

answer:b=b1+b2 ,因?yàn)閮蓚€(gè)byte變量的運(yùn)算也會(huì)轉(zhuǎn)成int的運(yùn)算,所以b1+b2的結(jié)果是一個(gè)int

image_594bc1cc_20a8_thumb[1]

2.轉(zhuǎn)換規(guī)則:

image_thumb[9]

3.

image_594bc11d_2ebc_thumb

image_594bc11d_33c0_thumb[1]

對(duì)于A中,可認(rèn)為在“普通數(shù)字”計(jì)算過(guò)程中先計(jì)算得出結(jié)果,再分析是否是byte的范圍,如果不是,賦值失敗,提示出錯(cuò),如果是就不提示,賦值成功。

令byte b=256;(已知b=20編譯通過(guò))image_594bc1f3_6fd4_thumb[1]

注意:+=,++能夠自動(dòng)轉(zhuǎn)換

4.

1. System.out.println(‘a(chǎn)')System.out.println('a'+1) 的區(qū)別。

image_594bc18c_7912_thumbimage_594bc18c_46c8_thumb[1]

5.

強(qiáng)制轉(zhuǎn)化可以解決精度損失提醒但無(wú)法避免精度損失。(數(shù)值取值原理同溢出原理)

image_594bc225_639e_thumb[1]


數(shù)組:

  • 數(shù)組是相同類(lèi)型的變量按照順序組成的一種復(fù)合數(shù)據(jù)類(lèi)型
  • 數(shù)組屬于引用型變量。
  • 數(shù)組的聲明:

    • 數(shù)組的元素類(lèi)型 數(shù)組名[];
    • 數(shù)組的元素類(lèi)型[]  數(shù)組名;
    • 二維數(shù)組的聲明:數(shù)組的元素類(lèi)型[][]  數(shù)組名;
    • java不允許在聲明數(shù)組中的方括號(hào)內(nèi)指定數(shù)組元素的個(gè)數(shù),錯(cuò)誤情況:image
  • 數(shù)組的元素定義【聲明僅僅是聲明,并沒(méi)有創(chuàng)建內(nèi)存空間,實(shí)際的元素還沒(méi)有存在。】:

    • 數(shù)組名=new 數(shù)組的元素類(lèi)型[元素個(gè)數(shù)]image
    • 聲明的同時(shí)也可以創(chuàng)建數(shù)組:image
    • 也可以利用賦值來(lái)創(chuàng)建數(shù)組:image
    • 但int [] arr =new int [3]{1,2,3} 是非法的。
    • 二維數(shù)組:imageimage
  • 數(shù)組的初始化:

    • 數(shù)組的初始化可以由指定的值初始化,image
    • 但只指定數(shù)組的大小,而不指定值的時(shí)候,采用默認(rèn)初始化:
      • 整數(shù)類(lèi)型的數(shù)組默認(rèn)元素初始值為0
      • 浮點(diǎn)類(lèi)型的數(shù)組的元素初始值為0.0
      • 字符類(lèi)型的數(shù)組的元素初始值是空字符
      • 布爾類(lèi)型的數(shù)組的元素初始值是false
      • 引用類(lèi)型的數(shù)組的元素初始值是null
  • 數(shù)組元素的使用:

    • 可以通過(guò)索引來(lái)取得數(shù)組元素:image

    • 可以使用.length獲取數(shù)組的長(zhǎng)度:image

補(bǔ)充:

  • 二維數(shù)組中的一維數(shù)組長(zhǎng)度可以不一樣:
    • image
  • java提供的Arrays類(lèi)包含了一些static方法能直接操作數(shù)組:
    • 比如Arrays.toString(數(shù)組):能將數(shù)組的元素轉(zhuǎn)成一串字符串
    • Arrays.fill(數(shù)組,value):把數(shù)組的所有元素都賦值為value
    • Arrays.sort(數(shù)組):對(duì)數(shù)組的元素進(jìn)行排序
    • ....其他

更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論