日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java: 数据类型

發布時間:2025/4/16 java 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java: 数据类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

? ? ? ? ? ? ? ? ? ??

核心:對事物的某種規范

? 前提:

1.JAVA:JAVA程序的運行是以堆棧的操作來完成的

??? ??堆棧以幀為單位保存線程的狀態。

??? ? JVM對堆棧只進行兩種操作:以幀為單位的壓棧和出棧操作。

理解:

2.數據類型:描述內存的一種機制(對內存位置的一個抽象表達方式

????

??

?

內存抽象表現形式:

1.變量:計算機存儲數據的容器

變量的要素:類型(數據類型決定了變量的大小)、名稱、存數據

?

規范:

使用:

變量的使用:

步驟:聲明、賦值、使用

??? int?? a;????? a=1;

??? 類型? 變量名??? 值

?

規則:

--變量要先賦值后使用

--變量名不能重復,不能以數字開頭,不能出現非法字符

--變量名不能是關鍵字

--變量名中只能有_和$這兩個特殊符號

--變量名中只能由_、$、字母、數字組成,不能以數字開頭

--變量名是區分大小寫的

--如果一個變量名是由兩個單詞組成的,那么第1個單詞的第1個字母小寫,第2個單詞的第1個字母大寫。

?

核心:變量是變化的

?? ???變量確定了數據類型,確定內存的大小

2.數據類型:基本類型和引用數據類型。

描述:

基本類型:簡單數據類型是不能簡化的、內置的數據類型、由編程語言本身定義,它表示了真實的數字、字符和整數。

引用數據類型:Java語言本身不支持C++中的結構(struct)或聯合(union)數據類型,它的復合數據類型一般都是通過類或接口進行構造,類提供了捆綁數據和方法的方式,同時可以針對程序外部進行信息隱藏。

?

·數據存儲的特征:

? 基本類型的變量和對象的引用變量都是在函數的棧內存中分配

?

??? 基本類型只能用來存數據, 不能用來操作判斷數據

內存的開辟:在我們定義這個變量的時候。

釋放:

?????? 當超過變量的作用域后,java會自動釋放掉為該變量分配的內存空間

??? 特征:

?????? 存取速度比堆要快,僅次于寄存器,棧數據可以共享

?????? 存在棧中的數據大小與生存期必須是確定的,缺乏靈活性

?

引用類型:引用類型繼承于Object類(也是引用類型)都是按照Java里面存儲對象的內存模型來進行數據存儲的,使用Java內存堆和內存棧來進行這種類型的數據存儲,簡單地講,“引用”是存儲在有序的內存棧上的,而對象本身的值存儲在內存堆上的;

內存在什么時候開辟:在new的時候 開辟

釋放:

數組和對象在沒有引用變量指向它的時候,才變為垃圾,不能在被使用,但仍 然占據內存空間不放,在隨后的一個不確定的時間被垃圾回收器收走

? 特點:

??? 動態地分配內存大小,生存期也不必事先告訴編譯器

??? 在運行時動態分配內存,存取速度較慢

?

類別:

?基本類型:布爾類型和數值類型

???? 數值類型:定點類型和浮點類型

?

?引用類型:類、接口、數組

?

?

?

?

概念:

定點:定點的意思是把小數點定在末尾,小數點后沒有數字的數據,Java中通常把它們稱為整數;

常量:就是直接的值;

變量:放置常量的容器,除了放置常量之外,也可以給變量一個運算式,變量中的值是可變的;

1)???? 基本類型:

>>定點類型:

byte(字節類型) 一個byte 8位,取值范圍為-128~127,占用1個字節(-2的7次方到2的7次方-1)默認是0


short(短整型) 一個short 16位,取值范圍為-32768~32767,占用2個字節(-2的15次方到2的15次方-1)默認是0


int(整型)一個int 32位,取值范圍為(-2147483648~2147483647),占用4個字節(-2的31次方到2的31次方-1)默認是0


long(長整型)?? 一個long 64位,取值范圍為(-9223372036854774808~9223372036854774807),占用8個字節(-2的63次方到2的63次方-1)默認是0L或0l推薦用大寫;

?

描述:

我們希望它是byte型的,可以在數據 后加上大寫的 B:35B,表示它是byte型的,同樣的35S表示short型,35L表示long型的,表示int我們可以什么都不用加,但是如果要表示long型 的,就一定要在數據后面加“L”。

核心:數據類型確定的時候,數據的存儲如果超出范圍會編譯出錯

?

字符類型:char

Java中一個字符(char)表示Unicode字符集中的一個元素。Unicode字符由16位組成,因此,有(65535)個不同的字符可用,范圍從’u0000’到’uFFFF’(u告訴編譯器你在用兩個字節[16位]字符信息表示一個Unicode字符)。用于存放字符的數據類型,占用2個字節,采用unicode編碼,它的前128字節編碼與ASCII兼容,字符的存儲范圍在\u0000~\uFFFF,在定義字符型的數據時候要注意加' ',比如 '1'表示字符'1'而不是數值1。

?

?

>>浮點類型:

float?(單精度浮點型)?一個float?32位,占用4個字節,?例3.2F,默認是0.0f?,?3.402823e+38?~?1.401298e-45(e+38表示是乘以10的38次方,同樣,e-45表示乘以10的負45次方)。
double?(雙精度浮點型)?一個dobule?64位??占用8個字節,?例3.2,?默認是0.0,?1.797693e+308~?4.9000000e-324?占用8個字節?

?

注:double型比float型存儲范圍更大,精度更高,所以通常的浮點型的數據在不聲明的情況下都是double型的。

?????如果要表示一個數據是float型的,可以在數據后面加上“F”。?

?????浮點型的數據是不能完全精確的,所以有的時候在計算的時候可能會在小數點最后幾位出現浮動,這是正常的。?

基本類型賦值時的特性:

1.當整數類型的數據使用字面量賦值的時候,默認值為int類型,就是直接使用0或者其他數字的時候,值的類型為int類型,

????????????所以當使用????longa?=?0這種賦值方式的時候,JVM內部存在數據轉換。

2.浮點類型的數據使用字面量賦值的時候,默認值為double類型,就是當字面兩出現的時候,JVM會使用double類型的數據類型。

3.從JDK?5.0開始,Java里面出現了自動拆箱解箱的操作,基于這點需要做一定的說明:

2)引用類型:new出來的

?? Random、Scanner、集合、數組、自己定義的類、String等

?? Student s???? =?? new Student();

??? 引用?????? 對象

?

數據交換特征:

交換的本質

??? 基本類型只在棧中開空間

??? 引用類型既要在棧中開空間也要在堆中開空間

?

·默認值:

1.變量沒有默認值 int a; System.out.print(a) //報錯

2.數組有默認值:int[] 0 double[] 0.0 char[] AscII為0的字符3.類中的

3.屬性:有默認值int 0 double 0.0 String null 自定義的類型:null

?

>>類型轉換:

類型轉換:

--自動類型轉換(將小數據放入到大空間中,自動轉換)

--強制轉換:目標類型 變量名=(目標類型)其他類型的變量

??? int a=(int)5.0;

一、自動轉換:

??? ?? 1.基本類型:類型相似? ,小的往的大

?????? ?? int a = 9;

?????? ?? double b = a;

?

?????? ?? String a ="123"

?????? ?? int? b = (int)a;錯誤

??? ? 2.引用類型:繼承關系? 子類轉父類

??? ??? 子類:小的類型

??? ??? 父類:大的類型

?

?????? Son son =new Son();

?????? Father f = son;

??? ?? 總結:父類引用指向子類對象,父類引用

??? ?? 只能調用自己的屬性和方法,不能調用子類

??? ?? 的屬性和方法(子類的特征被隱藏了)???

?

??? 二、強制轉換:???

?????????? 1.基本類型 :類型相似? 大的往小的轉

?????? double a = 9.9;

?????? int b = (int)a;? //b=9

??? ?? 2.引用類型:繼承關系? 父類轉子類

??? ???? Father f? =new Father();

??? ???? Son son = (Son)f;??

??? ?? 3.怎么樣判斷父類引用中的真實對象?

?????? instanceof

?????? Father f = new Son();

?????? System.out.println(f instanceof

?

Son);//ture

?????? System.out.println(f instanceof

?

Son1);//false

?

數據算法:

1.? 運算符:

算術運算符:

1)賦值運算符=:它的作用是將右邊的值復制一份到左邊的空間中

?

去。

2) -,*,/,%(整除取余)-,*,/:運算數據只能是數字類型

?

的。

3)?????????? >>進行數字相加

?????? 5+6==11???

?????? 1.1+2.1==3.2

?????? 3+1.5==4.5//一個窮人和一個富人的結果是富

?

?????? int t=5.5+1;//錯誤

?????? double c=5.5+2;//正確

?

??????

?????? >>+:當與字符串相加時,起連接作用

?????? "abc"+1=="abc1"

?????? "12"+3+5=="123"+5=="1235"

?????? "12"+2*3=="12"+6=="126"? 126

4)/:

?????? 5/2==2(窮人與窮人的結果還是窮人)

?????? 5.0/2==2.5(窮人與富人的結果是富人)

?????? double a=5/2;//2.0(小數據可以放入大空間

?

內)

?????? int b=5/2.0;//報錯(大數據不能放入小空間

?

內)

5)%(取模,整除取余)

?????? 5%2==1

?????? 2.2%1==0.2

表達式:運算符與數據的組合就是一個表達式

?????? a+b;

?????? int a=5;

?????? a>b;

關系運算符:主要是用來進行比較大小,或相等

?>,>=,<,<=,==,!=?

比較后的結果是:真(true),假(false)

--boolean flag=true

?

邏輯運算符:&&?? ||? !

?

優先級:

()??? !??? 算術運算符?? 關系運算符? &&?? ||??? =

?

語法結構:順序結構、條件結構、邏輯結構

條件結構:

1)? if(表達式){

??? //代碼

???? }

????

??? if(flag)

?

??? }else{

?

??? }

if-else if-...-else

嵌套條件結構:

特點:它既能做等值判斷,又可以做區間判斷

2)switch(變量){

??? case 值1:

?????? 代碼塊;

?????? break;

??? case 值2:

?????? 代碼塊

?????? break;

??? case 值3:

?????? 代碼塊;

?????? break;

??? default:

?????? 代碼塊;

?????? break;

?

}

?

循環結構:

要素: 循環變量初始化、條件判斷、循環體內改變循環變量。

特征:重復著做相同或相似的事,并且有變化的地方一定要有規律

?

,否則不能使用循環。

?

一,while循環

??? 循環變量初始化

??? while(條件判斷){

?????? 循環體;

?????? 循環體內改變循環變量;

??? }

?

二,do-while循環

??? do{

?????? 循環體;

?????? 循環體內改變循環變量;

??? }while(條件判斷);

?

如果第條件滿足時,while和do-while執行的結果是一樣的

但如果條件不滿足時,while一次都不會執行,而do-while至少會

?

執行一次

?

while和do-while適合做無限次數的循環

?

三,for循環

??? for(循環變量初始化;條件判斷;循環體內改變循環變

?

量){

?????? 循環體;

??? }

???

for適合做有限次數的循環

?

前提:在循環中

break中斷循環

break一般都是和if一起來使用

?

continue關鍵字的使用

繼續:中止本次循環體的執行,繼續下一次循環

在使用時,一般都要和if結構一起使用。否則沒有意義。

?

int b=a++;++放在后面,表示先使用a的值,a再加1

int d=++c;++放在前面,表示先將c+1,再將值賦給d

轉義字符:

Java中的常用轉義字符見表2-1

?

?

?

特點:只能做等值判斷,它不能做區間判斷

????? 探測類型:int char

\r?? :回車

\n?? :換行

\t?? :TAB鍵

\t?? \n的用法:只可以在雙引號中出現

?

\t??? 主要作用對齊格式?? tab?? 8字符寬度

轉載于:https://my.oschina.net/wii01/blog/983642

總結

以上是生活随笔為你收集整理的Java: 数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。