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