java 数组数据类型_java基本数据类型和数组
第一類:邏輯型boolean
第二類:文本型char
第三類:整數(shù)型(byte、short、int、long)
char類型占2個字節(jié)
short從-32768到32767
int從-2147483648,到2147483647共10位
long從-9223372036854775808到9223372036854775807共19位
第四類:浮點型(float、double)
在數(shù)學(xué)中0到1有無數(shù)個浮點數(shù);而計算機是離散的,所以表示的時候有誤差,計算機用精度(小數(shù)點后幾位來表示正確),比較浮點數(shù)時a==0.1是不合適的,應(yīng)該a-0.1==0;如果a是0.1,則即使有誤差 a-0.1==0因為a和0.1都被表示為一個有誤差的計算機二進制
數(shù)組
概念
同一種類型數(shù)據(jù)的集合。其實數(shù)組就是一個容器。
數(shù)組的好處
可以自動給數(shù)組中的元素從0開始編號,方便操作這些元素。
格式1:
元素類型[]?數(shù)組名?=?new?元素類型[元素個數(shù)或數(shù)組長度];
示例:int[]?arr?=?new?int[5];
格式2:
元素類型[]?數(shù)組名?=?new?元素類型[]{元素,元素,……};
int[]?arr?=?new?int[]{3,5,1,7};
int[]?arr?=?{3,5,1,7};
如果需要存儲大量的數(shù)據(jù),例如如果需要讀取100個數(shù),那么就需要定義100個變量,顯然重復(fù)寫100次代碼,是沒有太大意義的。如何解決這個問題,Java語言提供了數(shù)組(array)的數(shù)據(jù)結(jié)構(gòu),是一個容器可以存儲相同數(shù)據(jù)類型的元素,可以將100個數(shù)存儲到數(shù)組中。
1數(shù)組的概念
同一種類型數(shù)據(jù)的集合。其實數(shù)組就是一個容器。運算的時候有很多數(shù)據(jù)參與運算,那么首先需要做的是什么.不是如何運算而是如何保存這些數(shù)據(jù)以便于后期的運算,那么數(shù)組就是一種用于存儲數(shù)據(jù)的方式,能存數(shù)據(jù)的地方我們稱之為容器,容器里裝的東西就是數(shù)組的元素,?數(shù)組可以裝任意類型的數(shù)據(jù),雖然可以裝任意類型的數(shù)據(jù),但是定義好的數(shù)組只能裝一種元素,?也就是數(shù)組一旦定義,那么里邊存儲的數(shù)據(jù)類型也就確定了。
2?數(shù)組的好處
存數(shù)據(jù)和不存數(shù)據(jù)有什么區(qū)別嗎?數(shù)組的最大好處就是能都給存儲進來的元素自動進行編號.?注意編號是從0開始。方便操作這些數(shù)據(jù)。
例如?學(xué)生的編號,使用學(xué)號就可以找到對應(yīng)的學(xué)生。
3數(shù)組的格式
元素類型[]?數(shù)組名?=?new?元素類型[元素個數(shù)或數(shù)組長度];
示例:int[]?arr?=?new?int[5];
案例:
需求:?想定義一個可以存儲3個整數(shù)的容器
實現(xiàn):
1聲明數(shù)組變量
為了使用數(shù)組必須在程序中聲明數(shù)組,并指定數(shù)組的元素類型
=左半部分:
先寫左邊明確了元素類型?是int?,容器使用數(shù)組,那么如何來標識數(shù)組?.那么用一個特殊的符號[]中括號來表示。想要使用數(shù)組是需要給數(shù)組起一個名字的,那么我們在這里給這個數(shù)組起名字為x?.接著跟上等號。
代碼體現(xiàn):
int?[]?x
注意:int?x[]?也是一種創(chuàng)建數(shù)組的格式。推薦使用int?[]?x?的形式聲明數(shù)組。
2創(chuàng)建數(shù)組
=右半部分:
要使用一個新的關(guān)鍵字.叫做new。new?用來在內(nèi)存中產(chǎn)生一個容器實體,數(shù)據(jù)要存儲是需要有空間的,存儲很多數(shù)據(jù)的空間用new?操作符來開辟,new?int[3];?這個3是元素的個數(shù)。右邊這部分就是在內(nèi)存中定義了一個真實存在的數(shù)組,能存儲3個元素。
new?int[3]?做了兩件事情,首先使用new?int[3]?創(chuàng)建了一個數(shù)組,然后把這個數(shù)組的引用賦值給數(shù)組變量x。
int?[]?x=new?int[3];
x?是什么類型?
任何一個變量都得有自己的數(shù)據(jù)類型。注意這個x?不是int?類型的?。int?代表的是容器里邊元素的類型。那么x?是數(shù)組類型的。
數(shù)組是一種單獨的數(shù)據(jù)類型。數(shù)據(jù)類型分為2大派,分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型。?第二大派是引用數(shù)據(jù)類型。那么大家現(xiàn)在已經(jīng)接觸到了引用數(shù)據(jù)類型三種當中的一種。就是數(shù)組類型?[]?中括號就代表數(shù)組。
4、int[]?arr?=?new?int[5];在內(nèi)存中發(fā)生了什么?
內(nèi)存任何一個程序,運行的時候都需要在內(nèi)存中開辟空間.int[]?arr?=?new?int[5];?這個程序在內(nèi)存中是什么樣?這就涉及到了java虛擬機在執(zhí)行程序時所開辟的空間,那么java開辟啟動了多少空間呢?繼續(xù)學(xué)習(xí)java的內(nèi)存結(jié)構(gòu)。
數(shù)組的定義
格式1:
元素類型[]?數(shù)組名?=?new?元素類型[元素個數(shù)或數(shù)組長度];
示例:int[]?arr?=?new?int[5];
格式2:
元素類型[]?數(shù)組名?=?new?元素類型[]{元素,元素,……};
int[]?arr?=?new?int[]{3,5,1,7};
int[]?arr?=?{3,5,1,7};
注意:給數(shù)組分配空間時,必須指定數(shù)組能夠存儲的元素個數(shù)來確定數(shù)組大小。創(chuàng)建數(shù)組之后不能修改數(shù)組的大小。可以使用length?屬性獲取數(shù)組的大小。
遍歷數(shù)組
數(shù)組初始化
數(shù)組的格式
int[]?x?=?new?int[3];
x[0]?=?1;
x[1]?=?2;
另一種定義:該形式可以直接明確數(shù)組的長度,以及數(shù)組中元素的內(nèi)容
int[]?x?=?{?1,?2,?3?};
int[]?x=new?int[]{1,2,3};
初始化方式1:不使用運算符new
int[]?arr?=?{?1,?2,?3,?4,?5?};
int[]?arr2?=?new?int[]?{?1,?2,?3,?4,?5?};
初始化方式2:
int[]?arr3=new?int[3];
arr3[0]=1;
arr3[1]=5;
arr3[2]=6;
如果數(shù)組初始化中不使用運算符new。需要注意:下列寫法是錯誤的。
int[]?arr;
arr={1,2,3,4,5};
此時初始化數(shù)組,必須將聲明,創(chuàng)建,初始化都放在一條語句中個,分開會產(chǎn)生語法錯誤。
所以只能如下寫:
int[]?arr={1,2,3,4,5};
數(shù)組遍歷
public?static?void?main(String[]?args)?{
int[]?x?=?{?1,?2,?3?};
for?(int?y?=?0;?y?
System.out.println(x[y]);
//?System.out.println("x["+y+"]="+x[y]);?打印效果?x[0]=1;
}?//?那么這就是數(shù)組的第一個常見操作.遍歷
}
數(shù)組中有一個屬性可以獲取到數(shù)組中元素的個數(shù),也就是數(shù)組的長度.?數(shù)組名.length
public?static?void?main(String[]?args)?{
int[]?x?=?{?1,?2,?3?};
for?(int?y?=?0;?y?
System.out.println(x[y]);
//?System.out.println("x["+y+"]="+x[y]);?打印效果?x[0]=1;
}?//?那么這就是數(shù)組的第一個常見操作.遍歷
}
數(shù)組的常見異常
數(shù)組中最常見的問題:
1. NullPointerException 空指針異常
原因: 引用類型變量沒有指向任何對象,而訪問了對象的屬性或者是調(diào)用了對象的方法。\
2. ArrayIndexOutOfBoundsException 索引值越界。
原因:訪問了不存在的索引值。
一數(shù)組角標越界異常:,注意:數(shù)組的角標從0開始。
public?static?void?main(String[]?args)?{
int[]?x?=?{?1,?2,?3?};
System.out.println(x[3]);
//java.lang.ArrayIndexOutOfBoundsException
}
二?空指針異常:
public?static?void?main(String[]?args)?{
int[]?x?=?{?1,?2,?3?};
x?=?null;
System.out.println(x[1]);
//?java.lang.NullPointerException
}
數(shù)組:
什么時候使用數(shù)組:當元素較多時為了方便操作這些數(shù)組,會先進行來臨時存儲,所使用的容器就是數(shù)組。
特點:
數(shù)組長度是固定的。
數(shù)組的內(nèi)存分析
二維數(shù)組
Arrays的使用
遍歷:?toString()????將數(shù)組的元素以字符串的形式返回
排序:?sort()????????將數(shù)組按照升序排列
查找:?binarySearch()在指定數(shù)組中查找指定元素,返回元素的索引,如果沒有找到返回(-插入點-1)?注意:使用查找的功能的時候,數(shù)組一定要先排序。
二維數(shù)組:實質(zhì)就是存儲是一維數(shù)組。
數(shù)組定義:
數(shù)組類型[][]?數(shù)組名?=?new?數(shù)組類型[一維數(shù)組的個數(shù)][每一個一維數(shù)組中元素的個數(shù)];
疑問:?為什么a.length?=?3,?a[0].length?=?4?
數(shù)組的初始化:
靜態(tài)初始化:
int?[][]?a?=?new?int[][]{?{12,34,45,89},{34,56,78,10},{1,3,6,4}?};
動態(tài)初始化:
文章內(nèi)容為轉(zhuǎn)載
總結(jié)
以上是生活随笔為你收集整理的java 数组数据类型_java基本数据类型和数组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微弱信号检测_机动车检测线常用传感器介绍
- 下一篇: 网站建设中 模板_网站建设之模板网站的缺